基于labview设计的五子棋游戏

余年寄山水
789次浏览
2021年01月27日 22:25
最佳经验
本文由作者推荐

小学安全教育课教案-自驾路线查询

2021年1月27日发(作者:银色情人节)

目录

一、课程题目„„„„„„„„„„„„„„„„„„„„„„„„„„
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 -

小学安全教育课教案-自驾路线查询


小学安全教育课教案-自驾路线查询


小学安全教育课教案-自驾路线查询


小学安全教育课教案-自驾路线查询


小学安全教育课教案-自驾路线查询


小学安全教育课教案-自驾路线查询


小学安全教育课教案-自驾路线查询


小学安全教育课教案-自驾路线查询