论文基于JAVA的中国象棋有效的设计与实现.doc
《论文基于JAVA的中国象棋有效的设计与实现.doc》由会员分享,可在线阅读,更多相关《论文基于JAVA的中国象棋有效的设计与实现.doc(61页珍藏版)》请在沃文网上搜索。
1、基于Java的中国象棋的有效的设计与实现摘 要近些年,Java技术日趋成熟,它的跨平台性,健壮性以及使用人数的增多都表明了它的受欢迎程度不断攀升,因此我选用了Java语言作为中国象棋游戏的开发语言。并且中国象棋文化源远流长,博大精深,不止在古代,就是在新中国成立不久,象棋作为益智休闲类游戏,更是成为一项不可缺少的国家体育项目。这篇论文就是采用Java语言技术来实现的中国象棋对弈系统。在论文中只要用到了Java的GUI,事件监听机制及Applet、Swing和net等相关内容,参考了Java相关技术、资料、文献等进行分析与设计,得出系统的大体功能框架,即为实现游戏玩家能够按照象棋规则进行对弈,并
2、分出胜负。 在此基础上,添加一些辅助功能,实现在对弈过程中的悔棋,求和,认输以及新游戏等,并对游戏界面进行美化。最后进行测试,确保功能的正确实现,使项目更加完善。关键词:中国象棋;Java语言;游戏;象棋规则IThe Design and Implementation of ChineseChess Based on JavaAbstractIn recent years, Java technology is more and more mature, its cross-platform, robustness as well as the number of users increase
3、 has demonstrated its popularity rising, so I choose the Java language as Chinese chess game development language. And Chinese chess culture has a very long and profound history, not only in ancient times, is the new China was founded soon after, as a chess puzzle casual games, it is becoming an ind
4、ispensable national sport.This paper is the use of Java language to make a Chinese chess chess system. In the paper as long as the use of Java in the GUI, the event listener mechanism and Applet, Swing and net other related content, see the Java-related technology, materials, literature and other an
5、alysis and design, the system generally functions derived framework, namely to achieve Games chess player can be in accordance with the rules of chess, and a winner. On this basis, add some functionality, implemented in chess during undo, sum, throw in the towel and new games, and beautification gam
6、e interface. Finally, check and test, to ensure proper function of the realization, to make the project more perfect. Key words:Chinese chess; Java; games; chess rulesII目 录1绪论11.1研究背景11.2研究意义11.3现状及发展趋势21.4研究目标42 可行性研究52.1 经济可行性52.2 技术可行性62.2.1 Java语言的历史及Java技术62.2.2 开发工具是否成熟92.3 社会可行性102.4 时间可行性103
7、 需求分析113.1功能需求分析113.2象棋规则需求分析123.3性能需求分析153.4开发环境需求154总体设计164.1 总体结构设计164.2菜单栏设计174.3棋盘棋子界面的设计174.4 类图说明185 详细设计215.1程序流程设计215.2游戏界面设计225.3游戏功能设计225.3.1新游戏功能235.3.2悔棋功能245.3.3求和功能255.3.4认输功能265.3.5 背景音乐的添加285.4 象棋规则设计285.4.1总的走棋吃棋流程285.4.2 各棋子的走棋吃棋规则296 系统实现326.1 象棋界面的实现326.2 象棋对弈的实现336.3 象棋辅助功能的实现3
8、57 系统测试367.1测试用例的设计367.2功能测试377.2.1新游戏功能测试377.2.2悔棋功能测试397.2.3认输功能测试397.2.4求和功能测试407.2.5信息提示测试407.2.6对弈功能测试417.3总结与展望41结束语43参考文献44致谢45III1 绪 论1.1 研究背景现如今,人们生活节奏加快,很多人会在繁忙的工作后放松一下,休闲益智类游戏便应运而生。相对于一些对战、角色扮演以及射击类游戏,作为休闲益智类游戏的棋类游戏以其简单易学,上手快,耗时短,更适合人们缓解压力,放松心情。中国象棋文化源远流长,有着其独特的魅力。 中国象棋其实是中国封建社会体制的一个缩影。作为
9、一类智力运动的中国象棋,不但可以开发人类的智力,锻炼人类的思维,而且可以陶冶情操,丰富大众的文化生活,也影响着大众性格的形成。现下比较好的国际象棋设计有WinBoard和ChessRule,WinBoard包含有象棋棋谱的编辑。这些软件不仅为爱好国际象棋着提供了方便,也为我们国内象棋软件的策划做出了可借鉴的范例。1.2 研究意义中国经济实力的迅速提高,使中国在国际上的影响力也逐步攀升。然而,中国文化已经不是中国在世界经济中的地位。如何提升文化软实力?首要的一点就是进行文化的传播,加大宣传力度。中国象棋游戏的传播到目前为止已有几千年的历史,中国象棋是一种古老的文化,它将文化、智慧、经济、艺术集合
10、于一体,不仅有利于人类智慧的开发,人类思维的锻炼,人的意志力的培养,还能够增强人的竞争意识,是一款非常不错的游戏。自从有了计算机,它逐步深入到各个领域,直到如今计算机已成为大家现在天天工作和学习、娱乐不可或缺的一部分,在这个过程中,各类游戏也渐渐地融入到我们每个人的日常生活中。在电脑(笔记本)遍布各个角落的今日,对于使用电脑笔记本进行工作编写代码开发项目的程序设计师而言,写出属于自己的游戏,显然不再是梦想,中国象棋历史悠久不仅源远流长,而且基础广泛,它作为智力运动的一类更是作为了所要开发游戏的首要目标。中国象棋文化起源于战国,至今已有两千多年,可谓源远流长,象棋的设计,包含棋盘格局,棋子命名,
11、象棋规则都蕴含着深厚的中国文化。然而,在国外,中国象棋并不广为人知,人们多熟悉的是国际象棋。为普及中国象棋,我们应设计一款基础的,适合大众的中国象棋软件。它应该尽可能人性化,易学易上手。1.3 现状及发展趋势象棋起初是可以携带的实体棋盘、棋子,后来出现了最先的象棋软件,那是一种可以携带到室外的电子棋盘,再其后就进晋级为电视游戏机。起初有一些小容量的象棋软件浮现,就像运行于DOS界面的将族、中国象棋之类,与其说是人类输给了电脑,还不如说人类根本木有时间与足够的耐心去恭候电脑CPU慢悠悠的算法查询,有时人们甚至都要质疑程序是否于搜索查询中挂掉了。后来,Internet前后涌现出许多Windows
12、7界面窗口的高级专业象棋软件,诸如棋隐、象棋世家、棋海无涯、象棋奇兵等等。归根结底,各式各样的象棋软件除了携带有自己本身的益处,也同时享有同样的劣势,就比如:这些软件的算法不可能像人脑一样,不能够更加全面、整体地从整体、大局去审视整个棋局,在残局的处理中,更是做不出舍小取大,明显达不到人脑的高度。在未来,中国象棋软件经历了市场连续上涨,可能会有一个逐渐冷却的滑坡趋势。国内有很多象棋软件诞生,腾讯象棋、楚汉棋缘,JJ象棋、棋海无涯等都是。现在有许多象棋软件,大多数为网络游戏软件。五子棋和国际象棋的设计都取得了成功,但中国象棋因规则比较复杂,较难实现,一直没有一个较为基础的完善的软件,仍然处于初始
13、阶段。棋类游戏的发展将面向多平台、智能化。国内外象棋软件介绍:自从电脑问世以来,人们就一直在研究将游戏移植到电脑上,让人类与电脑进行游戏。于国际象棋而言,深蓝已经深入人心,因为他于1996年的与卡斯帕罗夫对战中,在首局便成功打败了卡斯帕罗这位世界级的大师。“在对弈中,我深刻感受到来自于我对面的一种新的智慧。”卡斯帕罗夫如是说,下面介绍几个当时小有名气的中国象棋软件:象棋大师,是一款很早的中国象棋软件,在同时期的相同象棋对弈软件中棋力算是最高的。该软件只能稳定运行于Dos环境下,即使这样它的棋力亦不可小觑。随着棋盘游戏程序的开发,后来的象棋软件的棋力已然到达了顶尖的水准。棋海无涯象棋软件特点:电
14、脑象棋对弈功能强大;强大的计算机象棋后端数据处理功能;棋谱搜寻、分析算法也很独特。并因此获得过很多荣誉:弈天快刀杯第五;弈天长征杯第三十五;2004世界电脑象棋赛第四;2004启泰杯六段赛第五。象棋奇兵软件因其搜索速度而闻名。即使是用旧的赛扬机器,也能快速搜索到顶部,在速度上优势明显,适合快棋。在双核系统中,速度能够提升一倍。具有特别强的攻杀能力。在对攻情况复杂时,拓展后的延伸搜索能力使得算法对当前棋局了解分析得更清晰。象棋奇兵能够在棋局混乱中获胜。能够严谨的审视格局。着意注意各棋子位置和棋子所组棋形,对于棋子的相互牵制和多个棋子归边这两种情形都做过详细考虑,走棋路数更具有人性化。谢谢大师软件
15、该中国象棋软件棋力强大。当下出版的官方版的谢谢大师软件,它的棋力已经很高,甚至可以媲美真正的象棋大师,是当下中国最强的象棋软件之一。于2003年的11月份世界奥林匹克电脑软件比赛中,获得了银牌奖项。在2004年6月份在台湾的中国象棋软件争霸赛,更击败众多强大的棋软,荣获冠军。其特点:中残局实力强大。时常在开始吃亏的情况下,在对局进行到一半局势逆转,最终获胜。在对局中处于劣势时,也能抵住对方的强攻。学习走棋方法的能力也强。通常对对手下的好棋具有记忆功能,在下次遇到相同情况时就会将其重现出来,有它山之石,可以攻玉的效果。用它的用户数越多,它自身会便能够吸收更多好的棋路、奇招,就会让用户感觉它越来越
16、强。可以通过调校它的智能引擎来使它更机器人化或者更人性化。中国象棋软件技术:在游戏类软件中,搜索算法是关键,它的好坏往往体现着软件的优劣,比较常见的搜索算法有:a-b搜索、置换表法、最小-最大搜索、迭代加深。此外,随着时代的发展,人们研究出了一些新的高级搜索方法。这些高级搜索方法均以“带置换表的启发式a-b搜索”为基础进行扩展,当中中静态搜索和空着裁剪是消除“水平线效应”的基本方式,而主要变、例期望窗口搜索和MTD都是a-b搜索的进一步化步。然而也不是所有的棋类游戏都会使用到这些算法,因为他们使用起来也会有一定的负作用,因此归入高级搜索方法一点也不过分。比较常用的还是是空着技术。空着向前裁剪:
17、空着向前裁剪,运用它有可能会忽视掉一些重要路线,是一种比较冒险的策略,它大大减少了象棋的分枝因子,也就是说他明显减少了搜索进行的次数及数量,而这样做会很大程度上加深搜索的深度。他的工作原理便是将大量无用的操作去除,而只保留好的那部分操作。1.4 研究目标首先进行理论研究,进行一些前期准备,熟悉象棋规则,学习相关Java基础知识。熟悉使用开发工具,研究出项目的具体功能框架,实现目标及实现步骤。其次进行具体的实现,因为象棋复杂的行棋规则,这里只实现人人对弈,不连接服务器实现人机对弈。主要实现人与人按正确的规则对弈,能够正确吃棋子,能够分出胜负。其次,在时间允许的情况下,添加一些辅助功能,像新游戏,
18、求和,悔棋,认输,计时等,也可以对界面进行美化,添加背景音乐等。最后是代码实现及测试,依据框架编写程序,并对程序进行测试,确保程序正确运行。最终实现基于JAVA的中国象棋游戏,做出符合预期目标的完整的中国象棋游戏。2 可行性分析可行性研究的最终目的就是在于去分析软件是否能够以付出最小代价并在规定时限内以最短的时间来完成。因此可行性研究应该去从各个方面来分析以得出该项目是否可行,是否值得开发。如果没有经过可行性分析就去进行开发,有很大的机会会使项目中途失败或是被迫停止,这都会带来巨大的损失,甚至于导致一些小的企业破产,所以说可行性的分析必不可少,并且可行性的研究应该找尽可能开发经验丰富的开发工程
19、师来分析以将提高项目的成功率。可行性分析也包括针对项目需求做出多套实施方案,然后从几套方案中选出最符合,最可行的方案,然后按照选定方案进行实施。可行性研究包括各个方面,像经济可行性、技术可行性、政策可行性、法律可行性等。2.1 经济可行性经济上是否可行主要是在进行成本与效益的核算后,从公司的具体情况出发于经济角度判断预期的经济效益能否超过它的开发成本,开发该项目是否有利可图。这里的开发经济成本包括开发人员的工资、所耗时间等。当系统开发人员接到开发任务书时,首要要进行的工作便是去仔细阅读开发任务书,然后分析该项目是否具有简单合理并且可行的解决方案,是否可以节约成本增加效率以达到利益的最大化。事实
20、上,很多问题不能够在预期的规模、预定时间内解决,如果不能很好的处理这些麻烦,那么花费在该项目上的任何人力、物力都是无济于事的,这也就是项目开发前为什么需要进行经济可行性分析的缘由。该Java中国象棋项目是由Java开发环境Eclipse开发工具所完成的,所用到的软件EclipseJDK等都是从开源网站直接下载下来的,都不收费,并由项目由自己通过参考资料文献来独立完成,不需花费特别大的代价,因此,Java中国象棋游戏这个项目在经济上具有一定的可行性。2.2 技术可行性Java中国象棋游戏开发在技术方面是否可行,是指在项目技术方面是否足够支撑支持该Java项目的开发。包括硬件软件技术是否成熟,开发
21、语言Java是否成熟,是否有具有丰富开发经验的开发团队、开发人员等。并且开发团队中的每个人是否能够很好的交流合作以完成该Java的开发。Java开发语言是由Sun Microsystem公司所开发的编程语言,Java语言具备面向对象、通用性、可移植性和安全性等特点。Java语言可以以命令行的形式在DOS下编译运行,也可以由Java集成开发软件Eclipse来编码运行。当然这里为了Java项目开发的方便便使用集成开发工具Eclipse软件进行编写,并进行编译运行。2.2.1 Java语言的历史及Java技术事物的产生于发展均不是无缘无故的,都有着它的原因,无论是社会大背景的推动,还是偶然发生。j
22、ava语言的产生便是应IT行业的需要而生。1991年,美国Sun Microsystems公司为了能够在电子产品上占据一席之地,研发应用程序,积极探求合适的编程语言。然而消费电子产品已经有众多种类,PDA、机顶盒、手机等等都是,即使是同一类消费电子产品,它们所采用的处理芯片和操作系统也不尽相同,它们不能在同一平台上使用,这就需要我们研发一种新的语言来解决这一问题。在当时,C语言和C+语言应用广泛,Sun公司的研究人员就思考C语言、C语言是否能够担当程序跨平台使用的重任,经过研究,研究人员发现C和C语言开发的程序特别的复杂和冗大,并不适用,修改起来也不方便,安全性也低。因而,Bill Joy带领
23、着他的研究小组着手设计并成功开发出一种编程语言,也就是最初的Java即Oak。Oak语言和以前的C语言在语法上有很多相似点,但它提高了安全性,并且面向对象编程,尽管如此,Oak语言还是没有能够在商业中获取它的胜利。1995年,互联网迅速发展,遍布于世界各地,这让Sun公司发觉Oak语言所具有的优势,跨平台、面向对象、安全性高等,这些在互联网遍布的情况不正契合了公司的需要,于是研究人员对Oak语言进行了完善,以期达到下面几个目标:创建一种面向对象的程序设计语言,而不是面向过程的语言;提供一个解释执行的程序运行环境,是程序代码独立于平台;集C和C+语言的有点于一身,使程序员便于学习、掌握;取消C和
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
20 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 论文 基于 JAVA 中国象棋 有效 设计 实现
