Java五子棋课程设计.doc
《Java五子棋课程设计.doc》由会员分享,可在线阅读,更多相关《Java五子棋课程设计.doc(34页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、郑州科技学院Java程序设计课程设计 设计(论文)题目: 连珠五子棋 所 在 院: 信息工程学院 专 业 班 级: 12计算机科学与技术(嵌入式)学 生 姓 名: 王 永 辉 学 号: 指 导 教 师: 赵 远 坤 2014年12月26日摘要I AbstractII第一章:绪论11.1 前 言11.2课程设计意义21.3课设目的2 第二章 需求分析32.1业务需求32.1.1 此系统使用范围要求32.1.2 功能要求32.2 性能需求42.3 系统平台需求5 第三章 五子棋的相关基础53.1五子棋解释53.2五子棋基本规则53.3五子棋常用术语7 第四章 开发工具、环境及其技术94.1 JAV
2、A简介94.2 JAVA 编程环境:124.2.1 环境变量124.2.2 Eclipse插件13 第五章 程序设计思路与实现145.1程序设计思路145.1.1设计思想145.1.2程序设计分析155.2 程序设计代码15 第六章 程序调试及结果256.1程序调试256.2 程序试运行256.3程序运行结果26 第七章 课程设计总结27 参考文献28摘要人工智能是一门正在迅速发展的新兴的,综合性很强的交叉科学。它与生物工程、空间技术一起被并列为二十一世界三大尖端技术。它的中心任务是研究如何使计算机去做那些过去只能靠人的智力才能做的工作。目前各发达国家都把人工智能作为重点项目,列入本国的高科技
3、发展计划当中,投入巨大的人力和物力。计算机对弈也是其中之一。作为人智能研究的一个重要分支,计算机博弈是检验人工水平的一个重要方面。它的研究为人工智能带来了很多重要的方法和理论,产生了广泛的社会影响和学术影响。五子棋对弈是计算机博弈中的一种。研究其计算机算法,可以让我们看到人工智能的稚形,也有助于我们人脑的开发。五子棋是我国发明的,研究它可以让更多的外国人了解五子棋,这有助于我国优秀文化的推广。关键词:人工智能,五子棋,算法AbstractArtificial intelligence is a rapidly developing new, integrated a strong Fronti
4、er Science. It is with bio-engineering, space technology has been listed as 21 in the world along with the three cutting-edge technology. Its central task is to study how to make the computer do that in the past to rely on human intelligence to do. Man-machine chess computer is one of them. As a hum
5、an study of an important branch of intelligence, the computer game to test the level of an important aspect of the manual. Its research in artificial intelligence has resulted in many important methods and theories to produce a wide range of social impact and academic impact. Man-machine chess game
6、Renju in one of the computer. To study the computer algorithm, we can see the beginning of artificial intelligence shadow, but also help us to human brain development. Backgammon invented in China, and the research it can allow more foreigners to understand and help to promote Chinas traditional cul
7、ture. Key words: Artificial Intelligence, Man-machine Cchess Computer, Man-machine Chess, Algorithm第一章:绪论1.1 前 言 电脑已经深入到日常工作和生活的方方面面,比如文字处理、信息管理、辅助设计、图形图像处理、教育培训以及游戏娱乐等。Windows系统的推出使电脑从高雅的学术殿堂走入了寻常百姓家,各行各业的人们无须经过特别的训练就能够使用电脑完成许许多多复杂的工作。然而,虽然现在世界上已经充满了花样繁多的各种软件,但它们依然不能满足用户的各种特殊需要,人们还不得不开发适合自己特殊需求的软件。
8、Java语言作为一种面向对象的编程语言,具有分布式,可移植,高性能,多线程等特点。通过系统的学习,人们就可以使用它开发出功能齐全,满足特殊需求的应用程序。Java语言易学易用,对学习者掌握技能,开拓思维都有很大的帮助。 我作为一名学生,在系统的学习了Java语言之后,经常用它搞一些小程序。这次毕业设计,正好将学过的Java语言中的各种技术综合起来,用Jbuilder2006开发工具编写一个小游戏,既对自己学过的技能进行一次检验,也能系统地将学过的知识复习巩固。随着计算机技术的不断发展,网络技术的普及范围越来越广,网络能够提供的服务多样、便捷,已经成为人们生产生活中不可缺少的重要组成部分。如今网
9、络休闲游戏发展迅速,它凭借健康、方便、互动性强、益智等诸多优点,成为大部分现代人休闲娱乐的首选。网络五子棋游戏是使用Java语言开发的一款游戏。它使用SOCKET建立连接,多线程处理数据,以及可嵌入网络浏览器的ALET作为客户端,这些特点使这款游戏无论是服务器还是客户端的实现都相对容易。通过对该软件的编写,还可以巩固我们对以上各种知识的掌握和理解。1.2课程设计意义五子棋是起源于中国古代的传统黑白棋种之一。五子棋不仅能增强思维能力,提高智力,而且富含哲理,有助于修身养性。经过一个学期的学习,使我对Java有了一定的了解。但要深入理解Java语言,单靠上课是不够的。必须通过课程设计,设计一个比较
10、大的程序,才能更深一步地理解Java语言。在这次课程中,我选择了网络五子棋作为课题。编写网络五子棋游戏要利用到Socket网络编程技术和多线程。通过这次课程设计,熟悉Java的GUI图形界面设计,网络Socket 编程和多线程编程。1.3课设目的通过课程设计,使学生理论联系实际,在程序设计实践中进一步了解JAVA程序设计方法掌握类和对象的基本编程方法,熟悉GUI图形界面编程技术,初步了解Socket编程方法。第二章 需求分析为了开发出真正满足用户需求量的软件产品,首先必须知道用户的需求。软件需求中包括了多个方面来说明用户需求。在这一章中,主要从以下几方面来说明系统的需求。面向对象程序设计课程设
11、计是计算机科学与技术专业集中实践性环节之一,是学习完面向对象程序设计课程后进行的一次全面的综合练习。本课程设计主要目的在于加深学生对面向对象基础理论和基本知识的理解,掌握面向对象程序设计的基本方法,进一步使学生综合运用所学知识和增强实际动手能力。2.1业务需求2.1.1 此系统使用范围要求 此系统为智力游戏,适合于各类游戏爱好者。由于其经典性及其游戏的简单性,各类人士都可以也都爱玩。人们在与电脑对战享受娱乐的同时,也会体会到自己的智力也会有所提升。2.1.2 功能要求该款游戏主要由一下几个模块组成:(1) 人人对弈模式:选择该模式可以实现人与人之间的对弈,系统会提示哪方先下,然后玩家之间交替的
12、下棋,同样系统会在下完每次棋后判断是否有哪方已经获胜,如果获胜则结束本局游戏,并提示玩家游戏结束。(2) 悔棋功能:这个功能也是根据游戏的实际需求而存在的,在现实生活中难免有失误下错了棋,那么就需要悔棋。此功能提供了悔棋功能,使得下棋的灵活性有所提高。玩家若想悔棋,则只需选择悔棋按钮便可以重新下过刚才的棋。(3) 更换棋盘背景:次功能可以根据玩家的爱好任意更换棋盘的背景颜色,由于每个人对颜色的喜好不一样,因此这个功能也是非常必需的。也行更换一种玩家所喜欢的颜色,玩家能发挥得更好。2.2 性能需求该款五子棋游戏功能虽然简单,但最主要的还是实现了人人对弈模式,所以从这个角度来说,该款游戏需要能很好
13、的在两种模式间良好的转换。虽然系统不大,但要在满足玩家的基本要求的情况下,电脑有一定的智能,能给于新手一定的帮助。2.3 系统平台需求编程语言:JAVA操作系统:Windows 系列开发工具:Myeclipse第三章 五子棋的相关基础3.1五子棋解释引用辞海中所言,五子棋是“棋类游戏,棋具与围棋相同,两人对局,轮流下子,先将五子连成一行者为胜。”。五子棋的名称:日文亦有“连五子、五子连、串珠、五目、五目碰、五格、五石、五法、五联、京棋”等多种称谓,英文则称之为FIR (Five In A Row的缩写)、Gomoku(日语“五目”的罗马拼音)、Gobang、connect 5、mo-rphio
14、n。捷克语piskvorky,韩语omok、韩国人还称之为情侣棋。3.2五子棋基本规则 1.五子棋行棋时,黑棋先下第一子,由天元开始,后白棋在黑棋周围的交叉点的落子。接着黑方再以天元中心的25个交叉点的范围内落盘面的第三子,之后黑白双方相互顺序子。 2.最先在棋盘线交点横向,纵向,斜向形成已方的五个棋子连续的一方为胜。 3.出现禁手对方指出后将判负,其中包括两个或两个以上的活三,活四,长连均称之为禁手。 4.禁手只对黑棋有效,白棋无禁手。 5.黑方禁手形成时,白方需立即指出,黑方将被判负。若白方未发现黑方禁手存在而继续应子,其后指出黑方禁手不能判黑方负。 6.黑方连五与禁手同时形成,因黑方已连
15、成五即黑方已获胜,故禁手规则失效。 7.在对局中,在盘上落下的子又拿起来,此动作称为拔子,若拔子将被判为负。 8.在对局中棋子掉落在棋盘上将被判负。若推子或蹭子,以盘面第一落点为准。用手将棋子推正不算违犯规则。 9.在对局中,一方自行中止比赛如:中途退场,将被判负。 10.在对局中对方宣布认输,本局获胜。 11.超过比赛规定所用时间限制,将被判为负:正式比赛期间,迟到时间超过比赛容许时间将被判负。 12.如下至最终一子仍不分胜负则定为平局。 13.中盘期间双方 同意和局提议,判定为平局。3.3五子棋常用术语1.着:也称“步”。对局中把一个棋子按照规则放到某一交叉点,称之为一着棋。一着是否完成有
16、两种规则: (1)在执行落子无悔规则是,以行棋者的手离开棋子为一着已完成。 (2)在执行限时规则时,以行棋者按下棋钟作为一着已完成。 2.PASS :五子棋中引入的英文名称,即应该行棋的一方主动放弃此次行棋的机会,由对方继续行棋。 3.先手:对方必须应答的着法,如对方形成活三必须阻止其形成活四。 4.绝对先手:相对先手而言,即形成同色连四或嵌五,对方必须应着,就是绝对先手。绝对先手又叫“冲”。 5.VCF:(Victory of Continus Four 的缩写) 意思是利用连续冲四取胜之意。利用连续不断的冲四或嵌五的绝对先手,制止形成连五获得胜利的一种方法。在对局接近尾声或排局解题中一种常
17、见的取胜技巧。 6.追下取胜:是指白棋利用黑棋禁手取胜的战术。白1 冲四,迫使黑2 形成“四、四”禁手( 即冲四,活四禁手), 这种取胜方法叫做追下取胜。 7.自由取胜:追下取胜以外的取胜方法,即未利用黑棋禁手战术而取胜。 8.一子双杀:是指对局中一方落子后出现两个叫杀点即两个获胜点,而使对方无法防守的情形。一般是有两个冲四活三点,白棋的双活三,双四均可称为一子双杀。 9.阳线:棋盘上可见的横线与直线的总称。 10.阴线:也称“斜线”。是棋盘上不可见的斜行线。 11.“四、三”:指同时具备两个先手,其中一个四,另一个是活三。 12.“活三”、“嵌五”、“冲四”:参见五子棋重要棋形讲座。 13.
18、 禁手:对局中禁止使用的战术或被判为负的行棋手段。14. 开局:也称“布局”。布局阶段大体为七至十几着之内。种类繁多,职业连珠五子棋有二十四种开局。 15. 局面:亦称“局势”。为对局中某一段时间内双方子力的配置情况。 16. 优势:是指足以取胜的优势局面,其对方即为败势。 17. 妙着:对局中走出的一步精妙的着法。既合乎逻辑又出人意料,有使局面顿时改观的效果,对局势的发展及对局的质量都有重大影响。 18. 好着:也称“佳着”。对局中成功的某一步。 19. 正着:对局的某一局面中的正确着法。 20. 劣着:对局中,导致严重不利后果的一步错误着法。 21. 败着:也称“失着”“漏着”。对局中造成
19、局面恶化的一步严重错误着法。 22. 等着:对局中具有等待性的一步着法,主要意图是等待有利时机。 23. 废着:也称“空着”。对局中不起作用的着法。实际上指浪费时间毫无疑义的错着。 24. 抢先:对局中利用反活三或冲四的强制手段夺取主动权的着法。 25. 打谱:按照棋谱演练着法,是提高棋艺水平的重要方法之一。26. 复局:也叫“复着”。对局结束又重演对局的过程。一般用以研究、比较双方的成败得失和着法的优劣。第四章 开发工具、环境及其技术4.1 JAVA简介JAVA技术介绍:Java技术是一门编程语言,也是一个平台,它基于Java虚拟机技术,借助这个东西建立了跨平台的优势。(题外话:Java热门
20、的原因之一就是一个跨平台的概念,和跨平台类似跨浏览器的好处也是如此,这也是现在AJAX技术流行的原因之一。另外现在热炒的RIA富客户端的概念下的技术除了AJAX外还有Adobe的Flash/Flex,微软的Silver Light,SUN的JavaFX等,个人更看好FLash/Flex,原因是Flash插件在浏览器端占用率很高)Java技术的重要性就不讲了,从最近流行的一个统计数据上来说,目前世界上编程语言Java 、C 、VB、C+依次排名前4位,这排名本身不说明什么,至少也是工业界对编程语言使用上一个侧面的反映吧。Java编程语言与众不同之处在于:Java程序既是编译型的(转换为一种称为J
21、ava字节码的中间语言),又是解释型的(JVM 对字节码进行解析和运行)。编译只进行一次,而解释在每次运行程序时都会进行。编译后的字节码采用一种针对JVM 优化过的机器码形式;解释器是JVM 的实现。这段是摘自网上的,编译原理学的不是很好,对这门语言的背后运行机制理解到这样了。Java平台是一种纯软件平台,它有三个版本Java SE、JavaEE、Java ME。Java SE(Java Platform,Standard Edition)这个版本以前叫做J2SE,后来版本号从1.4直接跳到5.0,其实也就是1.5,所以就叫成Java SE 5.0。目前Java开发人员使用较多的版本是5.0,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 五子棋 课程设计
限制150内