基于labview设计的五子棋游戏
余年寄山水
789次浏览
2021年01月27日 22:25
最佳经验
本文由作者推荐
小学安全教育课教案-自驾路线查询
目录
一、课程题目„„„„„„„„„„„„„„„„„„„„„„„„„„
2
二、问题描述„„„„„„„„„„„„„„„„„„„„„„„„„„
2
游戏流程图„„„„„„„„„„„„„„„„„„„„„„„„„
2
三、基本要求„„„„„„„„„„„„„„„„„„„„„„„„„„
3
四、游戏设计流程图„„„„„„„„„„„„„„„„„„„„„„„
3
4.1
设计流程图„„„„„„„„„„„„„„„„„„„„„„„„
3
4.1.1
总体设计流程图„„„„„„„„„„„„„„„„„„„„„
3
4.1.2
人机对弈模式下的游戏流程图„„„„„„„„„„„„„„„
4
4.1.3
双人对弈模式下的游戏流程图„„„„„„„„„„„„„„„
5
4.2
各模块程序设计„„„„„„„„„„„„„„„„„„„„„„
7
4.2.1
初始棋盘模块„„„„„„„„„„„„„„„„„„„„„„
7
4.2.2
多步计算模块„„„„„„„„„„„„„„„„„„„„„„
7
4.2.2.1
多步计算流程图„„„„„„„„„„„„„„„„„„„
7
4.2.2.2
多步计算前面板及程序框图„„„„„„„„„„„„„„
8
4.2.3
决定下子方模块„„„„„„„„„„„„„„„„„„„„
10
4.2.4
判定胜负模块„„„„„„„„„„„„„„„„„„„„„
10
4.2.4.1
判定胜负模块设计前面板及程序框图„„„„„„„„„
10
4.2.5
胜负对话模块„„„„„„„„„„„„„„„„„„„„„
11
4.3
游戏主程序设计„„„„„„„„„„„„„„„„„„„„„„
13
4.3.1
五子棋主程序的程序框图„„„„„„„„„„„„„„„
13
4.3.2
五子棋的游戏界面„„„„„„„„„„„„„„„„„„
15
五、测试结果„„„„„„„„„„„„„„„„„„„„„„„„„
16
六、附图„„„„„„„„„„„„„„„„„„„„„„„„„„„
17
总结„„„„„„„„„„„„„„„„„„„„„„„„„„„„„
19
参考文献„„„„„„„„„„„„„„„„„„„„„„„„„„„
19
- 0 -
一:课程题目
五子棋游戏
二:问题描述
为了供人们闲暇时间随时随地地进行娱 乐,提高自己的五子棋水平,本文以
LabVIEW
为平台,设计开发了这款单机版的五子棋游 戏软件。
五子棋,亦称
连五子
、
五子连
、
串珠
、
五目
、
五目碰
、
五格
等。相 传起源于四千多年前的尧帝时期,比围棋的历史还要悠久。在古代,五子
棋棋具虽然与围棋相类同,但是 下法却是完全不同的。正如《辞海》中所言,五
子棋是“棋类游戏,棋具与围棋相同,两人对局,轮流下 子,先将五子连成一行
者为胜”。五子棋的游戏规则如下:
1.
行棋顺序
:
黑先、白后,从天元开始相互顺序落子。
2.
判断胜负
最先在棋盘横向、竖向、斜向形成连续的相同色 五个棋子的一方为胜。
黑棋禁手判负
(Lose)
,
白棋无禁手。
黑 棋禁手包括“三、
三”
(
包括“四、
三、
三”)、“四、四” (包括“四、四、三”)、“长连”。黑棋只能以“四、
三”取胜。
3.
如分不出胜负,则定为平局。
4.
对局中中途退场判为负。
5.
五连与禁手同时形成,先五为胜。
6.
黑方禁手形成时,白方 应立即指出。若白方未发现或发现后未指明而继续应
子,则不能判黑方负。
7.
时间限定:
每方
20
分钟包干,然后
1
分钟读秒。
游戏流程图
从棋盘棋子的设计、各模块的搭建到主程序的编写、前面板的美化,五子 棋
的游戏总体设计流程如图
2.1
所示。
- 1 -
图
2.1
五子棋游戏总体设计框图
三:基本要求
这款基于
LabVIEW
的简易五子棋游戏,有人机 对弈和双人对弈两种模式。选
择游戏模式后开始游戏,设计程序对棋盘进行初始化,数组显示当期棋盘状 态。
人机对弈模式中,其中一方由电脑计算下子位置;双人对弈模式中,由双方决定
下子位置。 游戏中,任一方先在棋盘上形成纵向、竖向、斜向的连续相同颜色的
五个棋子的一方为胜。如果有一方获 胜,此时跳出对话框,显示一方获胜,游戏
结束。按下确定,同时初始化棋盘,可以重新开始游戏。
程序主要涉及到棋盘棋子的设计,各模块的搭建、各个模块的调用及双方胜负的
判定方法 及前面板的美化。
四:游戏设计流程图
4.1
设计流程图
4.1.1
总体设计流程图
游戏开始,
对棋盘进行初始化,
初始化完成后,
由主循环控制模块来控制轮到
哪方下子,在游戏进行过程中,若有一方获胜,则跳出获胜对话框,再决定是否
重新开始游戏;如果没有 一方获胜,则程序不断循环执行。五子棋游戏流程如图
4.1.1
所示。
- 2 -
图
4.1.1
五子棋游戏流程图
4.1.2
人机对弈模式下的游戏流程图
本游戏可分为两种模式:人机对弈模式和双人对弈模式。
若选择人机对弈模式,游戏 开始,判断该位置是否有棋子。如无棋,则黑方
先落棋。再判断黑方是否获胜,如果黑方获胜则选择是否 重新开局,选择是就重
新开始游戏,否则直接结束游戏。如果黑方没有获胜,则电脑计算下子位置,方< br>式同上。五子棋人机对弈模式下的的游戏流程如图
4.1.2
所示。
- 3 -
图
4.1.2
人机对弈模式下的游戏流程图
4.1.3
双人对弈模式下的游戏流程图
若选择双人对弈模式,流程基本与 人机对弈类似,只是把电脑计算下子位置
改成白方下子。
五子棋双人对弈模式下的的游戏流程如图
4.1.3
所示。
- 4 -
图
4.1.3
双人对弈模式下的游戏流程图
- 5 -
4.2
各模块程序设计
4.2.1
初始棋盘模块
按下重新开始按钮后,调用该程序初始化棋盘。棋 盘初始化前面板如图
4.2.1.1
所示。
图
4.2..11
初始棋盘前面板
用长
32< br>位的整形数值来表示棋盘大小,
数组显示当前棋盘的状态,
用循环结
构来实现, 当按下重新开始按钮,调用该程序初始化棋盘。初始棋盘程序框图如
图
4.2.1.2
所示。
图
4.2.1.2
初始棋盘程序框图
4.2.2
多步计算模块
4.2.2.1
多步计算流程图
判断当前的最大权值是否大于
100000
,如果大于
100000
表明当前已有形成
活三的棋子,则当前位置一定要下子——已方有活三的话要继续求胜,对方有活
三的话则要阻止。如果没有活三以上的棋则开始试下子,计算最佳下棋位置。
首先在当前的最佳位置试下一个已方子—白子,然后判断下子后是否有一方
胜,如无则继续在试 下子后的最佳位置下黑子,下完后再判断是否有一方胜,以
此类推。
- 6 -
当最佳位置试下完成后,
再在第二佳的位置继续试下子,
直到三 个最佳位置
试下完成,试下完成后如无很好的下子位置,则选择未试下子前的最佳位置进行
下子 。多步计算流程如图
4.2.2.1.1
所示。
图
4.2.2.1.1
多步计算流程图
4.2.2.2
多步计算前面板及程序框图
数值显示电脑计算出当前的最 佳下子位置。
多步计算前面板如图
4.2.2.2.1
所示。
图
4.2.2.2.1
多步计算前面板
- 7 -
多步计算这个子程序相对复杂,其中应用了大量的条件结构及循环结构,看
起来较为复杂。在这个复杂的程序里也同样调用了三个子程序,像权值计算、执
行下子和判定胜负。在程 序运行的过程中,这几个子程序也是不断循环执行的。
多步计算程序框图如图
4.2.2.2. 2
、图
4.2.2.2.3
所示。
图
4.2.2.2.2
多步计算部分程序框图
图
4.2.2.2.3
多步计算部分程序框图
- 8 -