棋盘游戏程序C++课程设计报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
信息科学与技术学院
程序设计基础课程设计报告
题目名称:棋盘游戏程序
学生姓名:**
学号: **********
专业班级: 14计科1班
指导教师:**
2015年 6 月 17 日
目录
1 课程设计题目与要求 (3)
1.1设计题目 (3)
1.2设计要求 (3)
2 总体设计 (3)
3 详细设计 (4)
3.1数据结构设计及类设计 (4)
3.2模块设计 (4)
4 运行结果 (11)
5 课程设计总结 (13)
参考文献 (13)
附:源代码 (14)
1 课程设计题目与要求
1.1设计题目
编一棋盘游戏程序,人为一方,计算机为一方,人下时字符* 将放在所指定的位置,而计算机下时字符@ 将放在某一空格位置。行、列、或两对角线有连续三个相同字符一方为胜方,也有平局情况。
*@
@*
**
1.2设计要求
要求能动态演示。
2 总体设计
1.棋盘显示模块
功能:将棋盘及棋子显示到屏幕。
2.初始化模块
功能:将游戏数据初始化为新棋局的数据。
3.玩家下棋模块
功能:玩家下一步棋。
4.电脑下棋模块
功能:电脑随机下一步棋。
5.游戏规则声明模块
功能:显示游戏规则。
6.棋局输赢判断模块
功能:判断棋局的输赢。
3 详细设计
3.1数据结构设计及类设计
class System //游戏系统
{
public:
int s; //s记录走棋步数
int flag;//flag为1时代表玩家走棋,为0时代表电脑走棋。
int over;//over为1时代表游戏结束,为0时代表游戏尚未结束。
char a[3][3];//存储棋盘3 ×3个格子里的内容
void print();//显示棋盘;
void sm();//申明游戏规则
void init();//游戏系统初始化
void PlayerDownChessman();//玩家走棋
void ComputerDownChessman();//电脑走棋
int result();//棋局输赢判断
};
3.2模块设计
main 函数
功能:运行整个游戏系统,实现下一盘三子棋的功能。
入口参数:无。
出口参数:无。
System类中的成员函数:
1.print成员函数
功能:将棋盘及棋子显示到屏幕上。
入口参数:无。
出口参数:无。
2.sm成员函数
功能:将棋盘游戏规则显示到屏幕上。
入口参数:无。
出口参数:无。
3.init成员函数
功能:初始化游戏系统数据。
入口参数:无。
出口参数:无。
4.PlayerDownChessman成员函数
功能:玩家下一步棋。
入口参数:无。
出口参数:无。
puterDownChessman成员函数
功能:电脑随机下一步棋。
入口参数:无。
出口参数:无。
6.result成员函数
功能:判断游戏输赢,玩家赢了返回1,电脑赢了返回2,不分胜负返回0。
入口参数:无。
出口参数:无。
4 运行结果
游戏开始:显示了欢迎信息和游戏规则。
最开始电脑和玩家都没有下棋,所以棋盘是空的。
输入落子行列1 1 ,显示玩家落子,随后电脑落子(1,2). 输入落子行列2 2 ,显示玩家落子,随后电脑落子(3,2).
输入落子行列3 3 ,由于此时玩家斜向已经有3颗棋子连成一线,玩家获胜,
显示恭喜你赢了!!!(平局和输棋情况与此类似,不一一列举了。)
5 课程设计总结
课程设计很快就结束了,我感觉在课程设计过程中学习很有兴趣,过的很充实,可能就是课程设计与上课的差距吧!
在课程设计中,我很好的学习了该如何使用调用函数,很大很长地方一个程序就被我分成了一个一个小的程序,不仅容易修改,更容易看的清楚并能很好的检查。在课程设计中,我们还能更好加强同学之间的交流能力。
在课程设计中,老师几乎不参与其中,完全靠我们自己去做,给了我们很多自主空间。
在课程设计中,我们很好的复习以前学习的知识,因为很多东西都是很基础的,这样巩固了我们学习的基础,毕竟大家也是一开始接触这方面嘛!我们不用像一开始那样,做个程序还得参考各种资料和其他人的程序。
参考文献
[1]C++面向对象程序设计教程(第3版). 北京:清华大学出版社2009.6
附:源代码
//tick-tack-toe author:罗靖Date:2015/6/17
#include
#include
#include
#include
using namespace std;
class System
{
public:
int s;
int flag;
int over;
char a[3][3];
void print()//显示棋盘
{
cout<<"┎──┯──┰──┐"< cout<<"┃"< cout<<"┠━━╇━━╇━━┫"< cout<<"┃"< cout<<"┠━━╇━━╇━━┫"< cout<<"┃"< cout<<"┗━━┻━━┻━━┛"< } void sm()//申明游戏规则 { cout<<"欢迎进入棋盘游戏!"< cout<<"ˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉ