C五子棋课程设计报告.pdf
《C五子棋课程设计报告.pdf》由会员分享,可在线阅读,更多相关《C五子棋课程设计报告.pdf(22页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、福建农林大学计算机与信息学院福建农林大学计算机与信息学院课程设计报告课程设计报告课程名称:面向对象程序设计课程设计课程设计题目:五子棋姓名:系:计算机专业:软件工程年级:学号:指导教师:职称:年月日2福建农林大学计算机与信息学院计算机类福建农林大学计算机与信息学院计算机类课程设计报告结果评定课程设计报告结果评定评语:评语:评分项目分值得分课程设计报告符合规范10 分类图、用例图、系统框图合理30 分主要技术线路正确30 分设计报告条理清晰、重点突出20 分有一定创新性、难易程度10 分成绩:指导教师签字:任务下达日期:12 月 6 日评定日期:3目录1.1.设计目的设计目的. 42.2.设计要
2、求设计要求. 43.3.设计方案设计方案.44.4.设计内容设计内容.74.1 系统的主要结构和类结构.7.74.2 (2)五子棋类的结构.7.74.3 系统工作流程介绍. 7 错误!未定义书错误!未定义书签。签。 类的介绍.84.54.5 (5) 各个模块的介绍.84.6 (6)程序运行图示.145.5.总结总结.16.16参考文献参考文献.17.174(a)1.设计目的设计目的(1)加深我对面向对象程序基本的理解和掌握。(2)熟练掌握基本流程图的绘制。(3)熟练 visio 的一些操作方法。(4)能够在调试程序中快速发现并排除程序中的错误。(5)提高面向对象程序语言解决实际中的问题的能力。
3、(b)2.设计要求设计要求五子棋是玩家在游戏棋盘上逐个输入黑子或白子的坐标,因此游戏要求在 DOS 界面生成一个可供操作的棋盘。通过输入坐标完成对应落子情况,在输入过程中判断落子是否正确、是否有一方胜利等情况。编写代码可以在 VC6.0 下编译通过。游戏要能实现五子棋游戏的简单操作。程序中要体现面向对象思想。(c) 3.设计方案设计方案(必须包含系统功能说明、用例图和类图)(必须包含系统功能说明、用例图和类图)一、一、用例图用例图落子落子基于用户的用例图基于用户的用例图5步数用例图步数用例图系统用例图系统用例图1)输出棋盘界面菜单及图像 2)开始进入控制 3)黑白棋正确输入格式控制 4)判断黑
4、白输赢控制5)正确计数对羿步数及下一步所要走的棋盘界面6二、二、类图类图7(d)4.设计内容设计内容本系统的主要结构和类结构本系统的主要结构和类结构1)五子棋功能实现的主要结构函数void getpointxy(); /白棋出子函数void getpointmn(); /黑棋出子函数void showqipan(); /实现 20 行 20 列正方形界面输出void print(); /输出下一棋盘界面及计数bool IsxyWin(); /白棋获胜bool IsmnWin(); /黑棋获胜void menu();/显示开始菜单界面(2(2)五子棋类的结构)五子棋类的结构class fivei
5、nt x,y,m,n,num_xy,num_mn;char qipan2020; /定义 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 +)qipanij = .; 系统工作流程介绍。系统工
6、作流程介绍。8 类的介绍:类的介绍:该类完成了对输入棋子坐标的初始化, 通过 for 循环实现了一个 20 行 20 列的坐标, 在公有成员中定义了相应的功能函数void getpointxy(); /白棋出子及计数void getpointmn(); /黑棋出子及计数void showqipan(); /实现 20 行 20 列正方形界面输出void print(); /输出下一棋盘界面bool IsxyWin(); /白棋获胜bool IsmnWin(); /黑棋获胜void menu();/显示开始菜单界面(5)(5)各个模块的介绍各个模块的介绍:)类的实现类的实现:包括对数据成员的赋值
7、和成员函数的初始化还有通过 for 循环实现对 20 行20 列坐标的定义:源代码如下class fiveint x,y,m,n,num_xy,num_mn;char qipan2020; /定义 20 行 20 列的数组public:9five(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 列
8、的棋盘界面 for(int j = 0 ;j 20 ; j +) qipanij = .; void getpointxy(); /白棋出子及计数void getpointmn(); /黑棋出子及计数void showqipan(); /实现 20 行 20 列正方形界面输出void print(); /输出下一棋盘界面bool IsxyWin(); /白棋获胜bool IsmnWin(); /黑棋获胜void menu();/显示开始菜单界面;)白棋和黑棋落子情况的判断的实现)白棋和黑棋落子情况的判断的实现,源代码如下:void five:getpointxy() /判断白棋出子情况及对其计
9、数std:cout请分别输入第num_xy+1 y x;if (!(1=x&x=20&1=y&y=20)std:cout 输入错误,请重新输入:endl ;getpointxy();else if(qipany-1x-1 != . )std:cout 请所下的位置已经有棋子,请重新输入: = 400)std:cout 棋盘已满,平局! endl;exit(0);elseqipany-1x-1 = O;num_xy+;10void five:getpointmn() /判断黑棋出子情况及对其计数std:cout请分别输入第num_mn+1 n m;if (!(1=m&m=20&1=n&n=20)
10、std:cout 输入错误,请重新输入:endl ;getpointmn();else if(qipann-1m-1!=.)std:cout 请所下的位置已经有棋子,请重新输入: = 400)std:cout 棋盘已满,平局! q;if(strcmp(q,c)five:showqipan();4 4)输出模块)输出模块void five:showqipan() /输出 20 行 20 列的坐标数值int p=0,q=0;for(int i = 0 ; i = 20 ; i+)if(p10)std:cout p ; elsestd:cout p ;p+;cout endl;for(i = 0 ;
11、 i =0)11q+;if(q10) std:cout q ;elsestd:cout q;for(int j = 0 ; j 20 ; j +) std:cout qipanij ;std:cout endl;void five:print()int p=0,q=0;for(int i = 0 ; i = 20 ; i+) if(p10) std:cout p ; else std:cout p ;p+;std:cout endl;for(i = 0 ; i =0) q+;if(q10) std:cout q ;elsestd:cout q;for(int j = 0 ; j 20 ; j
12、+) std:cout qipanij ; std:cout endl;5 5)黑白棋输赢的判断)黑白棋输赢的判断,其源代码如下:bool five:IsxyWin()/白棋获胜实现函数int num1=1,num2=1,num3=1,num4=1;for(int i = x ; i x+5& x+5= 0 ; i -) if(qipany-1i != O) break;12if(qipany-1i = O) num1+;for( i = y ; i = 0 ; i -)if(qipanix-1 != O) break;if(qipanix-1 = O) num2+;for(i = 0 ; i
13、 5 & x+i20 & y+i=0 & y-i-2=0 & i 5;i+ )if(qipany-i-2x-i-2 != O) break;if(qipany-i-2x-i-2 = O) num3+;for(i = 0 ; x + i = 0 & i 5;i +)if(qipany-i-2x+i != O) break;if(qipany-i-2x+i = O) num4+;for(i = 0 ; y + i = 0 & i =5|num2=5|num3=5|num4=5)return 1;elsereturn 0;黑棋获胜情况与白棋类似6 6)主函数模块)主函数模块13void main()
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 五子棋 课程设计 报告
限制150内