- 60
- 0
- 约1.15万字
- 约 23页
- 2020-11-22 发布于河北
- 举报
.
目录
第一章:课程设计目的和要求· ······················2
1.1 数据结构课程设计的目的 ··························2
1.2 数据结构课程设计实现的要求· ·····················2
第二章:课程设计任务内容· ························3
2.1 五子棋对弈系统· ··································3
第三章:详细设计说明· ···························· 4
3.1 功能设计········································4
3.2 五子棋对弈系统流程图· ····························· 4
3.3 软件中实现各项功能的函数与程序代码········ 5
第四章:程序运行环境说明· ························· 10
4.1 程序运行环境说明及出现的问题· ···················· 10
4.2 运行结果·········································10
第五章:课程设计心得与体会· ···················14
附录 ········································15
源程序 :·····································16
五子棋
0 / 23
.
第一章 课程设计目的和要求
1.1 数据结构课程设计的目的
进一步培养结构化程序设计的思想,加深对高级系统语言基本
语言要素和控制结构的理解,针对数据结构中的重点和难点内容进
行训练,独立完成有一定工作量的程序设计任务,同时强调好的程
序设计风格。
此课程设计着眼于知识的运用,把平常学的知识运用到课程实
践中来,本身就是考察我们知识运用能力。要求熟悉运用一些编程
软件,对我们所学的理论知识进一步的深化。
1.2 数据结构课程设计实现的要求
使用 C++语言编写一个基于控制台的简单程序, 使学生掌握简单的
程序设计技巧。同时设计一个简单的五子棋对弈系统,可以实现五
子棋的基本功能,是一款娱乐用的小型程序。
第二章 课程设计任务内容
2.1 五子棋对弈系统
1 / 23
.
设计一个五子棋系统程序,实现对五子棋进行运行。
基本要求: 五子棋是有两个人在一盘棋上进行对抗的竞技活动。
在对局开始时,先由用户选择哪方开局,先开局一方将一枚棋子落
在一点上,然后由另一方在对方棋周围交叉点上落子,如此轮流落
子,知道某一方首先在棋盘的直线、横线或斜线上形成连续的五子
则该方程就算获胜。
此时算法结束,当有任何一方退时出,都可在算法中实现。
第三章 详细设计说明
3.1 功能设计
(1)由两个玩家分别下棋,当某一玩家五子相连,则赢。
(2)界面要求 : 初始状态——显示棋盘 , 并显示两个玩家的操作键及初始玩家名
称;游戏进行状态——动态显示棋盘, 不同玩家的棋子用不同符号显示, 屏
2 / 23
.
幕上显示当前玩家号,结束时显示赢家名称。
3.2 五子棋对弈系统流程图
开始
白放下子
判断该位置是否有棋
是
找另一位
否
白方下子
判断白方是否胜出
否
否
黑方下子
判断该位置是否有棋
否
黑方下子
判断黑方是否胜出
白 (黑 )方下子
白(黑)子在水平
方向是否大于 4
否
白(黑)子在垂直
方向是否大于 4
是
跳出白棋获胜
是
找另一位
是
跳出黑棋获胜
图 3-1 程序总体图
是
白(黑)方获胜
判 断 该位 是
否
是
白(黑)方获胜
判 断 是 否
重现开局
否
游戏结束
进 入
选 择
是 否
否
3 / 23
重 新
开 局
框
.
白(黑)子在正对角
是
白(黑)方获胜
线方向是否大于
4
否
白(黑)子在反对角
是
白(黑)方获胜
线方向是否大于
4
否
黑(白)方下子
图3-2 算法流程图
3.3 软件中实现各项功能的函数与程序代码
主要函数、结构体和链表
Int a; // 纪录坐标位置
Int b; // 纪录坐标位置
Char achBoard[i][j] ,// 用于在【 a】【b】处落子
chSort;; // 棋子的类别
Int nWin //// 赢棋的次数
类的使用:
class CGobang
{private:
char chSort; //棋子的类别
int nWin; //赢棋的次数
int nLose; // 输棋的次数
static int nDraw; //平局次数
public:
static char achBoard[19][19];
原创力文档

文档评论(0)