本科毕业论文-—基于java的五子游戏的开发设计.doc
《本科毕业论文-—基于java的五子游戏的开发设计.doc》由会员分享,可在线阅读,更多相关《本科毕业论文-—基于java的五子游戏的开发设计.doc(27页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、山东凯文科技职业学院2012届毕业论文基于JAVA的五子游戏的开发设计学 院: 信息学院 学生姓名: 李晨诚 指导教师: 李铁奇 专 业: 计算机网络技术 班 级: 09级 1班 完成时间: 2012年6月27日 山东凯文科技职业学院摘 要人工智能是一门正在迅速发展的新兴的,综合性很强的交叉科学。它与生物工程、空间技术一起被并列为二十一世界三大尖端技术。它的中心任务是研究如何使计算机去做那些过去只能靠人的智力才能做的工作。目前各发达国家都把人工智能作为重点项目,列入本国的高科技发展计划当中,投入巨大的人力和物力。计算机人机对弈也是其中之一。作为人智能研究的一个重要分支,计算机博弈是检验人工水平
2、的一个重要方面。它的研究为人工智能带来了很多重要的方法和理论,产生了广泛的社会影响和学术影响。五子棋人机对弈是计算机博弈中的一种。研究其计算机算法,可以让我们看到人工智能的稚形,也有助于我们人脑的开发。五子棋是我国发明的,研究它可以让更多的外国人了解五子棋,这有助于我国优秀文化的推广。关键词:人工智能,计算人机对弈,五子棋,算法目 录第一章 绪 论1第二章 需求分析22.1业务需求22.1.1 此系统使用范围要求22.1.2 功能要求22.2 性能需求32.3 系统平台需求3第三章 五子棋的相关基础43.1五子棋解释43.2五子棋基本规则43.3五子棋常用术语4第四章 开发工具、环境及其技术7
3、4.1 JAVA简介74.2 JAVA 编程环境84.2.1 环境变量84.2.2 Eclipse插件8第五章 详细设计105.1程序设计思路105.1.1设计思想105.1.2程序设计分析105.2 程序设计12结论22参考文献23致 谢24第一章 绪 论电脑已经深入到日常工作和生活的方方面面,比如文字处理、信息管理、辅助设计、图形图像处理、教育培训以及游戏娱乐等。Windows系统的推出使电脑从高雅的学术殿堂走入了寻常百姓家,各行各业的人们无须经过特别的训练就能够使用电脑完成许许多多复杂的工作。然而,虽然现在世界上已经充满了花样繁多的各种软件,但它们依然不能满足用户的各种特殊需要,人们还不
4、得不开发适合自己特殊需求的软件。Java语言作为一种面向对象的编程语言,具有分布式,可移植,高性能,多线程等特点。通过系统的学习,人们就可以使用它开发出功能齐全,满足特殊需求的应用程序。Java语言易学易用,对学习者掌握技能,开拓思维都有很大的帮助。 我作为一名学生,在系统的学习了Java语言之后,经常用它搞一些小程序。这次毕业设计,正好将学过的Java语言中的各种技术综合起来,用Jbuilder2006开发工具编写一个小游戏,既对自己学过的技能进行一次检验,也能系统地将学过的知识复习巩固。随着计算机技术的不断发展,网络技术的普及范围越来越广,网络能够提供的服务多样、便捷,已经成为人们生产生活
5、中不可缺少的重要组成部分。如今网络休闲游戏发展迅速,它凭借健康、方便、互动性强、益智等诸多优点,成为大部分现代人休闲娱乐的首选。网络五子棋游戏是使用Java语言开发的一款游戏。它使用SOCKET建立连接,多线程处理数据,以及可嵌入网络浏览器的ALET作为客户端,这些特点使这款游戏无论是服务器还是客户端的实现都相对容易。通过对该软件的编写,还可以巩固我们对以上各种知识的掌握和理解。第二章 需求分析为了开发出真正满足用户需求量的软件产品,首先必须知道用户的需求。软件需求中包括了多个方面来说明用户需求。在这一章中,主要从以下几方面来说明系统的需求。2.1业务需求2.1.1 此系统使用范围要求此系统为
6、智力游戏,适合于各类游戏爱好者。由于其经典性及其游戏的简单性,各类人士都可以也都爱玩。人们在与电脑对战享受娱乐的同时,也会体会到自己的智力也会有所提升。2.1.2 功能要求该款游戏主要由一下几个模块组成:五子棋游戏人机对弈模式人人对弈模式具有悔棋功能更换棋盘背景图21 五子棋功能模块图人机对弈模式:选择该模式可以实现人与电脑之间的对弈,电脑会智能的选择该在哪处下子,并会在每次下棋结束后判断是否有哪方已经获胜,如果获胜则结束本局游戏,并提示玩家游戏结束。人人对弈模式:选择该模式可以实现人与人之间的对弈,系统会提示哪方先下,然后玩家之间交替的下棋,同样系统会在下完每次棋后判断是否有哪方已经获胜,如
7、果获胜则结束本局游戏,并提示玩家游戏结束。悔棋功能:这个功能也是根据游戏的实际需求而存在的,在现实生活中难免有失误下错了棋,那么就需要悔棋。此功能提供了悔棋功能,使得下棋的灵活性有所提高。玩家若想悔棋,则只需选择悔棋按钮便可以重新下过刚才的棋。更换棋盘背景:次功能可以根据玩家的爱好任意更换棋盘的背景颜色,由于每个人对颜色的喜好不一样,因此这个功能也是非常必需的。也行更换一种玩家所喜欢的颜色,玩家能发挥得更好。2.2 性能需求该款五子棋游戏功能虽然简单,但最主要的还是实现了人人对弈模式和人机对弈两种模式,所以从这个角度来说,该款游戏需要能很好的在两种模式间良好的转换。虽然系统不大,但要在满足玩家
8、的基本要求的情况下,电脑有一定的智能,能给于新手一定的帮助。2.3 系统平台需求编程语言:JAVA操作系统:Windows xp系列开发工具:Myeclipse第三章 五子棋的相关基础3.1五子棋解释引用辞海中所言,五子棋是“棋类游戏,棋具与围棋相同,两人对局,轮流下子,先将五子连成一行者为胜。”。五子棋的名称:日文亦有“连五子、五子连、串珠、五目、五目碰、五格、五石、五法、五联、京棋”等多种称谓,英文则称之为FIR (Five In A Row的缩写)、Gomoku(日语“五目”的罗马拼音)、Gobang、connect 5、mo-rphion。捷克语piskvorky,韩语omok、韩国人
9、还称之为情侣棋。3.2五子棋基本规则 1.五子棋行棋时,黑棋先下第一子,由天元开始,后白棋在黑棋周围的交叉点的落子。接着黑方再以天元中心的25个交叉点的范围内落盘面的第三子,之后黑白双方相互顺序子。 2.最先在棋盘线交点横向,纵向,斜向形成已方的五个棋子连续的一方为胜。 3.出现禁手对方指出后将判负,其中包括两个或两个以上的活三,活四,长连均称之为禁手。 4.禁手只对黑棋有效,白棋无禁手。 5.黑方禁手形成时,白方需立即指出,黑方将被判负。若白方未发现黑方禁手存在而继续应子,其后指出黑方禁手不能判黑方负。 6.黑方连五与禁手同时形成,因黑方已连成五即黑方已获胜,故禁手规则失效。 7.在对局中,
10、在盘上落下的子又拿起来,此动作称为拔子,若拔子将被判为负。 8.在对局中棋子掉落在棋盘上将被判负。若推子或蹭子,以盘面第一落点为准。用手将棋子推正不算违犯规则。 9.在对局中,一方自行中止比赛如:中途退场,将被判负。 10.在对局中对方宣布认输,本局获胜。 11.超过比赛规定所用时间限制,将被判为负:正式比赛期间,迟到时间超过比赛容许时间将被判负。 12.如下至最终一子仍不分胜负则定为平局。 13.中盘期间双方 同意和局提议,判定为平局。3.3五子棋常用术语1.着:也称“步”。对局中把一个棋子按照规则放到某一交叉点,称之为一着棋。一着是否完成有两种规则: (1)在执行落子无悔规则是,以行棋者的
11、手离开棋子为一着已完成。 (2)在执行限时规则时,以行棋者按下棋钟作为一着已完成。 2.PASS :五子棋中引入的英文名称,即应该行棋的一方主动放弃此次行棋的机会,由对方继续行棋。 3.先手:对方必须应答的着法,如对方形成活三必须阻止其形成活四。 4.绝对先手:相对先手而言,即形成同色连四或嵌五,对方必须应着,就是绝对先手。绝对先手又叫“冲”。 5.VCF:(Victory of Continus Four 的缩写) 意思是利用连续冲四取胜之意。利用连续不断的冲四或嵌五的绝对先手,制止形成连五获得胜利的一种方法。在对局接近尾声或排局解题中一种常见的取胜技巧。 6.追下取胜:是指白棋利用黑棋禁手
12、取胜的战术。白1 冲四,迫使黑2 形成“四、四”禁手( 即冲四,活四禁手), 这种取胜方法叫做追下取胜。 7.自由取胜:追下取胜以外的取胜方法,即未利用黑棋禁手战术而取胜。 8.一子双杀:是指对局中一方落子后出现两个叫杀点即两个获胜点,而使对方无法防守的情形。一般是有两个冲四活三点,白棋的双活三,双四均可称为一子双杀。 9.阳线:棋盘上可见的横线与直线的总称。 10.阴线:也称“斜线”。是棋盘上不可见的斜行线。 11.“四、三”:指同时具备两个先手,其中一个四,另一个是活三。 12.“活三”、“嵌五”、“冲四”:参见五子棋重要棋形讲座。 13. 禁手:对局中禁止使用的战术或被判为负的行棋手段。
13、14. 开局:也称“布局”。布局阶段大体为七至十几着之内。种类繁多,职业连珠五子棋有二十四种开局。 15. 局面:亦称“局势”。为对局中某一段时间内双方子力的配置情况。 16. 优势:是指足以取胜的优势局面,其对方即为败势。 17. 妙着:对局中走出的一步精妙的着法。既合乎逻辑又出人意料,有使局面顿时改观的效果,对局势的发展及对局的质量都有重大影响。 18. 好着:也称“佳着”。对局中成功的某一步。 19. 正着:对局的某一局面中的正确着法。 20. 劣着:对局中,导致严重不利后果的一步错误着法。 21. 败着:也称“失着”“漏着”。对局中造成局面恶化的一步严重错误着法。 22. 等着:对局中
14、具有等待性的一步着法,主要意图是等待有利时机。 23. 废着:也称“空着”。对局中不起作用的着法。实际上指浪费时间毫无疑义的错着。 24. 抢先:对局中利用反活三或冲四的强制手段夺取主动权的着法。25. 打谱:按照棋谱演练着法,是提高棋艺水平的重要方法之一。26. 复局:也叫“复着”。对局结束又重演对局的过程。一般用以研究、比较双方的成败得失和着法的优劣。第四章 开发工具、环境及其技术4.1 JAVA简介JAVA技术介绍:Java技术是一门编程语言,也是一个平台,它基于Java虚拟机技术,借助这个东西建立了跨平台的优势。Java技术的重要性,世界上编程语言Java 、C 、VB、C+依次排名前
15、4位,这排名本身不说明什么,至少也是工业界对编程语言使用上一个侧面的反映吧。Java编程语言与众不同之处在于:Java程序既是编译型的(转换为一种称为Java字节码的中间语言),又是解释型的(JVM 对字节码进行解析和运行)。编译只进行一次,而解释在每次运行程序时都会进行。编译后的字节码采用一种针对JVM 优化过的机器码形式;解释器是JVM 的实现。这段是摘自网上的,编译原理学的不是很好,对这门语言的背后运行机制理解到这样了。Java平台是一种纯软件平台,它有三个版本Java SE、JavaEE、Java ME。Java SE(Java Platform,Standard Edition)这个
16、版本以前叫做J2SE,后来版本号从1.4直接跳到5.0,其实也就是1.5,所以就叫成Java SE 5.0。目前Java开发人员使用较多的版本是5.0,当然还有Java SE 6.0这个更新的版本。它允许开发和部署在桌面、服务器、嵌入式环境和实时环境中使用的Java 应用程序。Java SE还包含了支持Java Web服务开发的类,并为Java EE这个版本提供基础。虽说桌面应用程序,Java一直不被看好,但也稍微提一下,负责桌面GUI开发的类库我知道的有:JDK自带的主要是AWT/SWING这个Java原生类库;也可以使用IBM的SWT/JFace这个第三方类库。开发工具我了解的有:NetB
17、eans(最近已经是6.0final版了,做GUI有使用VB的感觉),Eclipse(SWT/JFace这个项目其实就是做Eclipse项目时扩展出来的,所以对SWT/JFace支持的也不错)。Java EE(Java Platform,Enterprise Edition)这个版本以前叫做J2EE,也就是大家可能听得比较多的,也是Java比较流行的领域,Java的企业级版本。Java EE下有很多流行的开发框架,像Struts、Spring、Hibernate这种流行的所谓SSH组合等。根据项目大小、应用领域,技术平台的选择面还是很多的,除了Java EE,还有.Net,LAMP组合(Lin
18、ux、Apatch、MySql、PHP组合),相对来说比较新Ruby在Ruby on Rails的框架应用,后两者可能在相对来说比较轻量级的Web领域运用成功案例比较多,更重量的企业级潜力还有待挖掘。Java ME(Java Platform,Micro Edition)这个版本以前叫做J2ME。应用领域像各种移动设备和嵌入式设备,比如:手机、PDA、电视机顶盒和打印机。Java ME不是太熟悉,不过移动设备和嵌入式设备的开发个人觉得算是比较有意思的领域,最近比较瞩目的业界新闻有一个就是Google发布开源智能手机操作系统开发平台Android,也就是前一阵子炒得很火的GPhone(原来Goo
19、gle出的不是手机,而是一个手机操作系统开发平台)。这个平台貌似会对Java ME有些冲击,按照网上的消息,Android包括:1、高度定制的Linux操作系统内核及智能手机硬件驱动支持;2、经过Google修改过的Java虚拟机Dalvik,这里的性能比SUN的Hotspot高,支持大部分Java核心类库;3、大量智能手机开发核心类库;4、大量现成的智能手机应用软件;5、基于Eclipse的开发环境。也是按照网上的说法,Java EE提供了统一的编程平台,但不能调用操作系统的资源;而Android下直达操作系统,上直达应用软件,如:浏览器、日历、地图等。Java开发工具很多,个人使用的IDE
20、有Eclipse和NetBeans。Eclispe比较流行,各种插件也多,当然用起来也不错;NetBeans现在也是越做越好了,介绍这两个IDE主要是开源的,当然还有其它工具如JBuilder、IntelliJ、JCreator。这些IDE各有优势劣势,根据你开发的项目来选择了。4.2 JAVA 编程环境4.2.1 环境变量(1) java(TM) SE Development Kits,即JDK。 (2) 设置环境变量: 右击 我的电脑-属性-高级-环境变量,这时候可以看到以下的环境变量:Path:系统在任何路径下都可以识别Java命令。classPath:为Java加载类(包括class,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 本科毕业 论文 基于 java 游戏 开发 设计
限制150内