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

上传人:b****5 文档编号:15186852 上传时间:2023-07-02 格式:DOCX 页数:27 大小:910.34KB
下载 相关 举报
毕业设计基于labview设计的五子棋游戏1.docx_第1页
第1页 / 共27页
毕业设计基于labview设计的五子棋游戏1.docx_第2页
第2页 / 共27页
毕业设计基于labview设计的五子棋游戏1.docx_第3页
第3页 / 共27页
毕业设计基于labview设计的五子棋游戏1.docx_第4页
第4页 / 共27页
毕业设计基于labview设计的五子棋游戏1.docx_第5页
第5页 / 共27页
毕业设计基于labview设计的五子棋游戏1.docx_第6页
第6页 / 共27页
毕业设计基于labview设计的五子棋游戏1.docx_第7页
第7页 / 共27页
毕业设计基于labview设计的五子棋游戏1.docx_第8页
第8页 / 共27页
毕业设计基于labview设计的五子棋游戏1.docx_第9页
第9页 / 共27页
毕业设计基于labview设计的五子棋游戏1.docx_第10页
第10页 / 共27页
毕业设计基于labview设计的五子棋游戏1.docx_第11页
第11页 / 共27页
毕业设计基于labview设计的五子棋游戏1.docx_第12页
第12页 / 共27页
毕业设计基于labview设计的五子棋游戏1.docx_第13页
第13页 / 共27页
毕业设计基于labview设计的五子棋游戏1.docx_第14页
第14页 / 共27页
毕业设计基于labview设计的五子棋游戏1.docx_第15页
第15页 / 共27页
毕业设计基于labview设计的五子棋游戏1.docx_第16页
第16页 / 共27页
毕业设计基于labview设计的五子棋游戏1.docx_第17页
第17页 / 共27页
毕业设计基于labview设计的五子棋游戏1.docx_第18页
第18页 / 共27页
毕业设计基于labview设计的五子棋游戏1.docx_第19页
第19页 / 共27页
毕业设计基于labview设计的五子棋游戏1.docx_第20页
第20页 / 共27页
亲,该文档总共27页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

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

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

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

毕业设计基于labview设计的五子棋游戏1

常州信息职业技术学院

学生毕业设计(论文)报告

 

系别:

电子与电气工程学院

专业:

电气自动化

班号:

电气092

学生姓名:

刘利

学生学号:

0905093210

设计(论文)题目:

基于LabVIEW的五子棋游戏开发

指导教师:

陈琳

设计地点:

常州信息职业技术学院

起迄日期:

2011.09.06—2011.11.20

毕业设计(论文)任务书

专业电气自动化班级电气092姓名刘利

一、课题名称:

基于LabVIEW的五子棋游戏开发

二、主要研究内容:

1.游戏的行棋规则:

黑先、白后,任一方先在棋盘上形成纵向、竖向、斜向的连续相同颜色五个棋子的一方为胜。

2.LabVIEW程序结构的合理应用。

3.游戏界面的设计及美化。

三、工作内容和要求:

1.游戏开始,设计子程序对棋盘进行初始化,初始化子程序用循环结构实现,数组显示当期棋盘状态。

2.初始化结束后,选择游戏模式,选择人机对弈模式或双人对弈模式。

应用条件结构进行选择。

3.选择游戏模式后,进行游戏,双方下棋子的位置要用数组显示当前棋盘状态。

如果选择了双人对弈,就只要记住双方下子位置。

如果选择了人机对弈,就要搜索当前局面的最佳应对着法,由电脑计算下子位置。

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

如果有一方获胜,此时跳出对话框,显示一方获胜,游戏结束。

按下确定,同时初始化棋盘,可以重新开始游戏。

四、主要参考文献:

[1]林飞.中国艺术经典全书之五子棋[M],吉林摄影出版社.2003.12

[2]彭建国、那威.连珠五子棋入门[M],金盾出版社.1997.6

[3]阮奇桢.我和LabVIEW——一个NI工程师的十年编程经验[M],北京航空航天大学出版社,2009.09

[4]王长飞、蔡强、李海生.智能五子棋算法的设计实现[M],系统仿真学报第21卷第四期2009.02

[5]王永庆.人工智能原理与方法[M],西安交通大学出版社.1998.8

[6]崔良沂、赵永昌.人工智能[M],第3版清华大学出版社.2005.9

[7]贾功贤、刘成康等.基于PC的虚拟仪器的发展趋势[J],电子技术应用.1999

[8]NI.MeasurementandAutomationCatalog[Z],2003.9

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

[10]LabVIEW8.20程序设计从入门到精通.清华大学出版.2007.7

学生(签名)年月日

指导教师(签名)年月日

教研室主任(签名)年月日

系主任(签名)年月日

毕业设计(论文)开题报告

设计(论文)题目

基于LabVIEW的五子棋游戏开发

一、选题的背景和意义:

五子棋作为一个棋类竞技运动,不仅能增强人的思维能力、提高智力,而且富含哲理、有助于修身养性。

LabVIEW是一种用图标代替文本行创建应用程序的图形化编程语言,界面看起来生动形象、简洁明了。

这款利用LabVIEW所设计的单机版的五子棋游戏,可以供人们闲暇时光随时随地地进行娱乐提高自己的五子棋水平。

二、课题研究的主要内容:

本系统在LabVIEW环境下完成一个简易五子棋游戏的设计。

1.游戏开始,调用子程序对棋盘进行初始化,初始化子程序用循环结构实现,数组显示当期棋盘状态。

2.初始化结束后,选择游戏模式,选择人机对弈模式或双人对弈模式。

应用条件结构进行选择。

3.选择游戏模式后,进行游戏,双方下棋子的位置要用数组显示当前棋盘状态。

如果选择了双人对弈,就只要记住双方下子位置。

如果选择了人机对弈,就要搜索当前局面的最佳应对着法,由电脑计算下子位置。

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

如果有一方获胜,此时跳出对话框,显示一方获胜,游戏结束。

按下确定,同时初始化棋盘,可以重新开始游戏。

三、主要研究(设计)方法论述:

本游戏开发重点、难点:

搜索核心、着法生成及初始化模块。

搜索核心:

该模块主要是搜索当前局面的最佳应对着法,包含一个搜索引擎,该引擎调用各种搜索函数实现搜索功能,使用最基本的极大极小值搜索算法。

着法生成:

生成当前局面下,搜索引擎进行递归搜索时所要计算的着法(即哪几步是要进行计算的)。

初始化模块:

调用子程序初始化棋盘。

 

四、设计(论文)进度安排:

时间(迄止日期)

工作内容

2011.09.06~2011.09.15

确定毕业设计题目。

2011.09.16~2011.09.30

搜集相关的资料,了解设计的基本内容与相关要求。

2011.10.01~2011.10.05

完成开题报告。

2011.10.06~2011.10.20

设计方案,绘制原理框图。

2011.10.13~2011.10.23

根据原理,进行LabVIEW程序编写。

2011.10.24-2011.11.02

撰写毕业设计论文。

2011.11.03-2011.11.10

提交老师处,进行修改。

2010.11.11~2010.11.15

正式完成并提交论文。

2011.11.16~2010.11.20

准备答辩。

五、指导教师意见:

 

            指导教师签名:

年月日

六、系部意见:

 

           系主任签名:

年月日

基于LabVIEW的五子棋游戏

摘要

Abstract

第1章前言1

第2章LabVIEW简介2

2.1LabVIEW的概念2

2.2LabVIEW的特点2

第3章总体设计方案3

3.1五子棋游戏规则3

3.2游戏设计框图3

3.3游戏设计流程图4

3.3.1总体设计流程图4

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

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

第4章各模块程序设计7

4.1初始棋盘模块7

4.2多步计算模块7

4.2.1多步计算流程图7

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

4.3决定下子方模块10

4.4判定胜负模块10

4.4.1判定胜负模块设计前面板及程序框图10

4.5胜负对话模块11

第5章主程序设计14

5.1游戏主程序设计14

5.1.1五子棋主程序的程序框图14

5.1.2五子棋的游戏界面15

5.2结果演示16

第6章结束语17

参考文献18

答谢辞19

摘要

随着生活水平的不断提高,人们不再仅仅满足于物质生活,闲暇时光人们会选择自己喜欢的娱乐活动用做消遣。

五子棋作为一个棋类竞技运动,不仅能增强人的思维能力、提高智力,而且富含哲理、有助于修身养性,因此越来越受到人们的喜爱。

鉴于此,本文以LabVIEW为平台,设计开发了这款单机版的五子棋游戏软件。

LabVIEW(LaboratoryVirtualinstrumentEngineeringWorkbench)是一种用图标代替文本行创建应用程序的图形化编程语言,是由美国国家仪器(NI)公司研制开发的。

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

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

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

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

如果有一方获胜,此时跳出对话框,显示一方获胜,游戏结束。

按下确定,同时初始化棋盘,可以重新开始游戏。

程序主要涉及到棋盘棋子的设计,各模块的搭建及前面板的美化。

界面看起来生动形象、简洁明了。

关键词:

LabVIEW;双人对弈;五子棋

 

Abstract

Withthecontinuousimprovementoflivingstandards,peoplenolongersati-sfiedwithjustmateriallife,leisuretimepeoplewillchooseyourfavoriteenter-t-ainmentusedforrecreation.Gobangasachesscompetitivesports,notonlyc-anenhancetheperson'sthinkingability,improveintelligence,andhighinphiloso-phy,helpstocultivateone'smoralityraisesagender,accordinglymoreandmorepopular.Inviewofthis,thisarticlefortheplatforminLabVIEW,designde-velopofthissingleversionofrenjugamesoftware.

LabVIEW(LaboratoryVirtualinstrumentEngineeringWorkbench)isakindoficoninsteadoftextlinetocreatetheapplication'sgraphicalprogrammingla-nguage,isbytheusnationalinstrument(NI)researchanddevelopmentcompan-y.

ThisparagraphofrenjugamebasedonsimpleLabVIEW,dividedintotheman-machineplaychessmodelanddoubleplaychessmode.Choosethegamemodeafterstartthegame,thedesignprocedureofchessboardinitialized,arraydisplaycurrentstateboard.Theman-machineChinesechessplayingmode,onefromthecomputercalculationquicksnipoftheshearposition;Doubleplaychessmode,thetwopartiesdecidedtoquicksnipoftheshearposition.Inthegame,eitherontheboardfirstformedthelongitudinal,vertical,inclinedtocontinuousthesamecolorofthefivepiecestothepartyforthewin.Ifonepartywins,thistimethejumpoutofthedialogbox,showsapartywins,andthegameisover.Pressokandinitialboard,tostartthegame.

Proceduremainlyinvolvespiecestotheboarddesign,eachmoduleofthebuildingandthefrontpanelofbeautification.Interfacelooksvividimage,conciseandclear.

Keywords:

LabVIEW;Doubleplaychess;Gobang

 

第1章前言

五子棋是一种两人对弈的纯策略型棋类游戏,是起源于中国古代的传统黑白棋种之一,发展于日本,流行于欧美。

它作为一个棋类竞技运动,在民间十分流行。

它不仅能增强人的思维能力、提高智力,而且富含哲理、有助于修身养性。

正因为这样五子棋越来越受到大众的喜爱。

LabVIEW是一种用图标代替文本行创建应用程序的图形化编程语言,界面看起来生动形象、简洁明了。

传统文本编程语言根据语句和指令的先后顺序决定程序执行顺序。

LabVIEW采用的是数据流编程方式,程序框图中节点之间的数据流向决定了VI及函数的执行顺序。

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

在程序制作的过程中还会涉及各个模块的调用、双方胜负的判定方法及前面板的美化。

 

第2章LabVIEW简介

2.1LabVIEW的概念

LabVIEW(LaboratoryVirtualinstrumentEngineeringWorkbench)是一种图形化的编程语言的开发环境,是由美国国家仪器(NI)公司研制开发的,类似于C和BASIC开发环境。

但是LabVIEW与其他计算机语言的显著区别是:

其他计算机语言都是采用基于文本的语言产生代码,而LabVIEW使用的是图形化编辑语言G编写程序,产生的程序是框图的形式。

它内置了便于应用TCP/IP、ActiveX等软件标准的库函数。

这是一个功能强大且灵活的软件。

利用它可以方便地建立自己的虚拟仪器,其图形化的界面使得编程及使用过程都生动有趣。

图形化的程序语言,又称为“G”语言。

使用这种语言编程时,基本上不写程序代码,取而代之的是流程图或框图。

它尽可能利用了技术人员、科学家、工程师所熟悉的术语、图标和概念,因此,LabVIEW是一个面向最终用户的工具。

它可以增强你构建自己的科学和工程系统的能力,提供了实现仪器编程和数据采集系统的便捷途径。

使用它进行原理研究、设计、测试并实现仪器系统时,可以大大提高工作效率

2.2LabVIEW的特点

与VisualC++、VisualBasic等计算机编程语言相比,图形化编程工具LabVIEW有一个重要的不同点:

不采用基于文本的语言产生代码行,而使用图形化编程语言G编写程序;产生的程序是框图的形式,用框图代替了传统的程序代码。

LabVIEW中的Ⅵ程序由三部分构成:

前面板、程序框图、Ⅵ图标、连线板。

前面板是Ⅵ程序的用户操作界面,是Ⅵ程序的交互式输入和输出端口,通常使用输入控件和显示控件来创建前面板。

输入控件是指旋钮、按钮、转盘等输入装置,输入控件模拟仪器的输入装置,为Ⅵ的程序框图提供数据;显示控件是指图表、指示灯等显示装置,显示控件模拟仪器的输出装置,用以显示程序框图获取或生成的数据。

在LabVIEW中有3种不同外观的控件可供选择,分别是:

Modern、System和Classic。

其中Modern控件是NI专门为LabVIEW设计的具有3D效果的控件,它能够确保在不同的操作系统下显示始终是一样的;而System是采用系统控件,它的外观与操作系统有关,不同的操作系统下控件的显示外观有所不同。

大多数的程序员似乎更愿意选择System控件,理由是它可以让程序看起来不那么LabVIEW化。

但是LabVIEW并不允许程序员任意自定义System控件的外观,这同时也限制了System控件的使用。

应用程序的界面是提供给使用者的第一印象,直接影响到应用程序的用户体验。

因此,有效、合理的界面能够为程序增色不少。

LabVIEW提供了丰富的界面控件供开发者选择,有经验的程序员往往能够利用这些控件做出令人称赞的界面效果。

第3章总体设计方案

3.1五子棋游戏规则

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

相传起源于四千多年前的尧帝时期,比围棋的历史还要悠久。

在古代,五子棋棋具虽然与围棋相类同,但是下法却是完全不同的。

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

五子棋的游戏规则如下:

1.行棋顺序:

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

2.判断胜负

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

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

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

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

3.如分不出胜负,则定为平局。

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

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

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

若白方未发现或发现后未指明而继续应子,则不能判黑方负。

7.时间限定:

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

3.2游戏设计框图

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

图3.1五子棋游戏总体设计框图

3.3游戏设计流程图

3.3.1总体设计流程图

游戏开始,对棋盘进行初始化,初始化完成后,由主循环控制模块来控制轮到哪方下子,在游戏进行过程中,若有一方获胜,则跳出获胜对话框,再决定是否重新开始游戏;如果没有一方获胜,则程序不断循环执行。

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

图3.2五子棋游戏流程图

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

本游戏可分为两种模式:

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

若选择人机对弈模式,游戏开始,判断该位置是否有棋子。

如无棋,则黑方先落棋。

再判断黑方是否获胜,如果黑方获胜则选择是否重新开局,选择是就重新开始游戏,否则直接结束游戏。

如果黑方没有获胜,则电脑计算下子位置,方式同上。

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

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

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

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

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

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

第4章各模块程序设计

4.1初始棋盘模块

按下重新开始按钮后,调用该程序初始化棋盘。

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

图4.1初始棋盘前面板

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

初始棋盘程序框图如图4.2所示。

图4.2初始棋盘程序框图

4.2多步计算模块

4.2.1多步计算流程图

判断当前的最大权值是否大于100000,如果大于100000表明当前已有形成活三的棋子,则当前位置一定要下子——已方有活三的话要继续求胜,对方有活三的话则要阻止。

如果没有活三以上的棋则开始试下子,计算最佳下棋位置。

首先在当前的最佳位置试下一个已方子—白子,然后判断下子后是否有一方胜,如无则继续在试下子后的最佳位置下黑子,下完后再判断是否有一方胜,以此类推。

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

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

图4.3多步计算流程图

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

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

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

图4.4多步计算前面板

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

在这个复杂的程序里也同样调用了三个子程序,像权值计算、执行下子和判定胜负。

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

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

图4.5多步计算部分程序框图

图4.6多步计算部分程序框图

4.3决定下子方模块

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

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

图4.7决定下子方前面板

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

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

图4.8决定下子方程序框图

4.4判定胜负模块

4.4.1判定胜负模块设计前面板及程序框图

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

判定胜负前面板如图4.9所示。

图4.9判定胜负前面板

 

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

其他方向相同。

判定胜负程序框图如图4.10所示。

 

图4.10判定胜负部分程序框图

 

4.5胜负对话模块

胜负对话前面板如图4.11所示:

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

图4.11胜负对话模块前面板

 

当行或列的输出为-1时,表明当前棋盘没有棋子被下,但是,因为查询用户下子的循环又被停止,可判定此局被用户退出或程序被用户退出,此时不应该弹出胜负对话框,并用此方法代替使用“退出”或“重新开始”两个布尔量的局部变量来停止循环。

用高亮执行,运行后点击“重新开始”后可以更方便地看出此处原理。

胜负对话程序框图如图4.12所示。

 

图4.12胜负对话模块程序框图

 

当行或列的输出不为-1时,表明当前棋盘有棋子被下,此时有两种可能,黑子胜或白子胜,若黑子胜则跳出“黑子胜”对话框,若白子胜则跳出“白子胜”对话框。

胜负对话程序框图如图4.13所示。

图4.13胜负对话模块程序框图

 

第5章主程序设计

5.1游戏主程序设计

5.1.1五子棋主程序的程序框图

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

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

 

图5.1双人对弈程序框图

 

图5.2人机对弈程序框图

5.1.2五子棋的游戏界面

五子棋的游戏界面看起来很简洁,主要包括了人机对弈和双人对弈选择、重新开始按钮和退出程序按钮,这是在游戏过程中最基本的功能。

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

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

图5.3游戏界面

5.2结果演示

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

图5.4人机对弈结果显示

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

图5.5双人对弈结果显示

第6章结束语

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

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

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

设计中也有一些优点,这款单机版的五子棋游戏可以根据人数的情况,选择人机对弈或双人对弈模式,能够满足人们随时随地的娱乐需求。

 

参考文献

[1]林飞.中国艺术经典全书之五子棋[M],吉林摄影出版社.2003.12

[2]彭建国、那威.连珠五子棋入门[M],金盾出版社.1997.6

[3]阮奇桢.我和LabVIEW——一个NI工程师的十年编程经验[M],

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

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2