- 1、本文档共23页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C++课程设计报告
( 2010 -- 2011 年度第 二 学期)
三子连珠游戏的设计与实现
专业
计算机
学生姓名
班级
BM计算机092
学号
指导教师
王 榕
完成日期
2011年 7月 7 日
目 录
TOC \o 1-5 \h \z \u
9484 1 概 述 1
32652 1.1 课程设计目的 1
5093 1.2 课程设计内容 1
5947 2 系统需求分析 1
2118 2.1 系统目标 1
20337 2.2 主体功能 1
18621 2.3 开发环境 1
22370 3 系统概要设计 1
18184 3.1 系统的功能模块划分 1
17350 3.2 系统流程图 2
20264 4系统详细设计 4
14879 4.1初始化棋盘模块设计 4
23573 4.2下棋模块设计 4
28436 4.3判断输赢模块 5
10013 4.4判断平局模块 6
22751 4.5退出模块 8
28468 5 测试 8
15832 5.1 测试方案 8
8120 5.2 测试结果 8
18591 6 小结 13
31362 参考文献 14
22147 附 录 15
18224 附录1 源程序清单 15
三子连珠游戏的设计与实现
1 概 述
1.1 课程设计目的
1、巩固并加深学生对C++语言程序设计知识的理解;
2、培养学生面向对象的程序设计思想,使学生认识面向过程和面向对象两种设计方法的区别;
3、进一步掌握和应用VC++ 6.0集成开发环境;
4、提高运用C++语言解决实际问题的能力;
5、初步掌握开发小型实用软件的基本方法,能独立设计、实现具有实际功能的小系统;
6、掌握书写程序设计开发文档的能力(书写课程设计实验报告)。
1.2 课程设计内容
课题名称:三子连珠游戏
说明:模仿五子棋的形式,有一方三子连成一线即获胜。
要求:
1)玩家可以设置棋盘的大小。
2)加入悔棋的功能,要求任一方可以在对方下棋后悔改一步,即将对方当前步和本方上一步删除,本方重新下棋。
2 系统需求分析
2.1 系统目标
该程序模仿五子棋的形式,有一方三子连成一线即获胜。
2.2 主体功能
两方下棋,系统设置为3*3格式,具有判断越界,判断合理性和判断平局能力,在输赢确定后输出总结信息。
2.3 开发环境
Microsoft Visual C++ 6.0
3 系统概要设计
3.1 系统的功能模块划分
(1)初始化棋盘模块(InitialBoard):此模块功能是按照代码所规定的变量n,使棋盘成为n*n的大小,并把棋盘的主界面输出给操作者看。
(2)下棋模块(PlayTurn):这部分是对越界和合理性规则进行判断。越界是下棋超越规定的边界,合理性是下棋是否下到已存在棋子的位子。
(3)判断输赢模块(JudgePlay):此模块是对棋子是否连成一线规则进行判断。
连成一线则赢棋。
(4)判断平局模块(GetFull):这部分是对棋盘是否布满棋子进行检查
(5)判断退出模块:这是一个不可缺少的重要模块,这个部分根据用户自己的意愿进行重新开始和不再开始的选择。
三子连珠游戏系统
三子连珠游戏系统
初始化棋盘模块退出模块判断平局模块判断输赢模块下棋模块
初始化棋盘模块
退出模块
判断平局模块
判断输赢模块
下棋模块
判断越界判断合理
判断越界
判断合理
图3-1系统主要功能模块
3.2 系统流程图
开始
开始
初始化棋盘
初始化棋盘
X方输入棋子位子是否越界是否合理是否连成一线X方获胜
X方输入棋子位子
是否越界
是否合理
是否连成一线
X方获胜
是否满了
YN
Y
N
YN
Y
N
N
N
Y
Y
NY
N
Y
O方输入棋子位子
O方输入棋子位子
是否越界Y
是否越界
Y
N
N
是否合理N
是否合理
N
Y
Y
是否连成一线
是否连成一线
N
N
Y
Y
是否满了NY
是否满了
N
Y
O方获胜
O方获胜
是否继续NY
是否继续
N
Y
输出总结信息
输出总结信息
结束
结束
图3-2 系统流程图
4系统详细设计
4.1初始化棋盘模块设计
此模块功能是按照我所编写的代码中规定的变量nSize的值n,使棋盘成为n*n的大小,并把棋盘的主界面输出给操作者看。
?我首先定义了静态全局变量achBoard[3][3],以及静态函数PrintBoard(void),
?其次我定义了两个全局整型nSize=3和nDraw=0,
?再次用嵌套FOR循环完成在achB
文档评论(0)