- 75
- 0
- 约8.83千字
- 约 25页
- 2021-01-10 发布于天津
- 举报
C++课程设计报告
(2010 -- 2011年度第 二 学期)
三子连珠游戏的设计与实现
专 业 计算机
学生姓名
班 级 BM计算机092
学 号
指导教师 王 榕
完成日期 2011年7月7日
TOC \o 1-5 \h \z \o Current Document 1概 述 1
1.1课程设计目的 1
1.2课程设计内容 1
\o Current Document 2系统需求分析 1
2.1 系统目标 1
2.2主体功能 1
2.3开发环境 1
\o Current Document 3系统概要设计 1
3.1系统的功能模块划分 1
3.2系统流程图 2
\o Current Document 4系统详细设计 4
4.1初始化棋盘模块设计 4
4.2下棋模块设计 4
\o Current Document 4.3判断输赢模块 5
\o Current Document 4.4判断平局模块 6
4.5退出模块 8
\o Current Document 5测试 8
5.1测试方案 8
5.2测试结果 8
\o Current Document 6小结 13
\o Current Document 参考文献 14
附 录 15
\o Current Document 附录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) 判断退出模块:这是一个不可缺少的重要模块,这个部分根据用户自己的 意愿进行重新开始和不再开始的选择。
三子连珠游戏系统
初始化棋盘模块V下 棋 模 块▼判断 越界判断合 理
初始化棋盘模块
V
下 棋 模 块
▼
判断 越界
判断合 理
图
判
判
断
断
输
平
赢
局
模
模
块
块
退出模块
系统主要功能模块
3.2系统流程图
Y
是否连成 一线
Y
是否越界
是否合理
N
是否满了
Y
是否越界
—
.X方输入棋子 / 位子
O方输入棋子 位子
N
是否合理
4系统详细设计
4.1初始化棋盘模块设计
此模块功能是按照我所编写的代码中规定的变量 nSize的值n,使棋盘成为
n*n的大小,并把棋盘的主界面输出给操作者看。
我首先定义了静态全局变量 achBoard[3][3],以及静态函数 Prin tBoard
(void),
其次我定义了两个全局整型 nSize=3和nDraw=0,
再次用嵌套FOR循环完成在achBoard[3][3]所有位子填入“ ”。
④在输出棋盘上就非常容易了,在函数 PrintBoard (void )用输出流cout逐条 逐句输出。
12 3
叽在该?方下棋,请输人棋盘坐标C :
图4-1初始化棋盘
4.2下棋模块设计
首先定义静态函数PlayTurn (void)
其次定义两个整型nRow和nCol
用输出流cout输出提示:“请输入棋盘坐标(X,Y): ”
用输入流cin输入:nRow nCol
(1)当输入的nRownSize或者nColnSize时,判断为超出边界,直接重新
您可能关注的文档
- ATOX-50立磨工作原理.docx
- AutoCAD2006批量打印方法.docx
- AutoLisp语言的学习和使用(1).docx
- AVR单片机熔丝位设置方法.docx
- AXIS官方文档中文版.docx
- A册(全国通用工程建筑资料).docx
- A级食堂创建报告.docx
- a一下写字表组词.docx
- BAD84免维护LED防爆节能灯.docx
- be动词的用法,人称代词和指示代词.docx
- 2025-2026学年天津市和平区高三(上)期末数学试卷(含解析).pdf
- 2025-2026学年云南省楚雄州高三(上)期末数学试卷(含答案).pdf
- 2025-2026学年甘肃省天水市张家川实验中学高三(上)期末数学试卷(含答案).docx
- 2025-2026学年福建省厦门市松柏中学高二(上)期末数学试卷(含答案).docx
- 2025-2026学年广西钦州市高一(上)期末物理试卷(含答案).docx
- 2025-2026学年河北省邯郸市临漳县九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省石家庄二十三中七年级(上)期末历史试卷(含答案).docx
- 2025-2026学年海南省五指山市九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省唐山市玉田县九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省邢台市市区九年级(上)期末化学试卷(含答案).docx
最近下载
- 2022届上海市徐汇区高三上学期12月一模英语试卷-Word版含答案.doc VIP
- (完整版)Aitken拖延问卷(API).docx VIP
- MTU软件简易操作培训课件32.pdf VIP
- 2026年春统编版九年级下册语文教学计划及教学进度表.docx VIP
- 学校“最小应急单元”突发事件处置工作指引解读课件.pptx VIP
- 深圳大学《现代通信原理》2021-2022学年第一学期期末试卷.doc VIP
- 人教版八年级数学下册教学工作计划与教学进度表(2026春季学期).docx
- 07CJ03-1:轻钢龙骨石膏板隔墙、吊顶(参考图集).pdf VIP
- 赤壁赋教学实录与课堂案例分析.docx VIP
- 化工工艺培训PPT课件.pptx VIP
原创力文档

文档评论(0)