基于labview设计的五子棋游戏.docx

上传人:b****5 文档编号:6720123 上传时间:2023-01-09 格式:DOCX 页数:17 大小:987.35KB
下载 相关 举报
基于labview设计的五子棋游戏.docx_第1页
第1页 / 共17页
基于labview设计的五子棋游戏.docx_第2页
第2页 / 共17页
基于labview设计的五子棋游戏.docx_第3页
第3页 / 共17页
基于labview设计的五子棋游戏.docx_第4页
第4页 / 共17页
基于labview设计的五子棋游戏.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

基于labview设计的五子棋游戏.docx

《基于labview设计的五子棋游戏.docx》由会员分享,可在线阅读,更多相关《基于labview设计的五子棋游戏.docx(17页珍藏版)》请在冰豆网上搜索。

基于labview设计的五子棋游戏.docx

基于labview设计的五子棋游戏

一、课程题目……………………………………………………………………2

二、问题描述……………………………………………………………………2

游戏流程图…………………………………………………………………2

三、大体要求……………………………………………………………………3

四、游戏设计流程图……………………………………………………………3

设计流程图………………………………………………………………3

整体设计流程图………………………………………………………3

人机对弈模式下的游戏流程图………………………………………4

双人对弈模式下的游戏流程图………………………………………5

各模块程序设计…………………………………………………………7

初始棋盘模块…………………………………………………………7

多步计算模块…………………………………………………………7

.1多步计算流程图…………………………………………………7

.2多步计算前面板及程序框图……………………………………8

决定下子方模块……………………………………………………10

判定输赢模块………………………………………………………10

.1判定输赢模块设计前面板及程序框图………………………10

输赢对话模块………………………………………………………11

游戏主程序设计…………………………………………………………13

五子棋主程序的程序框图………………………………………13

五子棋的游戏界面………………………………………………15

五、测试结果…………………………………………………………………16

六、附图………………………………………………………………………17

总结……………………………………………………………………………19

参考文献………………………………………………………………………19

 

一:

课程题目

五子棋游戏

二:

问题描述

为了供人们闲暇时刻随时随地地进行娱乐,提高自己的五子棋水平,本文以LabVIEW为平台,设计开发了这款单机版的五子棋游戏软件。

 五子棋,亦称"连五子"、"五子连"、"串珠"、"五目"、"五目碰"、"五格"等。

相传起源于四千连年前的尧帝时期,比的历史还要悠长。

在古代,五子棋棋具尽管与围棋相类同,可是下法却是完全不同的。

正如《辞海》中所言,五子棋是“棋类游戏,棋具与围棋相同,两人对局,连番下子,先将五子连成一行者为胜”。

五子棋的游戏规那么如下:

1.行棋顺序:

黑先、白后,从天元开始彼此顺序落子。

2.判定输赢

最先在棋盘横向、竖向、斜向形成持续的相同色五个棋子的一方为胜。

黑棋禁手判负(Lose),白棋无禁手。

黑棋禁手包括“三、三”(包括“四、三、三”)、“四、四”(包括“四、四、三”)、“长连”。

黑棋只能以“四、三”取胜。

3.如分不出输赢,那么定为平局。

4.对局中半途退场判为负。

5.五连与禁手同时形成,先五为胜。

6.黑方禁手形成时,白方应当即指出。

假设白方未发觉或发觉后未指明而继续应子,那么不能判黑方负。

7.时刻限定:

每方20分钟包干,然后1分钟读秒。

游戏流程图

从棋盘棋子的设计、各模块的搭建到主程序的编写、前面板的美化,五子棋的游戏整体设计流程如下图。

图五子棋游戏整体设计框图

三:

大体要求

这款基于LabVIEW的简易五子棋游戏,有人机对弈和双人对弈两种模式。

选择游戏模式后开始游戏,设计程序对棋盘进行初始化,数组显示当期棋盘状态。

人机对弈模式中,其中一方由电脑计算下子位置;双人对弈模式中,由两边决定下子位置。

游戏中,任一方先在棋盘上形成纵向、竖向、斜向的持续相同颜色的五个棋子的一方为胜。

若是有一方获胜,现在跳出对话框,显示一方获胜,游戏终止。

按下确信,同时初始化棋盘,能够从头开始游戏。

程序要紧涉及到棋盘棋子的设计,各模块的搭建、各个模块的挪用及两边输赢的判定方式及前面板的美化。

四:

游戏设计流程图

设计流程图

整体设计流程图

游戏开始,对棋盘进行初始化,初始化完成后,由主循环操纵模块来操纵轮到哪方下子,在游戏进行进程中,假设有一方获胜,那么跳出获胜对话框,再决定是不是从头开始游戏;若是没有一方获胜,那么程序不断循环执行。

五子棋游戏流程如图所示。

图4.五子棋游戏流程图

人机对弈模式下的游戏流程图

本游戏可分为两种模式:

人机对弈模式和双人对弈模式。

假设选择人机对弈模式,游戏开始,判定该位置是不是有棋子。

如无棋,那么黑方先落棋。

再判定黑方是不是获胜,若是黑方获胜那么选择是不是从头开局,选择是就从头开始游戏,不然直接终止游戏。

若是黑方没有获胜,那么电脑计算下子位置,方式同上。

五子棋人机对弈模式下的的游戏流程如图4.所示。

图4.人机对弈模式下的游戏流程图

双人对弈模式下的游戏流程图

假设选择双人对弈模式,流程大体与人机对弈类似,只是把电脑计算下子位置改成白方下子。

五子棋双人对弈模式下的的游戏流程如图4.所示。

图4.双人对弈模式下的游戏流程图

各模块程序设计

初始棋盘模块

按下从头开始按钮后,挪用该程序初始化棋盘。

棋盘初始化前面板如图.1所示。

图..11初始棋盘前面板

用长32位的整形数值来表示棋盘大小,数组显示当前棋盘的状态,用循环结构来实现,当按下从头开始按钮,挪用该程序初始化棋盘。

初始棋盘程序框图如图4..2所示。

图4..2初始棋盘程序框图

多步计算模块

4.2.2.1多步计算流程图

判定当前的最大权值是不是大于100000,若是大于100000说明当前已有形成活三的棋子,那么当前位置必然要下子——已方有活三的话要继续求胜,对方有活三的话那么要阻止。

若是没有活三以上的棋那么开始试下子,计算最正确下棋位置。

第一在当前的最正确位置试下一个已方剂—白子,然后判定下子后是不是有一方胜,如无那么继续在试下子后的最正确位置下黑子,下完后再判定是不是有一方胜,以此类推。

当最正确位置试下完成后,再在第二佳的位置继续试下子,直到三个最正确位置试下完成,试下完成后如无专门好的下子位置,那么选择未试下子前的最正确位置进行下子。

多步计算流程如图.所示。

图4..多步计算流程图

4.2.2.2多步计算前面板及程序框图

数值显示电脑计算出当前的最正确下子位置。

多步计算前面板如图.所示。

图4..多步计算前面板

多步计算那个子程序相对复杂,其中应用了大量的条件结构及循环结构,看起来较为复杂。

在那个复杂的程序里也一样挪用了三个子程序,像权值计算、执行下子和判定输赢。

在程序运行的进程中,这几个子程序也是不断循环执行的。

多步计算程序框图如图.、图所示。

图4..多步计算部份程序框图

图4..多步计算部份程序框图

4.决定下子方模块

数值输出下棋步数,计算轮到哪方下子。

决定下子方前面板如图.1所示。

图4..1决定下子方前面板

用一个商与余数函数实现,商+1为下棋步数,余数为决定哪方下子。

决定下子方程序框图如图.2所示。

图4..2决定下子方程序框图

判定输赢模块

4..1判定输赢模块设计前面板及程序框图

数组显示当前棋盘状态,布尔量指示某一方获胜。

判定输赢前面板如图.所示。

图4..判定输赢前面板

 

计算当前行的子数,相加为10是表示,五个子全为黑,黑胜;相加为0时表示五个子全为白,白胜。

其他方向相同。

判定输赢程序框图如图.所示。

 

图.判定输赢部份程序框图

 

输赢对话模块

输赢对话前面板如图.1所示:

用布尔量来指示哪方获胜。

图4..1输赢对话模块前面板

 

当行或列的输出为-1时,说明当前棋盘没有棋子被下,可是,因为查询用户下子的循环又被停止,可判定此局被用户退出或程序被用户退出,现在不该该弹出输赢对话框,并用此方式代替利用“退出”或“从头开始”两个布尔量的局部变量来停止循环。

用高亮执行,运行后点击“从头开始”后能够更方便地看出此处原理。

输赢对话程序框图如图.2所示。

 

图4..2输赢对话模块程序框图

 

当行或列的输出不为-1时,说明当前棋盘有棋子被下,现在有两种可能,黑子胜或白子胜,假设黑子胜那么跳出“黑子胜”对话框,假设白子胜那么跳出“白子胜”对话框。

输赢对话程序框图如图.3所示。

图4..3输赢对话模块程序框图

游戏主程序设计

五子棋主程序的程序框图

由于主程序的程序框图较为复杂,在完成前面模块搭建的基础上,将各模块作为完成各功能的模块,挪用到主程序中去,为的是程序看起来简练明了富有层次性。

五子棋两种对弈模式下的主程序程序框图如图.一、图所示。

 

图.1双人对弈程序框图

 

图.2人机对弈程序框图

五子棋的游戏界面

五子棋的游戏界面看起来很简练,要紧包括了人机对弈和双人对弈选择、从头开始按钮和退出程序按钮,这是在游戏进程中最大体的功能。

除此之外,还涉及了棋子的设计、棋盘的布置及前面板的美化。

五子棋主程序程序框图如.1所示。

图.1游戏界面

五、测试结果

五子棋人机对弈演示结果如图所示:

图人机对弈结果显示

五子棋双人对弈演示结果如图所示:

图双人对弈结果显示

六、附图

图前面板

 

图双人对弈程序框图

图人机对弈程序框图

 

总结

本文只是在LabVIEW基础上做了个简单的程序设计,采纳LabVIEW平台开发的五子棋游戏,游戏界面美观,程序的设计清楚明了、简单易读。

在程序的运行进程中,有一些不足,如没有设计帮忙文档及悔棋程序等,说明游戏功能的全面性还不够强。

这需要在实践中进一步完善。

设计中也有一些优势,这款单机版的五子棋游戏能够依照人数的情形,选择人机对弈或双人对弈模式,能够知足人们随时随地的娱乐需求。

参考文献

[1]陈锡辉张银鸿编著,LabVIEW程序设计从入门到精通,清华大学出版社,2007

[2]王福明于丽霞刘吉丁博编著,LabVIEW程序设计与虚拟仪器,西安电子科技大学出版社,2020

[3]阮奇桢著,我和LabVIEW:

一个NI工程师的十年编程体会,北京航空航天大学出版社,2020

[4]王磊陶梅编著,精通LabVIEW,电子工业出版社,2007

[5]LabVIEW虚拟仪器程序设计及应用.人民邮电出版社.

[6]程序设计从入门到精通.清华大学出版.

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1