- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
五子参考棋控制台课设题目
课设题目: 五子棋游戏
⒈ 需求分析:
⑴程序所能达到的功能
1)输出棋盘界面菜单及图像2)开始进入控制3)黑白棋正确输入格式控制4)判断黑白输赢控制5)正确计数对羿步数及下一步所要走的棋盘界面
⑵输出的形式
以20行20列的坐标的形式输出
⑶输入的形式和输入值的范围
用坐标方位确定所要输入棋子的准确位置(先输入横坐标,再输入纵坐标)
输入值的范围都比须在20行20列的正方形中(0=x=20,0=y=20)
⒉ 系统设计
⑴本系统的主要结构和类结构
1)五子棋功能实现的主要结构函数
void getpointxy(); //白棋出子函数
void getpointmn(); //黑棋出子函数
void showqipan(); //实现20行20列正方形界面输出
void print(); //输出下一棋盘界面及计数
bool IsxyWin(); //白棋获胜
bool IsmnWin(); //黑棋获胜
void menu();//显示开始菜单界面
2)五子棋类的结构
class five
{ private:
int x;
int y;
int m;
int n;
int num_xy;
int num_mn;
char qipan[20][20]; //定义20行20列的数组
public:
five(int X = 0,int Y =0,int M = 0,int N = 0,int Num_xy = 0,int Num_mn = 0) //构造函数初始化
{
x = X;
y = Y;
m = M;
n = N;
num_xy = Num_xy;
num_mn = Num_mn;
for(int i = 0 ; i 20 ; i ++) //输出20行20列的棋盘界面
{
for(int j = 0 ;j 20 ; j ++)
qipan[i][j] = +;
}
}
};
⑵本系统所设计的主要技术简介;
1)通过输出流实现五子棋美化的开始菜单界面2)图像处理技术控制界面的颜色3)在主函数中通过定义类的对象实现对功能函数的调用4)通过for循环语句实现20行20列的坐标界面的输出
⑶ 系统工作流程介绍。
⑷ 类的介绍:
该类完成了对输入棋子坐标的初始化,通过for循环实现了一个20行20列的坐标,在公有成员中定义了相应的功能函数
void getpointxy(); //白棋出子及计数
void getpointmn(); //黑棋出子及计数
void showqipan(); //实现20行20列正方形界面输出
void print(); //输出下一棋盘界面
bool IsxyWin(); //白棋获胜
bool IsmnWin(); //黑棋获胜
void menu();//显示开始菜单界面
⒊ 调试与测试:
⑴ 调试过程中所遇到的问题及解决方法;
1)在我负责的部分中,在输出20行20列的坐标界面中开始设想用特殊字符代表坐标平面的位置,这样设计出版面效果会更好,但运行时,却出现如下的乱码错误
最后只好用键盘上常见字符+代替,
2)因为当输入的横坐标和纵坐标中值为二位数则与一位的数值之间存在间距的不同,为了正确输出20行20列正方形坐标,因此在当输入值小于10时,必须在结尾时输出一个空格
3)在判断棋子的输赢的过程中,通过四种情况的判断,只要其中的一种情况满足其累积值大于等于5,则获胜,但开始时却忽略了其中的一种情况,因为运行时没有报错,所以一直到后来,进入游戏操作中才被发现有问题,设计不完全
⑵测试数据:包括正确的输入输出结果和错误的输入及其输出结果
如下是正确输出的结果:
错误的输入:
(3)经验与体会
1)通过课设,首先让我生产对编程的兴趣,尤其是当我真正把那程序运行出来时,那种兴奋劲,无法比拟。
2)在这次课设的过程中当然也让我学到了很多东西,让我学到了很多课外的相关C++高层次的东西,当然其中也复习到了,这学期刚学的C++知识,尤其是通过类的运用,更让我体会面向对象在编程的过程中的作用,
3)另外,通过这次课设也让我体会到合作的重要性,通过我和我搭档(邱超)的分工合作,我们解决很多问题,让我真正认识到团队的力量
⒋ 用户使用说明:说明如何使用你的程序,详细列出每一步操作步骤
在整个程序中我负责三个版块:
1)类的实现:包括对数据成员的赋值和成员函数的初始化还有通过for循环实现对20行20列坐标的定义:源代码如下
class five
{
int x;
int y;
int m;
int n;
int num_xy;
int num_mn;
char qipan[2
文档评论(0)