记录我的 五子棋项目开发历程:
1.初始化游戏窗口:
这一步可以说非常容易,只需利用好printf(scanf)或者cout(cin)即可完成。
void Interfaceprint()
{
cout << endl << endl << endl << endl;
cout << " ****************************************" << endl;
cout << " * 1.单机模式 *" << endl;
cout << " * 2.联网模式 *" << endl;
cout << " * 3. 退出 *" << endl;
cout << " * 4. 帮助 *" << endl;
cout << " ****************************************" << endl;
cout << " 请输入您的选项:";
Interface(); //调用函数,对用户输入的选项经行操作
}
测试一下看看:
2.对用户输入的选项进行相应的输出:我们为用户提供了四个选项,但目前我的水平无法实现联网模式,所以这里对选项2进行简单处理即可。
这里的内容也不太复杂,但是用到了较多的库函数,可能不太容易理解:
1.当我们执行完初始化界面之后我们进入这个函数体若用户输入1,则直接利用goto语句跳到begin,执行break,跳出循环,执行其余操作。
2.若用户输入2,我们则利用MessgaeBox输出一个文本框提示用户我们暂未开发这项功能,MessageBox这个关键字包含在<windows.h>这个头文件当中,它的具体使用格式便是【MessgaeBox(句柄,显示内容,标题,MB_OK)】。
3.当用户输入3的时候我们则利用exit(0),关闭所有正在运行中的文件,终止正在进行中的程序,它包含在<stdlib.h>这个头文件中。
4.最后一个选项,即游戏规则等提示内容,我这里直接用MessageBox输出了一个文本框,比较简易的实现了这个功能,如果要添加更多的内容,使用输出函数即可实现。
void Interface()
{
int n;
while (1)
{
cin >> n;
switch (n)
{
case 1:goto begin;
case 2:MessageBox(NULL, "此功能目前还未开发,请耐心等待", "提示",MB_OK); system("cls"); Interfaceprint(); goto begin;
case 3:exit(0); break;
case 4:MessageBox(NULL, "五子连珠即可胜利,不需要过多解释吧!", "提示", MB_OK); system("cls"); Interfaceprint(); goto begin;
}
begin:
break;
}
}
同样来测试一下:(输入1,和输入3后面会测试到)
输入2: 输入4:
3.接下来比较重要的一个环节,制作对局环境,即初始化游戏界面:
1.用initgraph绘制一个长度和宽度均为600的游戏界面,initgraph这个关键字包含在<graphics.h>这个头文件中但一般编译器不会附带这个图形库,需要我们自行安装(这个环节所要要到的大多数关键字均包含在图形库中)。
2.我们利用loadimage为我们的游戏贴上一个我们比较满意的背景图片,提升我们的游戏体验,具体格式:loadimage(NULL,"图片名称"),这里的图片格式严格为jpg。
3.利用mciSendString为我们的对局添加背景音乐,同样也是为了提升游戏体验,但这个关键字使用前必须要声明他的头文件#include <mmsystem.h>#pragma comment(lib,"winmm.lib"),这是一个多媒体播放的头文件,具体格式为mciSendString("open/play 音乐名 alias music",0,0,0),这里open和play我们见名知意,alias即为对这个音乐起个别名,相当于typedef,我们在以后若要修改音乐我们只需要改一个地方即可。
4.接下来我们便绘制棋盘,setlinecolor(BLACK),即用到黑色的线条,如想要修改颜色,修改括号中的英语单词即可。
5.在棋盘空白位置输出提示,(我的部分功能还未开发,暂时只是一个提示而已)
同样的,测试:
此刻,一个简易的游戏界面基本完成,留下一点时间我去解决自己今天遗留下来的一些问题。
今天早上有人抱怨我的博客质量太差,虽然不爱听,但确实,所以今后我会多花一点功夫在写博客上面,一步步提高我的博客质量。