- 52
- 0
- 约4.13千字
- 约 8页
- 2018-10-09 发布于重庆
- 举报
c课程设计论文三子连珠
C++课程设计报告
任课教师 钱芸生 时间 2014/4/
实验题目 三子连珠游戏 评定难易级别 B级
实验报告成绩
题目名称:三子连珠游戏
难度等级:B级
程序功能介绍
该程序是TICTACTOE游戏,棋盘为3×3,3个棋
子连起来即为赢。输入参数时,若输入的数字超出边界或在已有的地方再输入,则提示出错,要求重新输入。
课程设计要求:
将程序改写成类。
将棋盘扩充成4×4。
统计输赢结果并打印输出。
选做:使游戏更生动。(输赢条件相同)。
程序设计思想
设计一个玩家下棋的操作类,里面封装了棋盘﹑棋子类别和输赢次数等成员数据,操作类的函数包括有初始化棋盘﹑下棋﹑判断输赢等。定义一个类的对象,在调用类中函数时直接使用对象名加函数名即可。将两个玩家定义为两个数组用于区分他们的信息,分别用‘O’和‘X’代表两个玩家所用棋子,然后分别对两个玩家通过已定义的类的对象调用类中的函数,完成下棋过程。
进一步改进程序:
程序中用if else if格式的语句来判断玩家的输赢,当棋盘增大时,三子连珠的各种可能性成倍增加,使得语句非常繁琐,所以将其改为for语句的循环结构进行判断,当棋盘增大时,只需更改循环条件结束的参数即可,可灵活使用于各种尺寸的棋盘。
为防止用户误操作,特别是在姓名的输入时的失误,可以采用cin.getline函数读入在判断确认。
在完成第一步的基础上可将三子连珠扩充为标准的五子棋。
六.源程序结构流程框图与说明
七.基本数据结构
在头文件之后定义了一个名为CGobang的类:
class CGobang
{
private:
char board[4][4];//用数组来定义一个4*4的棋盘
public:
void Rules();//打印菜单总体情况,说明游戏规则和方法,无返回值
void Dayinqp();//打印棋盘,无返回值
void Xiaqi(char*,int ,int ,char);//下棋,无返回值
int Huosheng(int,int,char);//判断那个选手赢,返回值为一整形数
void Choice(char );//是否再玩,无返回值
void Chongzhi();//重置棋盘,无返回值
};
在这个类中,定义了一个未经说明的数组被默认为私有成员,即char board[4][4],用它来存储玩家在下棋的过程中所输入的棋子的坐标,并以此来区分表示不同的两个玩家。另外,这个类中还说明了五个没有返回值的函数以及一个返回值为整形数的函数,对它们的定义将出现在主函数完成之后,所以本着“先定义,后调用”的原则,在类中的说明相当于自定义函数中的函数说明,这样可以使在主函数调用类中的公有函数时变得更加明了清晰。
八.程序设计思想
1.建立基本的棋子类
class CGobang
{
char board[4][4];
public:
void Rules();
void Dayinqp();
void Xiaqi(char*,int ,int ,char);
int Huosheng(int,int,char);
void Choice(char );
void Chongzhi();
};
2.在类外建立成员
①.建立Rules函数,描述游戏规则
void CGobang::Rules()
{
cout 欢迎使用三子连珠游戏 endl;
cout 第一位玩家的棋子用o表示,第二位玩家的棋子用X表示 endl;
cout 该哪一位玩家时从键盘输入棋子的行和列 endl;
cout endl;
}
②设置棋盘规模
void CGobang::Dayinqp()
{
cout endl;
cout 1 2 3 4 endl;
cout 1 board[0][0] | board[0][1] | board[0][2] | board[0][3] endl;
cout ---|---|---|--- endl;;
cout 2 board[1][0] | board[1][1] | board[1][2] | board[1][3] endl;
cout ---|---|---|--- endl;
cout 3 board[2][0] | board[2][1] | board[2][2] | board[2][3] endl;
cout ---|---|---|--- endl;
cout 4 board[3][0] |
您可能关注的文档
- CAN总线家庭火灾探测与报警系统硬件设计 源程序 电路图.doc
- Capital Budgeting Basics Instructors Manual资本预算的基础,教师手册.doc
- CARS光谱测温技术应用于燃油炉火焰温度场的测量.doc
- Case study of strategic human resource management in 战略人力资源管理的案例研究.doc
- CCC认证工厂检查员培训教材教学指导书.doc
- CCC中国强制认证检测费收费标准.doc
- CCC认证质量体系文件质量手册.doc
- CBD项目投资决策风险的识别与评价研究 毕业论文.doc
- CCD视频信号的处理和计算机采集装置-硬件设计.doc
- CCNA CCNP CCE Pre Lab 教学大纲费.doc
最近下载
- UL 857-2009 国外国际标准.pdf
- DL_T 5113.14-2018 水电水利基本建设工程单元工程质量等级评定标准 第14部分:混凝土面板堆石坝工程.docx VIP
- 2026年春期人教版四年级下册数学 第四单元 小数的意义和性质 核心素养教案.docx
- 刀具使用寿命报告模板.docx VIP
- 硝酸铜理化性质及危险特性表MSDS.pdf VIP
- 飞机通信系统课件:第一章 绪论.ppt VIP
- 高层住宅楼施工组织设计-毕业设计 .pdf VIP
- 鼎信JB-QB-TS200N控制器说明书.pdf
- 氯化锡、四氯化锡(无水)的理化性质及危险特性表.doc VIP
- 事业单位E类招聘-药学-专项练习一含答案.docx VIP
原创力文档

文档评论(0)