欢迎来到天天文库
浏览记录
ID:9877841
大小:195.00 KB
页数:8页
时间:2018-05-13
《c++课程设计论文三子连珠》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、C++课程设计报告任课教师钱芸生时间2014/4/5实验题目三子连珠游戏评定难易级别B级实验报告成绩一.题目名称:三子连珠游戏二.难度等级:B级三.程序功能介绍该程序是TICTACTOE游戏,棋盘为3×3,3个棋子连起来即为赢。输入参数时,若输入的数字超出边界或在已有的地方再输入,则提示出错,要求重新输入。四.课程设计要求:(1)将程序改写成类。(2)将棋盘扩充成4×4。(3)统计输赢结果并打印输出。(4)选做:使游戏更生动。(输赢条件相同)。五.程序设计思想设计一个玩家下棋的操作类,里面封装了棋盘﹑棋子类别和输赢次数等成员数据,操作类的函数包括有初始化棋盘﹑下棋
2、﹑判断输赢等。定义一个类的对象,在调用类中函数时直接使用对象名加函数名即可。将两个玩家定义为两个数组用于区分他们的信息,分别用‘O’和‘X’代表两个玩家所用棋子,然后分别对两个玩家通过已定义的类的对象调用类中的函数,完成下棋过程。进一步改进程序:1.程序中用ifelseif格式的语句来判断玩家的输赢,当棋盘增大时,三子连珠的各种可能性成倍增加,使得语句非常繁琐,所以将其改为for语句的循环结构进行判断,当棋盘增大时,只需更改循环条件结束的参数即可,可灵活使用于各种尺寸的棋盘。2.为防止用户误操作,特别是在姓名的输入时的失误,可以采用cin.getline函数读入在
3、判断确认。3.在完成第一步的基础上可将三子连珠扩充为标准的五子棋。六.源程序结构流程框图与说明七.基本数据结构在头文件之后定义了一个名为CGobang的类:classCGobang{private:charboard[4][4];//用数组来定义一个4*4的棋盘public:voidRules();//打印菜单总体情况,说明游戏规则和方法,无返回值voidDayinqp();//打印棋盘,无返回值voidXiaqi(char*,int&,int&,char);//下棋,无返回值intHuosheng(int,int,char);//判断那个选手赢,返回值为一整形数
4、voidChoice(char&);//是否再玩,无返回值voidChongzhi();//重置棋盘,无返回值};在这个类中,定义了一个未经说明的数组被默认为私有成员,即charboard[4][4],用它来存储玩家在下棋的过程中所输入的棋子的坐标,并以此来区分表示不同的两个玩家。另外,这个类中还说明了五个没有返回值的函数以及一个返回值为整形数的函数,对它们的定义将出现在主函数完成之后,所以本着“先定义,后调用”的原则,在类中的说明相当于自定义函数中的函数说明,这样可以使在主函数调用类中的公有函数时变得更加明了清晰。八.程序设计思想1.建立基本的棋子类classC
5、Gobang{charboard[4][4];public:voidRules();voidDayinqp();voidXiaqi(char*,int&,int&,char);intHuosheng(int,int,char);voidChoice(char&);voidChongzhi();};2.在类外建立成员①.建立Rules函数,描述游戏规则voidCGobang::Rules(){cout<<"欢迎使用三子连珠游戏"<6、和列"<7、"<8、"<9、"<10、---11、---12、---"<13、"<14、"<15、"<16、"---17、---18、---19、---"<20、"<21、"<22、"<23、---24、---25、---"<26、"<27、"<28、"<29、out<<
6、和列"<7、"<8、"<9、"<10、---11、---12、---"<13、"<14、"<15、"<16、"---17、---18、---19、---"<20、"<21、"<22、"<23、---24、---25、---"<26、"<27、"<28、"<29、out<<
7、"<8、"<9、"<10、---11、---12、---"<13、"<14、"<15、"<16、"---17、---18、---19、---"<20、"<21、"<22、"<23、---24、---25、---"<26、"<27、"<28、"<29、out<<
8、"<9、"<10、---11、---12、---"<13、"<14、"<15、"<16、"---17、---18、---19、---"<20、"<21、"<22、"<23、---24、---25、---"<26、"<27、"<28、"<29、out<<
9、"<10、---11、---12、---"<13、"<14、"<15、"<16、"---17、---18、---19、---"<20、"<21、"<22、"<23、---24、---25、---"<26、"<27、"<28、"<29、out<<
10、---
11、---
12、---"<13、"<14、"<15、"<16、"---17、---18、---19、---"<20、"<21、"<22、"<23、---24、---25、---"<26、"<27、"<28、"<29、out<<
13、"<14、"<15、"<16、"---17、---18、---19、---"<20、"<21、"<22、"<23、---24、---25、---"<26、"<27、"<28、"<29、out<<
14、"<15、"<16、"---17、---18、---19、---"<20、"<21、"<22、"<23、---24、---25、---"<26、"<27、"<28、"<29、out<<
15、"<16、"---17、---18、---19、---"<20、"<21、"<22、"<23、---24、---25、---"<26、"<27、"<28、"<29、out<<
16、"---
17、---
18、---
19、---"<20、"<21、"<22、"<23、---24、---25、---"<26、"<27、"<28、"<29、out<<
20、"<21、"<22、"<23、---24、---25、---"<26、"<27、"<28、"<29、out<<
21、"<22、"<23、---24、---25、---"<26、"<27、"<28、"<29、out<<
22、"<23、---24、---25、---"<26、"<27、"<28、"<29、out<<
23、---
24、---
25、---"<26、"<27、"<28、"<29、out<<
26、"<27、"<28、"<29、out<<
27、"<28、"<29、out<<
28、"<29、out<<
29、out<<
此文档下载收益归作者所有