1、常州信息职业技术学院学生毕业设计(论文)汇报系 别: 电子和电气工程学院 专 业: 电气自动化 班 号: 电气092 学 生 姓 名: 刘利 学 生 学 号: 设计(论文)题目:基于LabVIEW五子棋游戏开发 指 导 教 师: 陈琳 设 计 地 点: 常州信息职业技术学院 起 迄 日 期: .09.06.11.20 毕业设计(论文)任务书专业 电气自动化 班级 电气092 姓名 刘利 一、课题名称: 基于LabVIEW五子棋游戏开发 二、关键研究内容: 1. 游戏行棋规则:黑先、白后,任一方先在棋盘上形成纵向、竖向、斜向连续相同颜色五个棋子一方为胜。 2. LabVIEW程序结构合理应用。
2、3. 游戏界面设计及美化。 三、工作内容和要求: 1. 游戏开始,设计子程序对棋盘进行初始化,初始化子程序用循环结构实现,数组显示当期棋盘状态。 2. 初始化结束后,选择游戏模式,选择人机对弈模式或双人对弈模式。应用条件结构进行选择。 3. 选择游戏模式后,进行游戏,双方下棋子位置要用数组显示目前棋盘状态。假如选择了双人对弈,就只要记住双方下子位置。假如选择了人机对弈,就要搜索目前局面最好应对着法,由电脑计算下子位置。 4游戏中,任一方先在棋盘上形成纵向、竖向、斜向连续相同颜色五个棋子一方为胜。假如有一方获胜,此时跳出对话框,显示一方获胜,游戏结束。按下确定,同时初始化棋盘,能够重新开始游戏。
3、 四、关键参考文件: 1 林飞. 中国艺术经典全书之五子棋M, 吉林摄影出版社.12 2 彭建国、那威. 连珠五子棋入门M, 金盾出版社.1997.6 3 阮奇桢. 我和LabVIEW一个NI工程师十年编程经验M, 北京航空航天大学出版社,.09 4 王长飞、蔡强、李海生. 智能五子棋算法设计实现M, 系统仿真学报 第21卷第四期 . 02 5 王永庆. 人工智能原理和方法M, 西安交通大学出版社.1998.8 6 崔良沂、赵永昌. 人工智能M, 第3 版清华大学出版社.9 7 贾功贤、刘成康等. 基于PC虚拟仪器发展趋势J, 电子技术应用.1999 8 NI. Measurement and
4、 Automation CatalogZ, .9 9 LabVIEW 虚拟仪器程序设计及应用.人民邮电出版社.12 10 LabVIEW8.20程序设计从入门到精通.清华大学出版.7 学 生(署名) 年 月 日 指 导 老师(署名) 年 月 日 教研室主任(署名) 年 月 日 系 主 任(署名) 年 月 日毕业设计(论文)开题汇报设计(论文)题目基于LabVIEW五子棋游戏开发一、 选题背景和意义:五子棋作为一个棋类竞技运动,不仅能增强人思维能力、提升智力,而且富含哲理、有利于修身养性。LabVIEW是一个用图标替换文本行创建应用程序图形化编程语言,界面看起来生动形象、简练明了。这款利用Lab
5、VIEW所设计单机版五子棋游戏,能够供大家闲暇时光随时随地地进行娱乐提升自己五子棋水平。二、 课题研究关键内容:本系统在LabVIEW环境下完成一个简易五子棋游戏设计。1.游戏开始,调用子程序对棋盘进行初始化,初始化子程序用循环结构实现,数组显示当期棋盘状态。2.初始化结束后,选择游戏模式,选择人机对弈模式或双人对弈模式。应用条件结构进行选择。3.选择游戏模式后,进行游戏,双方下棋子位置要用数组显示目前棋盘状态。假如选择了双人对弈,就只要记住双方下子位置。假如选择了人机对弈,就要搜索目前局面最好应对着法,由电脑计算下子位置。4.游戏中,任一方先在棋盘上形成纵向、竖向、斜向连续相同颜色五个棋子一
6、方为胜。假如有一方获胜,此时跳出对话框,显示一方获胜,游戏结束。按下确定,同时初始化棋盘,能够重新开始游戏。三、关键研究(设计)方法叙述:本游戏开发关键、难点:搜索关键、着法生成及初始化模块。搜索关键:该模块关键是搜索目前局面最好应对着法,包含一个搜索引擎,该引擎调用多种搜索函数实现搜索功效,使用最基础极大极小值搜索算法。着法生成:生成目前局面下,搜索引擎进行递归搜索时所要计算着法(即哪几步是要进行计算)。初始化模块:调用子程序初始化棋盘。四、设计(论文)进度安排:时间(迄止日期)工 作 内 容.09.06.09.15确定毕业设计题目。.09.16.09.30搜集相关资料,了解设计基础内容和相
7、关要求。.10.01.10.05完成开题汇报。.10.06.10.20设计方案,绘制原理框图。.10.13.10.23依据原理,进行LabVIEW程序编写。.10.24-.11.02撰写毕业设计论文。.11.03-.11.10提交老师处,进行修改。.11.11.11.15正式完成并提交论文。.11.16.11.20准备答辩。五、指导老师意见: 指导老师署名: 年 月 日六、系部意见: 系主任署名: 年 月 日基于LabVIEW五子棋游戏 目录摘要Abstract第1章 序言1第2章 LabVIEW介绍22.1 LabVIEW概念22.2 LabVIEW特点2第3章 总体设计方案33.1五子棋游
8、戏规则33.2游戏设计框图33.3游戏设计步骤图43.3.1总体设计步骤图43.3.2人机对弈模式下游戏步骤图43.3.3双人对弈模式下游戏步骤图5第4章 各模块程序设计74.1初始棋盘模块74.2多步计算模块74.2.1多步计算步骤图74.2.2多步计算前面板及程序框图84.3决定下子方模块104.4判定胜败模块104.4.1判定胜败模块设计前面板及程序框图104.5胜败对话模块11第5章 主程序设计145.1游戏主程序设计145.1.1五子棋主程序程序框图145.1.2五子棋游戏界面155.2结果演示16第6章 结束语17参考文件18答谢辞19摘要伴随生活水平不停提升,大家不再仅仅满足于物
9、质生活,闲暇时光大家会选择自己喜爱娱乐活动用做消遣。五子棋作为一个棋类竞技运动,不仅能增强人思维能力、提升智力,而且富含哲理、有利于修身养性,所以越来越受到大家喜爱。鉴于此,本文以LabVIEW为平台,设计开发了这款单机版五子棋游戏软件。LabVIEW(Laboratory Virtual instrument Engineering Workbench)是一个用图标替换文本行创建应用程序图形化编程语言,是由美国国家仪器(NI)企业研制开发。这款基于LabVIEW简易五子棋游戏,有些人机对弈和双人对弈两种模式。选择游戏模式后开始游戏,设计程序对棋盘进行初始化,数组显示当期棋盘状态。人机对弈模式
10、中,其中一方由电脑计算下子位置;双人对弈模式中,由双方决定下子位置。游戏中,任一方先在棋盘上形成纵向、竖向、斜向连续相同颜色五个棋子一方为胜。假如有一方获胜,此时跳出对话框,显示一方获胜,游戏结束。按下确定,同时初始化棋盘,能够重新开始游戏。程序关键包含到棋盘棋子设计,各模块搭建及前面板美化。界面看起来生动形象、简练明了。关键词:LabVIEW;双人对弈;五子棋 Abstract With the continuous improvement of living standards, people no longer sati-sfied with just material life, le
11、isure time people will choose your favorite enter-t-ainment used for recreation. Gobang as a chess competitive sports, not only c-an enhance the persons thinking ability, improve intelligence, and high in philoso-phy, helps to cultivate ones morality raises a gender, accordingly more and more popula
12、r. In view of this, this article for the platform in LabVIEW, design de-velop of this single version of renju game software. LabVIEW (Laboratory Virtual instrument Engineering Workbench) is a kind of icon instead of text line to create the applications graphical programming la-nguage, is by the us n
13、ational instrument (NI) research and development compan-y. This paragraph of renju game based on simple LabVIEW, divided into the man-machine play chess model and double play chess mode. Choose the game mode after start the game, the design procedure of chessboard initialized, array display current
14、state board. The man-machine Chinese chess playing mode, one from the computer calculation quick snip of the shear position; Double play chess mode, the two parties decided to quick snip of the shear position. In the game, either on the board first formed the longitudinal, vertical, inclined to cont
15、inuous the same color of the five pieces to the party for the win. If one party wins, this time the jump out of the dialog box, shows a party wins, and the game is over. Press ok and initial board, to start the game. Procedure mainly involves pieces to the board design, each module of the building a
16、nd the front panel of beautification. Interface looks vivid image, concise and clear. Keywords: LabVIEW; Double play chess; Gobang第1章 序言五子棋是一个两人对弈纯策略型棋类游戏,是起源于中国古代传统黑白棋种之一,发展于日本,流行于欧美。它作为一个棋类竞技运动,在民间十分流行。它不仅能增强人思维能力、提升智力,而且富含哲理、有利于修身养性。正因为这么五子棋越来越受到大众喜爱。LabVIEW是一个用图标替换文本行创建应用程序图形化编程语言,界面看起来生动形象、简练明了
17、。传统文本编程语言依据语句和指令前后次序决定程序实施次序。LabVIEW采取是数据流编程方法,程序框图中节点之间数据流向决定了VI及函数实施次序。为了供大家闲暇时间随时随地地进行娱乐,提升自己五子棋水平,本文以LabVIEW为平台,设计开发了这款单机版五子棋游戏软件。在程序制作过程中还会包含各个模块调用、双方胜败判定方法及前面板美化。 第2章 LabVIEW介绍2.1 LabVIEW概念LabVIEW(Laboratory Virtual instrument Engineering Workbench)是一个图形化编程语言开发环境,是由美国国家仪器(NI)企业研制开发,类似于C和BASIC开
18、发环境。不过LabVIEW和其它计算机语言显著区分是:其它计算机语言全部是采取基于文本语言产生代码,而LabVIEW使用是图形化编辑语言G编写程序,产生程序是框图形式。它内置了便于应用TCP/IP、ActiveX等软件标准库函数。这是一个功效强大且灵活软件。利用它能够方便地建立自己虚拟仪器,其图形化界面使得编程及使用过程全部生动有趣。 图形化程序语言,又称为 “G” 语言。使用这种语言编程时,基础上不写程序代码,取而代之是步骤图或框图。它尽可能利用了技术人员、科学家、工程师所熟悉术语、图标和概念,所以,LabVIEW是一个面向最终用户工具。它能够增强你构建自己科学和工程系统能力,提供了实现仪器
19、编程和数据采集系统便捷路径。使用它进行原理研究、设计、测试并实现仪器系统时,能够大大提升工作效率2.2 LabVIEW特点和Visual C、Visual Basic等计算机编程语言相比,图形化编程工具LabVIEW有一个关键不一样点:不采取基于文本语言产生代码行,而使用图形化编程语言G编写程序;产生程序是框图形式,用框图替换了传统程序代码。LabVIEW中 程序由三部分组成:前面板、程序框图、图标、连线板。前面板是程序用户操作界面,是 程序交互式输入和输出端口,通常使用输入控件和显示控件来创建前面板。输入控件是指旋钮、按钮、转盘等输入装置,输入控件模拟仪器输入装置,为程序框图提供数据;显示控
20、件是指图表、指示灯等显示装置,显示控件模拟仪器输出装置,用以显示程序框图获取或生成数据。在LabVIEW中有3种不一样外观控件可供选择,分别是:Modern、System和Classic。其中Modern控件是NI专门为LabVIEW设计含有3D效果控件,它能够确保在不一样操作系统下显示一直是一样;而System是采取系统控件,它外观和操作系统相关,不一样操作系统下控件显示外观有所不一样。大多数程序员似乎更愿意选择System控件,理由是它能够让程序看起来不那么LabVIEW化。不过LabVIEW并不许可程序员任意自定义System控件外观,这同时也限制了System控件使用。应用程序界面是提
21、供给使用者第一印象,直接影响到应用程序用户体验。所以,有效、合理界面能够为程序增色不少。LabVIEW提供了丰富界面控件供开发者选择,有经验程序员往往能够利用这些控件做出令人称赞界面效果。第3章 总体设计方案3.1五子棋游戏规则五子棋,亦称连五子、五子连、串珠、五目、五目碰、五格等。相传起源于四千多年前尧帝时期,比围棋历史还要悠久。在古代,五子棋棋具即使和围棋相类同,不过下法却是完全不一样。正如辞海中所言,五子棋是“棋类游戏,棋具和围棋相同,两人对局,轮番下子,先将五子连成一行者为胜”。五子棋游戏规则以下:1. 行棋次序:黑先、白后,从天元开始相互次序落子。2. 判定胜败 最先在棋盘横向、竖向
22、、斜向形成连续相同色五个棋子一方为胜。黑棋禁手判负(Lose),白棋无禁手。黑棋禁手包含“三、三”(包含“四、三、三”)、“四、四” (包含“四、四、三”)、“长连”。黑棋只能以“四、三”取胜。 3. 如分不出胜败,则定为平局。4. 对局中中途退场判为负。 5. 五连和禁手同时形成,先五为胜。 6. 黑方禁手形成时,白方应立即指出。若白方未发觉或发觉后未指明而继续应子,则不能判黑方负。 7. 时间限定: 每方20分钟包干,然后1分钟读秒。3.2游戏设计框图从棋盘棋子设计、各模块搭建到主程序编写、前面板美化,五子棋游戏总体设计步骤图3.1所表示。图3.1五子棋游戏总体设计框图3.3游戏设计步骤图
23、3.3.1总体设计步骤图游戏开始,对棋盘进行初始化,初始化完成后,由主循环控制模块来控制轮到哪方下子,在游戏进行过程中,若有一方获胜,则跳出获胜对话框,再决定是否重新开始游戏;假如没有一方获胜,则程序不停循环实施。五子棋游戏步骤图3.2所表示。 图3.2五子棋游戏步骤图3.3.2人机对弈模式下游戏步骤图本游戏可分为两种模式:人机对弈模式和双人对弈模式。若选择人机对弈模式,游戏开始,判定该位置是否有棋子。如无棋,则黑方先落棋。再判定黑方是否获胜,假如黑方获胜则选择是否重新开局,选择是就重新开始游戏,不然直接结束游戏。假如黑方没有获胜,则电脑计算下子位置,方法同上。五子棋人机对弈模式下游戏步骤图3
24、.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多步计算步骤图判定目前最大
25、权值是否大于100000,假如大于100000表明目前已经有形成活三棋子,则目前位置一定要下子已方有活三话要继续求胜,对方有活三话则要阻止。假如没有活三以上棋则开始试下子,计算最好下棋位置。 首先在目前最好位置试下一个已方子白子,然后判定下子后是否有一方胜,如无则继续在试下子后最好位置下黑子,下完后再判定是否有一方胜,以这类推。当最好位置试下完成后,再在第二佳位置继续试下子, 直到三个最好位置试下完成,试下完成后如无很好下子位置,则选择未试下子前最好位置进行下子。多步计算步骤图4.3所表示。图4.3 多步计算步骤图4.2.2 多步计算前面板及程序框图数值显示电脑计算出目前最好下子位置。多步计算
26、前面板图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
27、.4.1判定胜败模块设计前面板及程序框图数组显示目前棋盘状态,布尔量指示某一方获胜。判定胜败前面板图4.9所表示。图4.9判定胜败前面板计算目前行子数,相加为10是表示,五个子全为黑,黑胜;相加为0时表示五个子全为白,白胜。其它方向相同。判定胜败程序框图图4.10所表示。图4.10判定胜败部分程序框图4.5胜败对话模块胜败对话前面板图4.11所表示:用布尔量来指示哪方获胜。 图4.11胜败对话模块前面板当行或列输出为-1时,表明目前棋盘没有棋子被下,不过,因为查询用户下子循环又被停止,可判定此局被用户退出或程序被用户退出,此时不应该弹出胜败对话框,并用此方法替换使用“退出”或“重新开始”两个布
28、尔量局部变量来停止循环。用高亮实施,运行后点击“重新开始”后能够更方便地看出此处原理。胜败对话程序框图图4.12所表示。图4.12胜败对话模块程序框图当行或列输出不为-1时,表明目前棋盘有棋子被下,此时有两种可能,黑子胜或白子胜,若黑子胜则跳出“黑子胜”对话框,若白子胜则跳出“白子胜”对话框。胜败对话程序框图图4.13所表示。图4.13胜败对话模块程序框图第5章 主程序设计5.1游戏主程序设计5.1.1五子棋主程序程序框图 因为主程序程序框图较为复杂,在完成前面模块搭建基础上,将各模块作为完成各功效模块,调用到主程序中去,为是程序看起来简练明了富有条理性。五子棋两种对弈模式下主程序程序框图图5
29、.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平台开发五子棋游戏,游戏界面美观,程序设计清楚明了、简单易读。在
30、程序运行过程中,有部分不足,如没有设计帮助文档及悔棋程序等,说明游戏功效全方面性还不够强。这需要在实践中深入完善。设计中也有部分优点,这款单机版五子棋游戏能够依据人数情况,选择人机对弈或双人对弈模式,能够满足大家随时随地娱乐需求。 参考文件1 林飞. 中国艺术经典全书之五子棋M, 吉林摄影出版社.122 彭建国、那威. 连珠五子棋入门M, 金盾出版社.1997.63 阮奇桢. 我和LabVIEW一个NI工程师十年编程经验M, 北京航空航天大学出版社,.09.4 王长飞、蔡强、李海生. 智能五子棋算法设计实现M,系统仿真学报 第21卷第四期 . 02 5 王永庆. 人工智能原理和方法M, 西安交
31、通大学出版社.1998.8 6 崔良沂、赵永昌. 人工智能M, 第3 版清华大学出版社.9 7 贾功贤、刘成康等. 基于PC虚拟仪器发展趋势J, 电子技术应用.1999 8 NI.Measurement and Automation CatalogZ, .9 9 LabVIEW虚拟仪器程序设计及应用.人民邮电出版社.12 10 LabVIEW8.20程序设计从入门到精通.清华大学出版.7 答谢辞经过一个多月不懈努力,今天最终能够完成毕业设计论文最终部分,开始写谢辞了。这表示我离开这个学校时刻快要到了。回想起求学期间点点滴滴,不禁老套地感叹,真是时光飞逝啊!大学生活就在这一转眼间过去了!最近几天
32、这种感觉真相当强烈.学校呆不下去了,还没来得急做什么准备呢,就已经被一脚踢进社会了!两年努力和付出,伴随论文完成,最终让我大学生活划下了一个完整句点。毕业设计顺利完成,乃至学业顺利完成,在这个漫长而又短暂过程中,有多少可敬师长、同学和好友给了我莫大支持和帮助。在这里请接收我真挚谢意!感谢我指导老师陈琳老师,本论文从选题到完成,每一步全部倾注了陈老师大量心血,是她给了我莫大支持和帮助、耐心教导和解惑。你从一开始论文方向选定,到最终整篇论文完成,全部很耐心对我进行指导,给我提供了很多宝贵意见,告诉我应该注意哪些细节问题,细心地给我指犯错误,修改论文。 感谢我同学和好友们,是你们陪我渡过了大学两年美
33、好时光,给我留下了很多难忘回想。尤其要感谢袁爱建、朱雯君和顾夕万同学,感谢她们在毕业设计过程中和大学以来全部专业课学习中给了我如此多帮助.感谢我舍友们,感谢你们陪同和在生活中给关心和帮助,让我学会了和人相处艺术。 感谢我学校,感谢为我们提供了如此好学习和生活环境。感谢在大学期间全部传授我知识老师们,感谢你们不仅教会了我很多专业知识,更培养了我良好自主学习能力.这也是论文得以顺利完成基础。感谢我家人,感谢你们这么多年来默默支持和关爱。培养了我乐观向上,主动进取精神。 感谢人生中全部喜爱和不喜爱我人,感谢人生中全部给和没有给过我帮助人,感谢人生中全部我碰到和没有碰到人。是你们让我生活充满了不一样滋
34、味。愈加感谢生活对我磨练,造就了我坚强勇敢性格。愈加给了我继续前行动力。祝全部我感谢大家,一生幸福平安。毕业设计(论文)成绩评定表一、指导老师评分表(总分为70分)序 号考 核 项 目满 分评 分1工作态度和纪律102调研论证103外文翻译54设计(论文)汇报文字质量105技术水平和实际能力156基础理论、专业知识和结果价值157思想和方法创新5累计70指导老师综合评语: 指导老师署名: 年 月 日 二、答辩小组评分表(总分为30分)序 号考 核 项 目满 分评 分1技术水平和实际能力52基础理论、专业知识和结果价值53设计思想和试验方法创新54设计(论文)汇报内容讲述55回复问题正确性10累计30答辩小组评价意见(提议等第): 答辩小组组长老师署名: 年 月 日三、系答辩委员会审定表1 审定意见2审定成绩(等第)_ _ 系主任签字: 年 月 日