五子棋游戏的设计_第1页
五子棋游戏的设计_第2页
五子棋游戏的设计_第3页
五子棋游戏的设计_第4页
五子棋游戏的设计_第5页
已阅读5页,还剩57页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

北京信息科技大学毕 业 设 计 (论 文)题 目: 五子棋游戏的设计与实现学 院: 计算机学院专 业: 计算科学与技术学生姓名: 龙涛 班级/学号 计科 0701/0755指导老师/督导老师: 李闻起止时间:2011 年 1 月 21 日 至 2011 年 5 月 30 日摘要摘 要随着经济的发展,社会竞争的激烈,现在社会进入了竞争的时代。上班族为了完成公司业务,每天超负荷的工作;学生为了不落后他人每天早起晚睡不断地学习,压力巨大。所以为了缓解大家的压力,使大家在工作、学习之余娱乐一下,活跃大脑,提高工作、学习效率,我本人设计了一个简易的五子棋游戏。本系统将利用五子棋游戏作为研究对象,在 Windows 平台下,运用 java 语言设计的一个能够实现人机对战的简单游戏。该系统涉及到人工智能方面的知识,而计算机博弈是人工智能研究的一个重要分支,其中还包括几个重要的搜索算法。只有通过一定的研究,才能实现五子棋的人机对战功能。关键词:人工智能; 计算机博弈 ; 搜索算法 ; 五子棋;AbstractAbstractWith development of economy, social competition is intense, now society has entered into the competition era. Office worker in order to complete the company business, overworked every day; For catching up with others, the student rises early, sleeps late and studies hard. The pressure builds up. So in order to alleviate the pressure, make everyone all over the job, study entertained, active brain, improve work, learning efficiency, I design a simple renju.This system will take the object of study using the renju, designs one to be able to realize the man-machine under the Windows platform with Java language to the simple game which fights.The system involves knowledge of artificial intelligence, and the computer game is one of the important research on artificial intelligence branch, including several important search algorithm. Only through certain research, can realize renju against function Man-machine. Keywords: artificial intelligence ; computer game ; search algorithm ;renju ;目录目录摘 要 .IAbstract.II第一章 概述 .11.1 开发背景 .11.2 课题意义 .11.3 五子棋的发展与现状 .21.4 研究内容 .4第二章 五子棋程序的介绍 .52.1 五子棋程序的基本功能 .52.2 开发运行环境 .52.3 软件开发工具及开发语言介绍 .52.4 五子棋程序功能的设计 .7第三章 五子棋的总体设计 .83.1 人机界面的实现及鼠标事件的监听 .83.2 按钮功能的实现 .113.3 棋子表示 .123.4 下棋表示 .13第四章 五子棋的 AI 算法 .154.1 电脑智能搜索 .154.2 电脑胜负的判断 .16第五章 五子棋软件测试 .185.1 软件测试的定义 .185.2 界面测试 .185.3 数据的测试 .225.4 用户验收测试 .22结束语 .23参考文献 .25目录1第一章 概述本章主要介绍毕业设计的开发背景、课题意义,有关计算机人工智能方面的知识以及五子棋的发展与现状,以及毕业设计的研究内容、方向。 1.1 开发背景随着计算机技术和互联网的飞速发展,游戏软件是当今世界发展最迅速,最有影响力,最有潜力与活力的领域之一电脑游戏的出现为人们提供了新的娱乐平台,丰富了人们的业余生活。因此与游戏有关的软件深受广大青少年的喜爱。随着近几年来软件技术的不断进步、不断发展,软件游戏的操作要求越来越简单,大多数游戏普通人学几分钟就能会玩,甚至连老年人也慢慢爱上了它。第二次世界大战以后,电子计算机技术得到了突飞猛进的发展在众多国家中美国的计算机技术发展最为迅速。1946 年 2 月,世界上第一台电子数字计算机(ENIAC)在美国宾夕法尼亚大学建造完成。ENIAC 机的问世,表明了电子数字计算机时代的到来,具有划时代的伟大意义,是科学技术发展史上的重大里程碑。我国也不落后,在 1956 年研制成功国产计算机的。1958 年和 1959 年我国先后自主研制成功国产小型和大型电子管计算机。后来出现了集成电路和大规模集成电路,使电子子计算机一代一代实现更新,性能越来越高,计算速度越来越快,硬件方面的不断发展促使了软件技术也迅速发展。在美国,集中了许多计算机软件的设计人才,他们工作之余,时常喜爱编一种能与人斗智的“游戏”,以此来锻炼编程的能力这种“游戏 ”花样繁多,但其特点都是利用计算机软件事先设计好的“分析”“ 判断”能力反过来与人较量 由于不断修改更新,使计算机的“智力”水平与人难分高低到了 90 年代,游戏软件已经为世界各国的人使用,所谓游戏软件通常是指用各种程序和动画效果相结合起来的软件产品,我们称之为“游戏软件“。目前,在网络上我们经常看到的大型 3D 网络游戏和 WEBGAME 网页游戏等都是通过用“3DMAX、MAYA、FLASH、等动画软件和JAVA、C+、VB、等程序语言相结合而开发出来的,所以叫游戏软件。其中 BLACKISLAND 和Blizzard.这两个强大的游戏制作组对游戏软件的发展起到了巨大的带动作用,还有中国的洛河工作室在国内也起到了巨大作用,他们让很多很多人喜欢上了游戏软件,打开了这个市场。如今游戏软件产业已经受到了广泛的关注,它年轻有潜力而且吸引人,让人们日益丰富的生活需求得以满足。而五子棋游戏的诞生更是吸引着不同年龄段的人群,无论男女老少都可以玩,都喜欢玩,而当前微型计算机已经是在广大人群中流行着,用电脑来下五子棋更是一种时尚。现在网络上出现了各种各样的五子棋软件,有大师级的、新手级的等等。所有这些都满足了不同人群的需要,所以当前五子棋越来越被许多人所熟悉。目前的五子棋程序的发展也非常快,从最初的双人发展到人机(有 AI) ,然后到现在的网络对战,已经受到越来越多人的喜爱和重视。1.2 课题意义人类社会经历了五千多年的农业文明时代,又经历了三百多年的工业文明时代。经过漫长时间的发展,人类文明取得的不可想象的进步,人也变的越来越聪明了。人类之所以变得聪明,是因为我们人类一直不断地再实践中思考,在思考中实践。五子棋不目录2仅能增强思维能力,提高记忆力,而且富含哲理,有助于修身养性。五子棋既有现代休闲的明显特征“短、平、快” ,又有古典哲学的高深学问“阴阳易理” ;它既有简单易学的特性,为人民群众所喜闻乐见,又有深奥的技巧和高水平的国际性比赛;它的棋文化源渊流长,具有东方的神秘和西方的直观;既有“场”的概念,亦有“点”的连接。它是中西文化的交流点,是古今哲理的结晶。五子棋游戏不但容易上手,而且它区别于别的游戏,它不但能使人娱乐,而且能使人的头脑变得更加聪明。而五子棋对战有两种模式:一.人机对战;二.双人对战。这些给人无限乐趣的用途正是人工智能的杰作。正因为这样它鼓励着人们对它不断研究,这在很大程度上促进了人工智能的发展,反过来人工智能的理论和技术上的突破能够使五子棋程序更完美、更受欢迎!同时,五子棋游戏程序的开发也使得五子棋这个游戏得到了广泛的推广,让世界各地的人们知道五子棋,随时地玩上五子棋,这已经不再是梦想了。五子棋游戏程序使得越来越多的人喜欢上了五子棋,热爱下五子棋,它是具有很好的带动性的。随着互联网络的不断普及,越来越多的人可以在网络上就能够与他人下五子棋了。1.3 人工智能介绍人类的自然智能伴随着人类活动时时处处都存在。人类的许多活动,如解题、下猜谜、讨论、编制计划和编程,甚至驾车、骑车等,都需要智能。如果机器能够完成这些任务,那么就可以认为机器已经具有某种程度的“人工智能” 。正因为这样积累了很多与人工智能有关的知识。在一次历史性的聚会中人工智能诞生了。为使计算机变得更“聪明” ,或者说是计算机具有智能,1965 年夏季,在美国达特莫斯大学举行了一次为期两个月的夏季学术研讨会。10 位来自美国数学、神经学、心理学、信息科学和计算机科学方面的杰出年轻科学家,在一起共同学习和探讨了用机器模拟人类智能的有关问题,并且麦卡锡提议正式采用了“人工智能 AI(Artificial Intelligence)”这一术语。从而,一个以研究如何用机器来模拟人类智能的新兴学科-人工智能诞生了。人工智能(Artificial Intelligence) ,英文缩写为 AI。它是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。人工智能是计算机科学的一个分支,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器,该领域的研究包括机器人、语言识别、图像识别、自然语言处理和专家系统等。人工智能的发展给五子棋赋予了新的生命。随着对人工智能的不断研究,计算机博弈也得到了飞速发展。机器博弈被认为是人工智能领域最具挑战性的研究方向之一。国际象棋的计算机博弈已经有了很长的历史,并且经历了一场波澜壮阔的“搏杀“,“深蓝“计算机的胜利也给人类留下了难以忘怀的记忆。经过 30 多年的研究,人工智能在现实生活中得到了不少瞩目的成果,而这些成果已经建立了一些具有一定“智能”的 AI系统,例如专家系统、定理证明系统、集成电路设计与分析系统、自然语言翻译系统、智能信息检索系统、疾病诊断系统等。除了这重要的成果之外,还有大受人们欢迎的“智能系统” ,比如现在在网络上出现的网络游戏、围棋、象棋、五子棋游戏程序等等,这些都是人工智能的成果,它们极大地改变了人们的生活、给人类带来了快乐。1.4 五子棋的发展与现状1.4.1 五子棋游戏规则对局开始时,先由执黑棋一方将一枚棋子落在天元点上,然后由执白棋一方在黑棋周围的交目录3叉点上落子。但是,为了尊重对方和礼貌起见,持白棋的一方通常将盘面的第二着棋布在自己河界的一侧,即直止或斜止。此后黑白双方轮流落子,直到某一方首先在棋盘的横线、纵线或斜线上形成连续五子或五子以上仅对白棋而言 ,则该方就算获胜。连珠五子棋的一个特点是先行的一方优势很大,因此在职业比赛中对黑方做了种种限制,以利公平竞争。目前五子棋的比赛规则如下: 1 黑先、白后,从天元开始相互顺序落子; 2 最先在棋盘横向、纵向或斜向形成连续的同色五个棋子的一方为胜; 3 黑棋禁手判负、白棋无禁手。黑棋禁手有“三、三” 、 “四、四”和“长连”,包括“四、三、三”和“四、四、三” 。黑棋只能以“四、三”取胜; 4 如分不出胜负,则到为平局; 5 五连与禁手同时形成,判胜; 6 黑方禁手形成时,白方应立即指出。若白方未发现或发现后不立即指出,反而继续落子,则禁手失效,不再判黑方负。【1】 五子棋是黑白双方或两个人之间的竞技活动,由于对黑白双方规则不同,黑棋必须先行。一般采用猜先的方法来决定谁执黑先行,即双方各抓一种颜色的几枚棋子,大数减小数,单数双方交换,偶数不换; 【2】 禁手示例: X X X X 为三、三禁手 X X X 为四、四禁手 X X 为长连禁手【3】 黑方在落下关键的第五子即形成五连的同时,如又形成禁手,此时因黑方已经成五,而“五”在五子棋中是至高无上的,故禁手失效,黑方胜; 目录4【4】 所谓黑方形成禁手,是指黑方落下一子同时形成两个或两个以上的活三、冲四及长连等。此时白方应立即指出,自然而胜。1.4.2 五子棋的发展与现状五子棋是起源于中国古代的传统黑白棋种之一。现代五子棋日文称之为“連珠” ,英译为“Renju”,英文称之为“Gobang”或“FIR” (Five in a Row 的缩写) ,亦有“连五子” 、 “五子连” 、“串珠” 、 “五目” 、 “五目碰” 、 “五格”等多种称谓。到了 21 世纪已经出现了不少棋类,目前按棋类的属性分类如下:1.按参与人数分类(Player):单人游戏,如华容道等滑块类游戏;双人游戏,如象棋、围棋、五子棋等。在棋类中双人参与的棋类占绝大多数; 多人游戏,如跳棋。一般说来,参与人数越多,对手就越多,情况就越发复杂。2.按兵种多少分类(Pieces, Materials)单一兵种,如围棋、五子棋、苏拉卡尔塔(Surakarta) 、亚马逊(Amazons)等;多兵种,如国际象棋、中国象棋、日本将棋等。兵种的增加,意味着着法的复杂程度增加,掌握起来更加困难。3.按着法分类(Move) 走子类:开局前双方摆好,开局后轮流走动棋子。如象棋、国际象棋、跳棋等;添子类:开局前盘面无子,开局后轮流放入棋子。如围棋、五子棋、六子棋等;吃子类:对局过程中可以吃掉对方的棋子。如象棋、国际象棋、围棋等;混合类:在填子的过程中可以吃子(围棋) ;在走子过程中可以吃子,还可以填子(日本将棋) 。通常情况弈棋双方轮流施着,各走(下)一步。但是有的棋类在一定条件下一方是可以连续施着的,即连续走多步,可成为轮(Turn) 。如跳棋、西洋跳棋、黑白棋(Reversi, Othello) 、点格棋(Dots and Boxes)等。4.按胜负判决分类(Win-Lose-Draw) 擒获首领:象棋,国际象棋等;摆成形状:连珠类井字棋、五子棋、六子棋等;占领地域:围棋、点格棋等;剩余子粒:黑白棋、苏拉卡尔塔等;活动余地:亚马逊等;到目标地:跳棋、一字棋、牛角棋等。在所有棋类中五子棋发展最为迅速,在人群中最受欢迎!这一棋类运动已迅速在国际上发展起来。外国人都十分看好这一毫不起眼的智力游戏,并认为五子棋不仅能提高思维、开发智力、手脑并用、修身养性 而且富含哲理,具有东方的神秘和西方的直观,是中西文化的交汇点。许多国家的人对五子棋都有不同的爱称,例如韩国人把五子棋称之为“情侣棋”,言下之意是情人之间下五子棋有利于增加情感的交流;欧洲人称之为“中老年棋”,表示五子棋适合中老年人的生理特点和思维方式;美洲人喜欢将五子棋称之为“商业棋”,就是目录5说商人谈生意时可边下棋边谈生意,棋下完了生意也谈成了。由此可见,尽管国度不同,语言各异,但人们都可以借助五子棋这一简单而又深奥的棋艺进行交流、比赛,增进友谊。十余年来,随着各地五子棋组织的建立和五子棋的逐步普及,各种五子棋比赛应运而生,一些民间五子棋组织自筹经费与地方有关部门合作,运作了不少民间比赛。从国内的比赛来看,北京、天津、上海、镇江、吉林、黑龙江、安徽、浙江等地先后自筹经费举办了地方性的五子棋比赛,同时,地区间的交流也不断增加,如 1997 年举办的京津冀五子棋对抗赛、2000 年京津五子棋团体对抗赛、2000 年在辽宁铁岭举办的“中行杯”北方五子棋友好邀请赛、在江苏镇江举办的“一品梅杯”江苏五子棋邀请赛等。2001 年国家体育总局批准试办全国性五子棋比赛后,中国棋院在 2002年和 2003 年连续举办了两届全国五子棋邀请赛,吸引了全国各地的高手参加,取得了圆满成功。2004 年 10 月,中国棋院将举办第四届全国五子棋邀请赛。全国五子棋邀请赛作为全国参赛人数最多,规模最大,水平最高的比赛,已经成为一项全国性五子棋的传统赛事。到了 21 世纪五子棋游戏在网络上面是非常火暴的,而且在棋牌游戏里面玩家人数排名总会占到很前面,不愧是风靡全球的棋牌游戏啊!在未来中,将会有越来越多的人关注五子棋,喜欢五子棋,那么将其变为商业化也会越来越多,而且还可以以教育孩子的方式来将其嵌套进去,或者用来做测试等等。随着人工智能技术的不断进步,我相信今后的五子棋游戏将会更加精彩、更加完善,让我们拭目以待吧。1.5 研究内容本游戏是在 Windows 环境下完成一个简易五子棋游戏的设计。五子棋是人工智能的一个成果之一,它涉及到计算机博弈理论,棋盘表示、走法生成以及搜索算法等知识,最终实现人机对战。完成后,要提交演示系统和相关程序、提交毕业论文。演示系统要能够运行正常、能够进行人机对战,并通过此次毕业设计,对计算机博弈理论有了更加深入、透彻的了解。通过这次实践最终能够提高自己的学习能力、思维能力且培养了一定的开发能力。目录6第二章 五子棋程序的介绍本章主要是介绍该五子棋系统的基本功能和其结构图,并对实现该系统的开发工具、运行环境和开发语言做了较为详细的阐释。2.1 五子棋程序的基本功能1.显示一

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论