本科毕业设计---五子棋游戏的设计与实现.doc
《本科毕业设计---五子棋游戏的设计与实现.doc》由会员分享,可在线阅读,更多相关《本科毕业设计---五子棋游戏的设计与实现.doc(30页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、毕 业 论 文(设 计)题 目 五子棋游戏的设计与实现 姓 名 王勇 学号 1109064029 所在院(系) 数学与计算机科学学院 专业班级 信息与计算科学1101班 指导教师 拓守恒 完成地点 陕西理工学院 2015年 5 月18日陕西理工学院毕业设计五子棋游戏的设计与实现作者:王勇(陕理工学院数学与计算机科学学院信息与计算科学专业1101班,陕西 汉中 723000)指导教师:拓守恒 摘要 五子棋是起源于我国古代的黑白棋种之一,是一种简单的娱乐性较强的大众游戏,深受广大玩家的喜爱,但同时作为比赛,五子棋游戏还有着深奥的技巧。 本系统的实现采用了C语言的模块化的程序设计方式,用Visual
2、 C+ 6.0软件来实现程序的编译运行。实现黑白两方分别落子,通过棋盘上方的棋盘动态信息提示,轮流落子,本系统中游戏的每一个功能在程序中都是一个相对独立的模块,比如,棋盘模块,棋子模块,选择游戏模式模块,悔棋模块等等在程序中都是独立的,但它们之间通过逻辑关系的链接又构成了一个可以使游戏正常运行的程序。为实现游戏的双人对战模式和人机对战模式,并使得游戏尽量的简单化,本系统需要达成以下目标:设计一个简洁的游戏初始界面;制定合法规则,使游戏能公正的进行,并且可以断定胜;支持人机对战模式,可以是电脑通过人工智能和合法规则选出最优落子位置;可以悔棋,在玩家落子落错位置时,可按下悔棋键进行悔棋。 关键词五
3、子棋,游戏设计,C语言,双人对战,人机对战,人工智能IDesigner and implementation of gobang gameAuthor: wangyong(Grade11,Class 1, Major in Information and computing science, Mathematics and computer science Dept. Shaanxi University of Technology, Hanzhong 723000,Shaanxi)Tutor: Tuo shouheng Abstract:Gobang is one of the black
4、and white kind of originated in ancient China, is a simple and entertaining stronger mass games, loved by the majority of players, but at the same time as the game, gobang game with profound skills. The implementation of this system has adopted C of modular program design method, using Visual C + +
5、6.0 software to realize the program compiler running. Implementation of black and white two parties move later, respectively, by the board at the top of the dynamic message board, take turns to move later, this game in the system each function in the program is a relatively independent modules, such
6、 as, the board module, pawn module, select game mode module, back module and so on in the program are independent, but the link through the logical relationship between them and form a can make the normal operation of the game program. In order to realize the double mode and man-machine game mode, a
7、nd make the game as far as possible the simplification, the system needs to achieve the following goals: design a simple game of initial interface;the legal rules, can make the game fair, and you can call;support the man-machine mode, can be a computer by artificial intelligence and legal rules to s
8、elect the optimal move later;can take back, fall in the players move later fault location, can press the back button to back. Key words:gobang,Game design,The C Programming Language,Double against,The man-machine against,Artificial intelligence(AI)目 录1.绪论11.1 引言11.2 研究的背景及意义11.2.1研究背景11.2.2研究意义11.3
9、基本目标及主要内容12.系统开发环境的介绍及选择12.1 C语言12.2开发及运行环境23.需求分析23.1总体需求分析23.2可行性分析23.2.1技术可行性分析23.2.2经济可行性分析23.2.3操作可行性分析23.3功能分析24.概要设计34.1五子棋特点与规则34.2流程图34.3双人模式54.4人机模式54.5智能算法54.6悔棋流程64.7输赢判断65.详细设计65.1画出游戏界面65.2画出棋子85.3设置棋局规则105.3.1落子规则105.3.2悔棋规则115.3.3输赢规则115.4实现双人对战125.5悔棋功能125.6判断输赢145.7退出游戏165.8实现人机对战1
10、65.8.1先手设置界面165.8.2电脑智能落子175.8.3可以悔棋、退出215.8.4显示输赢215.9各模块之间的衔接216.总结24致谢25参考文献26III1.绪论1.1 引言随着社会经济和科学技术的发展,计算机已经深入到人们日常工作和生活的方方面面,各种各样的程序软件也逐渐进入大众的生活,比如在闲暇时间的娱乐生活也开始变得被网络电子游戏等所充斥。而五子棋则是最受人们欢迎的一款益智类棋局游戏,它的简单性,娱乐性,竞技性注定它是一款火爆的游戏。1.2 研究的背景及意义 1.2.1研究背景五子棋游戏软件可以分为两种:一种是网络五子棋游戏软件,另一种是单机五子棋游戏软件。我设计的是单机版
11、的五子棋游戏软件,这款软件可以供人们在闲暇时间随时随地进行娱乐,并提高自己的棋艺,实用性较强。游戏的行棋顺序为:黑先、白后,黑棋第一子从天元开始相互依次落子,任一方先在棋盘上形成横向或竖向或斜向的连续的颜色相同的五个以上(含五个)棋子则该方为胜。该系统所实现的功能主要有三大功能:游戏选项、游戏设置、帮助。1.2.2研究意义五子棋是起源于中国古代的传统黑白棋种,当今社会在不同的地域对五子棋也有不同的称呼,其也是一种必须动用脑力的益智类游戏,所以五子棋可以增强思维能力,提高智力。其中蕴含古典哲学的高深学问“阴阳易理”哲理,有利于修身养性,它因为简单易学的特点,所以为人民群众所喜爱,但作为一项高水平
12、的国际比赛,它也有深奥技巧。1.3 基本目标及主要内容本系统是根据传统五子棋游戏的功能编写,实现了双人对战和人机对战。主要需实现如下目标:(1)Visual C+ 6.0环境的下的C语言编程(2)五子棋棋盘的设计(3)五子棋棋子的设计(4)黑白双方轮流落子的实现(5)棋局的悔棋功能(6)棋局进行时的退出功能(7)胜负的判定(8)人工智能算法分析2.系统开发环境的介绍及选择2.1 C语言C语言诞生于1972年的美国,在次之前还有A语言(其创造设计者是一位女性)和B语言。现在C语言成为了世界上使用最广泛的,最流行的高级程序设计语言之一。随着经济与科技的发展,微型计算机日渐普及,这导致了C语言的版本
13、的多样化,出现了一些不一致的语言特点。为了改变这种情况,美国国家标准研究所制定推广了一套ANSI标准,作为现行的C语言标准。常用的编译软件有Microsoft Visual C+。 C语言绘图能力强,具有很好的可移植性,并具备很强的数据处理能力,因此适于编写系统软件。它是数值计算的高级语言。由文献1-4可知。2.2开发及运行环境编程语言:C语言操作系统:Windows 7开发工具:Microsoft Visual C+ 6.03.需求分析3.1总体需求分析五子棋游戏是一款很符合现代人的休闲特点的益智类游戏,其是我国古代围棋的的衍生物,本系统主要分为两部分:双人人对战和人机对战。双人对战模式实现
14、的功能:选择双人对战,游戏界面,实现双人轮流落子,棋盘动态信息显示,判断输赢,重新开始游戏。人机对战模式实现的功能:选择人机对战,设置先手,实现玩家与电脑轮流落子,棋盘动态信息显示,判断输赢,重新开始游戏。3.2可行性分析3.2.1技术可行性分析计算机硬件和软件技术的飞速发展,为游戏系统的开发提供了设备条件。当前在网络上有许多的五子棋软件可供参考借鉴,而且我自己也熟练地掌握了C语言在Microsoft Visual C+ 6.0环境下的基本应用,因此本游戏的开发技术上是完全可行的。3.2.2经济可行性分析该游戏适用于所有人群,开发该游戏的费用主要包括开发阶段的费用以及今后的运行、维护费用。五子
15、棋游戏简单易学,为人民群众喜闻乐见。该游戏功能强大,界面简单,用户在使用方面不存在任何障碍。其开发具有很强的经济性。3.2.3操作可行性分析本游戏适用于 Windows 操作系统之上 , 对于该游戏的推广使用提供了很好的平台。该游戏使用C语言编写,具有很强的移植性,使其可以运行很方便。在操作上主要凭借使用 Windows键盘操作,方便简单。使用前只要对用户进行简单的说明即可。3.3功能分析该款游戏主要是由以下五个模块组成: 五子棋游戏人机对战双人对战悔棋功能退出功能判断输赢 图3.1 游戏功能图4.概要设计4.1五子棋特点与规则 五子棋是两方之间进行的竞技活动,专用棋盘为15*15,五连子的方
16、向为横、竖、斜;任一方在棋盘上形成横向、竖向、斜向的连续的相同颜色的五个(含五个以上)时即为该方胜利;在棋盘上以对局双方均不可能形成五连为和棋。黑白双方依次落子,由黑方先下,由于先下一方在局面上占优,所以五子棋规则分为禁手和无禁手两种。 禁手规则:禁手是针对先行的黑棋而言,以限制黑棋的先行优势为目的。对局中如果黑棋违反禁手规则将被判负。以中国五子棋竞赛规则为例,有三三禁手(黑棋一子落下时同时形成两个或两个以上的活三,此子必须为两个活三共同的构成子)、四四禁手(黑棋一子落下同时形成两个以上的冲四或活四)、长连禁手(黑棋一子落下形成一个或一个以上的长连)。无禁手指不对黑棋的先行优势做任何限制。 本
17、系统采用的是无禁手规则。4.2流程图游戏开始后,运行过程如下图4.1所示:电脑落子是否是否玩家落子(白)任意方向有五子相连或棋盘落满任意方向有五子相连或棋盘落满是电脑先手电脑落子人机对战否开始游戏双人对战是白方落子游戏结束否是黑方落子任意方向有五子相连或棋盘落满任意方向有五子相连或棋盘落满否否否是是是玩家落子(黑)任意方向有五子相连或棋盘落满任意方向有五子相连或棋盘落满否图4.1 游戏运行流程图当系统运行后,首先看到的是一个选择游戏模式(双人,人机)的界面,根据要求选择后,有两种情况,第一种是双人模式,根据游戏的设定先黑方落子,然后白方落子,而系统此时需要更新棋盘的状态和判断是否产生输赢,若是
18、产生则游戏结束,若没有产生输赢,则判断是否棋盘已经落满棋子,若已经落满棋子,则判定为和棋,否则另一方落子,如此循环,直到产生输赢或和棋;另一种是人机模式,选择该模式后,会看到设置界面,可以选择谁是先手,有两种选择电脑先手、玩家先手,若电脑先手则根据设定,电脑执黑子先下,之后白方落子,此时因为选择了电脑先手,所以电脑落子时优先进攻,只有在进攻的权值小于防守的权值时优先防守,(此处涉及到电脑的人工智能,此部分的设计概要详见本章节的电脑智能落子部分),每当棋盘落子后电脑立即更新棋盘的具体信息并判断是否已经产生输赢若是产生则游戏结束,若没有产生输赢,则判断是否棋盘已经落满棋子,若已经落满棋子,则判定为
19、和棋,否则另一方落子,如此循环,直到产生输赢或和棋,玩家先手,则玩家执黑子先落子,然后电脑落白子,此时电脑落子优先防守,其他部分与电脑先手一样。4.3双人模式此模式较为简单是后面实现人机模式的铺垫。首先用循环语句和制表符画出整个棋盘,然后利用绘图函画出棋子,然后制定自己的落子规则(包含输赢规则),并用循环语句实现黑白子的轮流下子,如此就实现了双人对战的目的。4.4人机模式本系统中此功能的实现是在双人模式已经实现的情况下实现,只是把双人模式中的其中一个人换成电脑操作(电脑落子算法参照4.5智能算法),在每次落子之后,调用判断输赢函数判断是否产生输赢或和棋,如果产生则游戏结束,如果没有产生则继续游
20、戏,直到产生输赢或和棋,或退出游戏为止。4.5智能算法电脑博弈模仿人类下棋,传统算法使用的是博弈树。两人游戏,甲有很多位置选择落子,乙也有很多相对应的下法,如果所有的方式列表就构成一棵树,就是搜索树,也被称为博弈树。树的根节点先手的第一步位置,下面的走棋方法构成树的子节点,直到游戏结束。此处的五子棋棋盘是1515的,搜索空间是一个巨大的数字。博弈算法的任务是在这些呈几何级数上升的子节点中选出最优的节点,从而赢得比赛。整个算法分为搜索和估值两部分,估值是评估所有可能的落子位置的评价,选择评价最高的位置为最终落子位置。本系统的估值函数为单点估值函数。单点估值函数的基本思想是评估当前的静态情况下,遍
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 本科 毕业设计 五子棋 游戏 设计 实现
限制150内