ImageVerifierCode 换一换
格式:DOCX , 页数:54 ,大小:3.82MB ,
资源ID:4196695      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-4196695.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(论文基于JAVA的中国象棋有效的设计与实现.docx)为本站会员(b****4)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

论文基于JAVA的中国象棋有效的设计与实现.docx

1、论文基于JAVA的中国象棋有效的设计与实现基于Java的中国象棋的有效的设计与实现摘 要近些年,Java技术日趋成熟,它的跨平台性,健壮性以及使用人数的增多都表明了它的受欢迎程度不断攀升,因此我选用了Java语言作为中国象棋游戏的开发语言。并且中国象棋文化源远流长,博大精深,不止在古代,就是在新中国成立不久,象棋作为益智休闲类游戏,更是成为一项不可缺少的国家体育项目。这篇论文就是采用Java语言技术来实现的中国象棋对弈系统。在论文中只要用到了Java的GUI,事件监听机制及Applet、Swing和net等相关内容,参考了Java相关技术、资料、文献等进行分析与设计,得出系统的大体功能框架,即

2、为实现游戏玩家能够按照象棋规则进行对弈,并分出胜负。 在此基础上,添加一些辅助功能,实现在对弈过程中的悔棋,求和,认输以及新游戏等,并对游戏界面进行美化。最后进行测试,确保功能的正确实现,使项目更加完善。关键词:中国象棋;Java语言;游戏;象棋规则The 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 numb

3、er of users increase 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, i

4、t is becoming an indispensable 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, lit

5、erature and other analysis 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, an

6、d beautification game 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 rules1 绪 论1.1 研究背景现如今,人们生活节奏加快,很多人会在繁忙的工作后放松一下,休闲益智类游戏便应运而生。相对于一些对战、角色扮演以及射击类游戏,作为休闲益智类游戏的棋类游戏以其简单易学,上手快,耗时短,更适合人们缓解压力

7、,放松心情。中国象棋文化源远流长,有着其独特的魅力。 中国象棋其实是中国封建社会体制的一个缩影。作为一类智力运动的中国象棋,不但可以开发人类的智力,锻炼人类的思维,而且可以陶冶情操,丰富大众的文化生活,也影响着大众性格的形成。现下比较好的国际象棋设计有WinBoard和ChessRule,WinBoard包含有象棋棋谱的编辑。这些软件不仅为爱好国际象棋着提供了方便,也为我们国内象棋软件的策划做出了可借鉴的范例。1.2 研究意义中国经济实力的迅速提高,使中国在国际上的影响力也逐步攀升。然而,中国文化已经不是中国在世界经济中的地位。如何提升文化软实力?首要的一点就是进行文化的传播,加大宣传力度。中

8、国象棋游戏的传播到目前为止已有几千年的历史,中国象棋是一种古老的文化,它将文化、智慧、经济、艺术集合于一体,不仅有利于人类智慧的开发,人类思维的锻炼,人的意志力的培养,还能够增强人的竞争意识,是一款非常不错的游戏。自从有了计算机,它逐步深入到各个领域,直到如今计算机已成为大家现在天天工作和学习、娱乐不可或缺的一部分,在这个过程中,各类游戏也渐渐地融入到我们每个人的日常生活中。在电脑(笔记本)遍布各个角落的今日,对于使用电脑笔记本进行工作编写代码开发项目的程序设计师而言,写出属于自己的游戏,显然不再是梦想,中国象棋历史悠久不仅源远流长,而且基础广泛,它作为智力运动的一类更是作为了所要开发游戏的首

9、要目标。中国象棋文化起源于战国,至今已有两千多年,可谓源远流长,象棋的设计,包含棋盘格局,棋子命名,象棋规则都蕴含着深厚的中国文化。然而,在国外,中国象棋并不广为人知,人们多熟悉的是国际象棋。为普及中国象棋,我们应设计一款基础的,适合大众的中国象棋软件。它应该尽可能人性化,易学易上手。1.3 现状及发展趋势象棋起初是可以携带的实体棋盘、棋子,后来出现了最先的象棋软件,那是一种可以携带到室外的电子棋盘,再其后就进晋级为电视游戏机。起初有一些小容量的象棋软件浮现,就像运行于DOS界面的将族、中国象棋之类,与其说是人类输给了电脑,还不如说人类根本木有时间与足够的耐心去恭候电脑CPU慢悠悠的算法查询,

10、有时人们甚至都要质疑程序是否于搜索查询中挂掉了。后来,Internet前后涌现出许多Windows 7界面窗口的高级专业象棋软件,诸如棋隐、象棋世家、棋海无涯、象棋奇兵等等。归根结底,各式各样的象棋软件除了携带有自己本身的益处,也同时享有同样的劣势,就比如:这些软件的算法不可能像人脑一样,不能够更加全面、整体地从整体、大局去审视整个棋局,在残局的处理中,更是做不出舍小取大,明显达不到人脑的高度。在未来,中国象棋软件经历了市场连续上涨,可能会有一个逐渐冷却的滑坡趋势。国内有很多象棋软件诞生,腾讯象棋、楚汉棋缘,JJ象棋、棋海无涯等都是。现在有许多象棋软件,大多数为网络游戏软件。五子棋和国际象棋的

11、设计都取得了成功,但中国象棋因规则比较复杂,较难实现,一直没有一个较为基础的完善的软件,仍然处于初始阶段。棋类游戏的发展将面向多平台、智能化。国内外象棋软件介绍:自从电脑问世以来,人们就一直在研究将游戏移植到电脑上,让人类与电脑进行游戏。于国际象棋而言,深蓝已经深入人心,因为他于1996年的与卡斯帕罗夫对战中,在首局便成功打败了卡斯帕罗这位世界级的大师。“在对弈中,我深刻感受到来自于我对面的一种新的智慧。”卡斯帕罗夫如是说,下面介绍几个当时小有名气的中国象棋软件:象棋大师,是一款很早的中国象棋软件,在同时期的相同象棋对弈软件中棋力算是最高的。该软件只能稳定运行于Dos环境下,即使这样它的棋力亦

12、不可小觑。随着棋盘游戏程序的开发,后来的象棋软件的棋力已然到达了顶尖的水准。棋海无涯象棋软件特点:电脑象棋对弈功能强大;强大的计算机象棋后端数据处理功能;棋谱搜寻、分析算法也很独特。并因此获得过很多荣誉:弈天快刀杯第五;弈天长征杯第三十五;2004世界电脑象棋赛第四;2004启泰杯六段赛第五。象棋奇兵软件因其搜索速度而闻名。即使是用旧的赛扬机器,也能快速搜索到顶部,在速度上优势明显,适合快棋。在双核系统中,速度能够提升一倍。具有特别强的攻杀能力。在对攻情况复杂时,拓展后的延伸搜索能力使得算法对当前棋局了解分析得更清晰。象棋奇兵能够在棋局混乱中获胜。能够严谨的审视格局。着意注意各棋子位置和棋子所

13、组棋形,对于棋子的相互牵制和多个棋子归边这两种情形都做过详细考虑,走棋路数更具有人性化。谢谢大师软件该中国象棋软件棋力强大。当下出版的官方版的谢谢大师软件,它的棋力已经很高,甚至可以媲美真正的象棋大师,是当下中国最强的象棋软件之一。于2003年的11月份世界奥林匹克电脑软件比赛中,获得了银牌奖项。在2004年6月份在台湾的中国象棋软件争霸赛,更击败众多强大的棋软,荣获冠军。其特点:中残局实力强大。时常在开始吃亏的情况下,在对局进行到一半局势逆转,最终获胜。在对局中处于劣势时,也能抵住对方的强攻。学习走棋方法的能力也强。通常对对手下的好棋具有记忆功能,在下次遇到相同情况时就会将其重现出来,有它山

14、之石,可以攻玉的效果。用它的用户数越多,它自身会便能够吸收更多好的棋路、奇招,就会让用户感觉它越来越强。可以通过调校它的智能引擎来使它更机器人化或者更人性化。中国象棋软件技术:在游戏类软件中,搜索算法是关键,它的好坏往往体现着软件的优劣,比较常见的搜索算法有:a-b搜索、置换表法、最小-最大搜索、迭代加深。此外,随着时代的发展,人们研究出了一些新的高级搜索方法。这些高级搜索方法均以“带置换表的启发式a-b搜索”为基础进行扩展,当中中静态搜索和空着裁剪是消除“水平线效应”的基本方式,而主要变、例期望窗口搜索和MTD都是a-b搜索的进一步化步。然而也不是所有的棋类游戏都会使用到这些算法,因为他们使

15、用起来也会有一定的负作用,因此归入高级搜索方法一点也不过分。比较常用的还是是空着技术。空着向前裁剪:空着向前裁剪,运用它有可能会忽视掉一些重要路线,是一种比较冒险的策略,它大大减少了象棋的分枝因子,也就是说他明显减少了搜索进行的次数及数量,而这样做会很大程度上加深搜索的深度。他的工作原理便是将大量无用的操作去除,而只保留好的那部分操作。1.4 研究目标首先进行理论研究,进行一些前期准备,熟悉象棋规则,学习相关Java基础知识。熟悉使用开发工具,研究出项目的具体功能框架,实现目标及实现步骤。其次进行具体的实现,因为象棋复杂的行棋规则,这里只实现人人对弈,不连接服务器实现人机对弈。主要实现人与人按

16、正确的规则对弈,能够正确吃棋子,能够分出胜负。其次,在时间允许的情况下,添加一些辅助功能,像新游戏,求和,悔棋,认输,计时等,也可以对界面进行美化,添加背景音乐等。最后是代码实现及测试,依据框架编写程序,并对程序进行测试,确保程序正确运行。最终实现基于JAVA的中国象棋游戏,做出符合预期目标的完整的中国象棋游戏。2 可行性分析可行性研究的最终目的就是在于去分析软件是否能够以付出最小代价并在规定时限内以最短的时间来完成。因此可行性研究应该去从各个方面来分析以得出该项目是否可行,是否值得开发。如果没有经过可行性分析就去进行开发,有很大的机会会使项目中途失败或是被迫停止,这都会带来巨大的损失,甚至于

17、导致一些小的企业破产,所以说可行性的分析必不可少,并且可行性的研究应该找尽可能开发经验丰富的开发工程师来分析以将提高项目的成功率。可行性分析也包括针对项目需求做出多套实施方案,然后从几套方案中选出最符合,最可行的方案,然后按照选定方案进行实施。可行性研究包括各个方面,像经济可行性、技术可行性、政策可行性、法律可行性等。2.1 经济可行性经济上是否可行主要是在进行成本与效益的核算后,从公司的具体情况出发于经济角度判断预期的经济效益能否超过它的开发成本,开发该项目是否有利可图。这里的开发经济成本包括开发人员的工资、所耗时间等。当系统开发人员接到开发任务书时,首要要进行的工作便是去仔细阅读开发任务书

18、,然后分析该项目是否具有简单合理并且可行的解决方案,是否可以节约成本增加效率以达到利益的最大化。事实上,很多问题不能够在预期的规模、预定时间内解决,如果不能很好的处理这些麻烦,那么花费在该项目上的任何人力、物力都是无济于事的,这也就是项目开发前为什么需要进行经济可行性分析的缘由。该Java中国象棋项目是由Java开发环境Eclipse开发工具所完成的,所用到的软件EclipseJDK等都是从开源网站直接下载下来的,都不收费,并由项目由自己通过参考资料文献来独立完成,不需花费特别大的代价,因此,Java中国象棋游戏这个项目在经济上具有一定的可行性。2.2 技术可行性Java中国象棋游戏开发在技术

19、方面是否可行,是指在项目技术方面是否足够支撑支持该Java项目的开发。包括硬件软件技术是否成熟,开发语言Java是否成熟,是否有具有丰富开发经验的开发团队、开发人员等。并且开发团队中的每个人是否能够很好的交流合作以完成该Java的开发。Java开发语言是由Sun Microsystem公司所开发的编程语言,Java语言具备面向对象、通用性、可移植性和安全性等特点。Java语言可以以命令行的形式在DOS下编译运行,也可以由Java集成开发软件Eclipse来编码运行。当然这里为了Java项目开发的方便便使用集成开发工具Eclipse软件进行编写,并进行编译运行。2.2.1 Java语言的历史及J

20、ava技术事物的产生于发展均不是无缘无故的,都有着它的原因,无论是社会大背景的推动,还是偶然发生。java语言的产生便是应IT行业的需要而生。1991年,美国Sun Microsystems公司为了能够在电子产品上占据一席之地,研发应用程序,积极探求合适的编程语言。然而消费电子产品已经有众多种类,PDA、机顶盒、手机等等都是,即使是同一类消费电子产品,它们所采用的处理芯片和操作系统也不尽相同,它们不能在同一平台上使用,这就需要我们研发一种新的语言来解决这一问题。在当时,C语言和C+语言应用广泛,Sun公司的研究人员就思考C语言、C语言是否能够担当程序跨平台使用的重任,经过研究,研究人员发现C和

21、C语言开发的程序特别的复杂和冗大,并不适用,修改起来也不方便,安全性也低。因而,Bill Joy带领着他的研究小组着手设计并成功开发出一种编程语言,也就是最初的Java即Oak。Oak语言和以前的C语言在语法上有很多相似点,但它提高了安全性,并且面向对象编程,尽管如此,Oak语言还是没有能够在商业中获取它的胜利。1995年,互联网迅速发展,遍布于世界各地,这让Sun公司发觉Oak语言所具有的优势,跨平台、面向对象、安全性高等,这些在互联网遍布的情况不正契合了公司的需要,于是研究人员对Oak语言进行了完善,以期达到下面几个目标:创建一种面向对象的程序设计语言,而不是面向过程的语言;提供一个解释执

22、行的程序运行环境,是程序代码独立于平台;集C和C+语言的有点于一身,使程序员便于学习、掌握;取消C和C语言中的不好的部分,像是指针、内存的释放与申请,增加程序的健壮性,使程序更具安全性;这种编程语言拥有多线程,使程序能同时执行多个任务;提供动态下载程序代码的机制;提供代码校验机制以保证安全性;Sun公司最后给该语言取名为java语言,造就了一种以后非常流行的编程语言。Java语言是一种简单的颇受欢迎的语言,具有通用性、多线程、动态性、面向对象、健壮安全、可移植、跨平台、垃圾回收机制等特点。Java语言相对于其它其他编程语言有以下显著优势:(1)Java语言是面向对象的并且灵活性很强Java是一

23、种非常新的开发语言,它的灵活性很强,支持在部署和开发环境中的各种细微变化。由于Java语言构建于面向对象的基础平台上,是以较容易在基本的语言上进行延伸。Java学习C+面向对象的概念,将数据封装于类中,以类的优点,使程序简单,易于维护。封装性、继承性、多态性等有关对象的特性,使程序代码能够一次编译,多次运行,如有更改,需要再次编译。Java语言有一设计原则:面向接口,程序员的设计只需要关注类和接口。Java可以将一些共性抽象成父类也就是一般对象的类,子类通过继承可以使用父类的方法,也可以在子类中对父类的方法进行重写。在Java中,类不可以多继承,一个子类只能继承一个父类,不能同时继承多个父类。

24、Java语言的类关系够成树形,Java提供的Object类是一切子类的父类,Object为根类,其功能强大,编程中经常使用它和及它的派生类。(2)Java语言有多厂商支持与多用户支持该项目使用Java语言的一个很重要的原因就是Java有厂商的广泛支持,Java的供应厂商不止一家,许多厂家都支持并生产Java产品。Java产品不光是受到多家厂商支持,也有许多的用户使用,而且Java的开源代码以及Java良好的开发工具也为广大Java程序员提供了极大的方便。(3)Java语言性能高与其它解释型高级程序设计语言相比,Java的确有很好的性能。并且,随着JIT(Just-In-Time)编译器技术的发

25、展,Java运行的速度也越来越接近于C+。 (4)Java语言可以跨平台 Java可以跨平台使用也即Java具有平台独立性,这也是Java的一大亮点。因此,在Windows下编译并运行成功的Java程序,无需任何修改在Unix/Linux下依然可以部署运行成功。这也让更多的需要在特定操作系统开发项目又需要部署到多个操作系统的企业选择了Java。Java引进虚拟机,有了Java虚拟机,Java程序才可以运行于多个平台之间,Java程序运行在虚拟机,实现在不同平台的Java接口之间。Java的跨平台是他编写的程序能在全世界内公用。Java的数据类型与它所处的机器无关,Java虚拟机(Java Vi

26、rtual Machine)是在硬件和操作系统之上建立的,它能够实现Java二进制代码的解释执行功能,提供不同平台的接口 。 (5)Java语言具有动态性Java 程序是由类组成的,而类又由对象构成,类可以自己编写,也可以简单的引入包或者从类库中引入类,而类又是可以在运行时动态装载的,这就使Java 可以不像C+那样必须在类库升级有新版本后,进行程序的手动修改,重新编译运行,Java可以在分布环境中动态地维护程序及类库,不需要自己操作。(6)Java语言具有多线程Java 还有一个特点,那就是Java虚拟机支持多线程。多线程能够同时完成多个任务。Java的多线程听起来会让人感觉它可以同时处理多

27、个线程,事实并非如此,只是处理器快速地在不同线程间切换所产生的错觉,处理器处理的速度远远超过了人眼接收信息的速度,所以会让人误会多个任务在同一时刻运行。实际上,计算机处理器在一个时间点还是只能处理单个线程。(7)Java语言与C+Java提供了优秀程序设计语言具有的所有功能,但它仍然具备自己的风格,没有和别的语言含糊不清。C+虽然安全性不怎么好,但C和C+语言仍然被大家广泛,所以使用,Java借鉴C+,面向对象,让大家容易学习接受这门新语言。Java删除C+语言中的指针、Struct、typedef、#define、需要程序员手动释放内存等容易让程序出错的功能,降低了程序的出错率,也使Java

28、语言功能更加精炼,更加健壮。除此之外,Java很小,整个解释器也不足300kb的内存,Java还增加了一些有用的功能,如垃圾回收器,对内存进行自动回收。Java再实现C+的面象对象技术基础上,有所增强(为了语言简洁,删除了一些不实用功能)。Java处理数据的方式和用接口处理对象数据的方式相同。Java与C和C+直接相关。Java保留了C语言的语法,Java 的面向对象则是由C+语言而来的。编程语言最早是C,再往后过渡到C+,最后是JAVA盛行。通过大量类的继承与多态的使用,JAVA提供了一个强大的功能,可以更好地利用已有成果,逻辑一致的程序设计环境。最最重要的一点是三种语言相互关联,C,C+和

29、JAVA之间的相似性为专业程序员定义了一个统一的概念架构。使程序员从一门语言转学另一门语言时不会太难,不需要从头学起。2.2.2 开发工具是否成熟Eclipse是一个集成的Java开发工具,Eclipse 源码开放并且可以跨平台使用。就Eclipse自身而言,它内部包含一些服务和框架,在Eclipse内创建项目时,可以从外部导入一些框架,方便程序员写程序。它的开发环境主要由一些插件组件支撑,这些插件组件可以手动下载或升级。Eclipse软件本身自带标准插件集,里面有一些列的Java开发工具(Java Development Tools,JDT)。即使有大批量的用户特别喜欢将 Eclipse 当

30、作 Java集成开发环境(IDE)来使用,但 Eclipse的用途作用并不是只有这一点,它还有许多它的高明之处。就说Eclipse,它内部还拥有插件的开发环境(Plug-in Development Environmen,PDE),插件开发环境主要用来满足那些希望使用Eclipse更多功能的软件编程工作者,插件开发环境能够构建出与Eclipse环境无缝集成的工具。Eclipse是一个开放源代码的软件开发项目,专注于为高度集成的工具开发提供一个全功能的、具有商业品质的工业平台。它主要由Eclipse项目、Eclipse工具项目和Eclipse技术项目三个项目组成,具体包括四个部分组成Eclips

31、e Platform、JDT、CDT和PDE。JDT作用于Java开发、CDT作用于C开发、PDE则作用于插件的开发,Eclipse Platform则是一个开放的可扩展集成开发环境,它为我们提供了一个通用的软件开发平台。Eclipse软件的设计思想是:一切由插件构成。Eclipse本身不大,但它功能强大,这是为什么呢?因为他的大部分功能都以插件的形式作用于Eclipse自身之上。Eclipse的基础组成为:图形API (SWT/Jface), Java开发环境的插件(JDT ),插件开发的环境(PDE)等等。像Eclipse这样功能完整并且比较成熟的开发软件、开发环境,大多数是由一些知名外国

32、软件企业开发而来,比如说美国的IBM公司,但是仍然有一小部分是由eclipse.org的软件联盟主导开发而来。2.3 社会可行性自改革后,我国经济迅速发展,电脑出现在每家每户,基本已经普及,有很多人都能够熟练使用电脑上网工作、娱乐、查资料等,无论是小孩、还是中老年人都已经学会使用电脑、网络,便利我们的生活,这样做更有利于人力资源的合理而有效的利用。并且,此次设计的象棋软件简单基础,并且不用联网,可以随时随地的使用。为很多上班族和象棋爱好者提供了很大的方便,使得人们能够用该程序进行对弈。法律因素:全部软件均由官方开源网站下载而来;硬件设备通过正当途径购得;所有软件都用正版,技术资料都通过正经学术站下载而来或通过图书馆查阅得到,数据信息均可保证合法来源。所以,在法律方面是可行的。用户使用可行性:首先,中国象棋使用的是图形用户界面,简单易操作,无论是任何阶段的象棋爱好者都可以使用这款软件进行游戏。政策可行性:这款软件的开发在国家政策许可的范围内,不受国家以及任何地区机构的限制,在政策上是可行的。2.4 时间

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2