《毕业答辩-基于Java的国际象棋的有效设计与实现》由会员分享,可在线阅读,更多相关《毕业答辩-基于Java的国际象棋的有效设计与实现(15页珍藏版)》请在金锄头文库上搜索。
1、基于Java的国际象棋的有效设计与实现摘要:l国际象棋是一项广为流传的世界级的棋牌类智力体育项目,集竞技、科学与艺术为一体,是世界上最受欢迎的棋牌类对弈游戏之一。青少年参加国际象棋训练和比赛,对其养成严守秩序的思维、培养注意力、发展记忆力、提高意志力有极大促进作用。基于信息技术,研发一套国际象棋电子棋盘和演示系统,将成为国际象棋进入中小学课堂、开发青少年智力的有效工具。l本文通过分析国际象棋游戏的游戏规则、人机对弈等方面进行研究,重点对国际象棋游戏的开发实现进行介绍。本文在讨论项目背景和对其开发设计所面对问题的基础上,分析了系统的功能需求, 本文主要讲的是用Eclipse开发工具与java开发
2、语言开发出一个国际象棋游戏,本游戏程序能实现打谱、人机对弈功能,并且程序中能智能的判定游戏的获胜方和游戏的结束与否,实现两方进行博弈。通过对软件的编写,更深入的理解了面向对象的概念,也体会到利用面向对象语言处理一些问题的优势。同时也加深了对多线程,流套接字等高级技术的理解。课题背景及意义l电脑游戏行业经过二十年的发展,已经成为与影视、音乐等并驾齐驱的全球最重要的娱乐产业之一,其年销售额超过好莱坞的全年收入。游戏,作为一种娱乐活动。早期的人类社会由于生产力及科技的制约,只能进行一些户外的游戏。随着生产力的发展和科技进步,一种新的游戏方式电子游戏也随之诞生。l当计算机发明以后,电子游戏又多了一个新
3、的载体。电子游戏在整个计算机产业的带动下不断地创新、发展着。自从计算机发明,向各个领域发展,到成为我们现在每天工作和生活必不可少的一部分的这个过程中,电子游戏也逐步渗入我们每个人的娱乐活动中。而计算机已经普及的今天,对于可以用计算机进行程序编辑的人来说,开发属于自己的游戏,已经不再是梦想。事实上,个人计算机软件市场的大约80%销售份额是来自游戏软件。l随着计算机处理速度的飞速提高,人们很早就提出了疑问:计算机是否会超越人类?世界国际象棋大师已被计算机打败,计算机已经超过了人类?而人工智能是综合性很强的一门边缘学科,它的中心任务是研究如何使计算机去做那些过去只能靠人的智力才能做的工作。因此,对游
4、戏开发过程中的人工智能技术的研究自然也就成了业界的一个热门研究方向。l随着科技的发展,现在电脑、平板等硬件的普及以及手机的功能已不仅仅是简单的接打电话、收发短信了。更多的用户希望在工作、学习之余通过方便灵巧可随身携带的仪器休闲娱乐。因此,为了迎合众多用户的需求,我们开发出一套适合各阶层人士的具有很强的娱乐性和交互性的小游戏。游戏行业发展l软件产业是当前世界上增长最快的朝阳产业之一,并将成为21世纪推动世界经济发展和社会进步的重要动力。近年来,主要国家软件业平均以11以上的增长率快速发展。据“oecd2000在IT展望”报告,1997年,成员国的包装上的增长率仅占世界产量的市场占有率为94,自1
5、990年以来已高达108十亿,和11.2,美国是全球最大的软件生产商,在1997年生产170.59十亿美元的软件,占国内生产总值的2.1,出口额为15550000000.日本紧随其后,在1998年的约57 $十亿的软件,但只有0.82亿美元出口货值。英国排名第三,1999年的37.746十亿美元的软件,占GDP的1.2,产值出口约$ 1620000000.据轨迹分析软件产业的发展,每个国家的产业规模和出口,而国家有所不同,但因子成功的因素可归纳如下:1。严格保护软件知识产权,并进行投资,良好的商业和法律环境中受益; 2.服务的到位,以促进快速转换软件融资机构; 3.高品质的软件人才,用技术,开
6、发出灵活的移民政策; 4.拥有一流的大学教育,能快速满足市场对人才的需求; 5.开发的通讯设施; 6.长创业的磨练; 7.巨大的市场需求。l与其他国家相比,中国的软件产业,尤其是游戏行业起步较晚,在很多地方,有的认为是不是一个大国的软件,但近年来,中国软件产业的快速发展,统计数据显示,在2001年,销售软件行业唯一的79.6十亿人民币,到2006年年底达到了480十亿人民币,同比增长5 6倍以上。然而,与发达国家相比,软件业相比,差距仍然较大,大部分市场被国外软件巨头所垄断,国内的一些软件的市场份额占据。在国际市场,国内软件出口2005年分别为35.9十亿,占全球软件市场的份额只有5.9。l全
7、球游戏市场2013年爆发式增长,中国的游戏公司是盈利的海外市场,全球化和手机游戏产业的趋势越来越明显。近日在Google举办的“游戏营销、风云对话”活动中,Google与国内知名游戏厂商共同探讨游戏出口的现状,寻求全球市场的机遇。Java技术介绍lJava是一种跨平台的应用软件可以写面向对象的编程语言,由Sun公司,公司在1995推出的Java编程语言和Java平台(IE javaSE,JavaEE,JavaME)。Java技术具有很好的通用性,效率,平台的可移植性和安全性,广泛应用于个人电脑,数据中心,游戏机,科学的超级计算机,手机和互联网,还拥有世界上最大的专业社区开发者。在云计算和移动互
8、联网产业环境的世界,Java和更具有显著优势和广阔的前景。lJava是Sun Microsystems的总称,该公司于1995年推出了Java面向对象的编程语言(以下简称Java语言和Java平台)。由詹姆斯高斯林和他的同事共同发展,1995年浏览器的HotJava Java实现正式启动(Java小程序)显示了Java的魅力:跨平台,动态网页,互联网计算。自那时以来,Java已被广泛接受,并促进网络技术的迅速发展,常用的浏览器支持Java。另一方面,Java技术不断更新。 (2010年甲骨文收购Sun)l四个方面:Java编程语言的Java,Java类文件格式,Java虚拟机和Java应用编程
9、接口(Java API的)。 Java和Eclipse的l的Java和Eclipse(8)的Java平台是由在Java虚拟机(Java虚拟机中,JVM)和Java应用程序接口(应用程序编程接口,或API)的,提供了一个Java应用程序与操作系统的一个独立的标准接口,可分为基本部分和扩展。在硬件和操作系统之后,Java平台的安装,Java应用程序可以运行。 Java平台已经嵌入在几乎所有的操作系统。所以Java程序可以只编译一次,就可以在不同的系统上运行。 Java应用编程接口(API)具有版本演进为1.1至1.2。基于java1.4 java1.7常用Java平台是最新版本。lJ2SE的Jav
10、a分为三个系统(Java2平台标准版,Java平台,J2EE(Java2Platform企业版的Java平台企业版),J2ME(Java 2平台微型版,Java平台,微型版)的标准版本。l从传统的计划不同的是,太阳的场合,Java将推出作为一个开放的技术。成千上万的公司的Java开发需要的Java软件的设计必须彼此相容。 “一个Sun公司的口号是”Java语言,而不是依赖于公司的实力。“赢得了广大软件开发商的集体的力量,这是因为有注重本质和封闭的模式是完全不同的。Sun的Java编程语言解释器:Java编程语言是一种简单的,面向对象的,分布式的,解释的,健壮的,安全的系统独立的,便携式的,高性
11、能,多线程和动态的语言。l在Java平台是基于Java语言的平台。这个平台是非常受欢迎的。因此,微软公司推出的对手,NET平台和C#语言模仿Java。Eclipse简介lEclipse的起源和发展。1998年11月,IBM公司成立了专门的项目小组,开始开发平台,在2000年的新一代开发平台,这是熟悉Eclipse的诞生。2000年11月,IBM正在使用开源的Eclipse授权建议和释放的操作模式,以提升行业的关注在Eclipse和加快重大决策中的应用。于是,2001年12月,IBM宣布了外面的世界,在Eclipse开源社区的源代码捐赠4000万美元。通过Eclipse的关联公司(Eclipse
12、的联盟)的成员创立,以支持和促进了Eclipse开源项目。事实上,IBM的决定是非常明智的。Eclipse是广泛的关注,使得它的用户络绎不绝,下载服务器被封锁,回到行业的震撼!在2004年的EclipseCon,IBM宣布成立一个独立的,非盈利性基金会,基金会,黄金将负责Eclipse开发和指导的管理,目前其成员多达100个知名企业采用,包括Borland公司,Rational软件,红帽,SYBASE,如谷歌和甲骨文的行业巨头。Eclipse的开发状态非常活跃,成熟稳定的版本是3.2,3.3版本是在发展,已经成为微软的软件开发平台的关键产业。Eclipse的优势现在有成千上万的人在世界上使用E
13、clipse。为什么有这么多的球迷的Eclipse?它设置了Eclipse很多功能有很多事情要做。Eclipse是开源软件。这意味着,在Eclipse不仅可以免费使用,还可以通过研究源代码的世界领先的编程技术的发展学习,并且可以通过开发者世界各地的共享,以帮助公众开源库。蚀是一个真正的可扩展性,并且可以配置。使用Eclipse插件机制,就像一个花瓶,你总是可以在花瓶插花,它可以很容易地删除不再需要花费。目前,有关互联网自由的插件充电,插件开发在家工作,并全面展开。Eclipse支持多种开发语言,而不仅仅是Java的。Eclipse是只针对开发者的最低在系统功能的核心是可扩展,插件架构使Ecli
14、pse的扩展点,支持多国语言,将更好的支持。只要在相应的语言插件安装,Eclipse可以支持的开发语言。目前,Eclipse有支持C/C+,COBOL,PHP,Perl和Python和其他语言。(虽然在Eclipse主要是一个Java开发环境,但其体系结构确保了对其他编程语言的支持)。Eclipse提供了多平台的支持。开发人员可以使用他们感觉最舒服,并与平台,如Windows,Linux和MacOS熟悉,等等。Eclipse中的单独的图形工具包,为每个平台,这使得应用程序接近本地操作系统和更好的性能的外观。基于业界领先的OSGi规范。最初由SunMicrosystems,IBM,爱立信,于19
15、99年推出,开发OSGi规范等于其服务平台包括:服务网关,汽车,手机,工业自动化,楼宇自动化,PDA网格计算,娱乐(如iPronto)和IDE等基于OSGi的微内核的形式运行的系统,所以它可以很容易地实现软件业,在行为动态变化,梦想的稳定和有效的系统的热插拔。从一开始在Eclipse3.1,决定放弃原有的框架已经赢得了业内人士的认可,使用OSGi作为其架构。从一开始Eclipse3.2版本,Eclipse提供基于OSGi的开发支持,开发者可以使用他们的基于OSGi的开发系统。Eclipse的人机界面的宏伟得到了广泛的好评。Eclipse提供了一个新的SWT/JFace的API(而不是AWT/S
16、wing的),在摇曳的单调和枯燥的界面风格的SWT/变化,取得了立足本地丰富的图形界面应用程序的开发成为可能,就像春风吹来了Java桌面开发领域,给人的觉得耳目一新的感觉。Eclipse的业界领先推出的,具有强大的产业力量。Eclipse基金会已经吸收了大量的学术和研究机构,长期规划和商业组织,Eclipse,Eclipse的领导人的发展,并确保在软件工具行业的领先地位可行性分析l可行性研究的目的是用最小的代价判断在问题定义阶段所确定的系统的目标和规模是否能实现,所确定的问题是否可以解决,系统方案在经济上、技术上和操作上是否可以接受。1、经济可行性JSP(JavaServerPages)是“基
17、于Java的服务器段动态页面设计”,软件方面只需要Java虚拟机。通过文本编辑器就可以实现系统开发,并且Java虚拟机可以在Sun公司的官方网站上免费下载。从资金投入上看,建立较完备的宿舍管理信息化平台,投入从几万到几十万不等,大多数学校寝室管理部门是可以承受起的。通过至顶向下分析逐步求精的方法对系统进行设计,并通过管理使系统逐步完善,从而达到经济上的节约。2、软件和硬件条件从硬件环境来看,现在硬件发展飞速,企业内部配备的硬件已相当完备,工资管理平台可依靠企业自身的网络环境和计算机设备。从软件环境来看,目前已经开发的类似系统存在着单一,功能过于简单大部分功能不能实现。至于信息的查询也是不能实现
18、。基于这些原因,我们着手设计和开发更适合当企业工资管理的软件系统。随着计算机得到广泛应用,企业管理者和大部分员工习惯使用计算机办公和通过上网查找信息。3、技术可行性JSP(JavaServerPages)是基于JavaServlet及整个Java体系的Web开发技术,它由SunMicrosystems公司在1996年6月推出。JSP在HTML代码中嵌入Java程序片断,并使用各种JSP指令,构成了JSP页面。这种页面可以完成操作数据库、上传文件等复杂的逻辑处理功能。另外,还通过支持JavaBean实现了功能扩展。JSP技术让动态网页的编写更加容易、功能更强,可移植性、可扩展更好。总结起来它具有
19、(1)将内容的生成与显示分离;(2)支持可重用组件;(3)采用标签简化页面开发;(4)一次编写,处处运行的特点。从技术上看,该系统可以运行于windows系列操作系统当中,可以为系统提供一个稳定的运行环境,在数据库方面也显得比较有利。因此更加节省了该系统开发经费,该系统应该说有开发的必要性。3操作可行性从操作角度来分析,本系统操作简单方便,只要懂得上网都能方便操作本系统。所以在操作上也是可行的。游戏登录界面游戏开始界面对弈过程重开游戏结束语l历时一个学期的毕业设计现在已经接近尾声了,回想起这一个学期的日子,感觉收获颇多。毕业设计的题目是基于java国际象棋游戏,它用到的开发工具是java语言,
20、Mysql数据库。在设计的开始阶段为了尽快熟悉java语言,我详细翻阅有关该方面的资料,对书中的基本理论知识逐章逐节地分析,同时还上机操作来加深理解。特别是对书中的一些典型实例,认真学习它的编程思想,吸取它的编程技巧,弄懂程序中每句话的含义。在对所要应用的技术有了一个基本认识之后,就开始构思自己的系统设计。认真听老师对设计要求的讲解,根据任务书的要求将整个系统分为几个模块,每个模块具体又要实现哪些功能,然后就逐个模块去一一详细设计,设计的过程中不时地翻阅资料,用一些巧妙的技术来优化程序。程序代码完成之后,要进行运行调试,刚开始由于没有调试经验和方法效率很低,最后在老师和同学的帮助下,终于顺利完成了,自己也从中学到了不少东西。l总之,通过几个月的毕业设计,让我感受了软件开发的整个过程。毕业设计不仅是对我在大学所学知识的一个综合运用,也是一次增长知识和经验的好机会,同时也使我学会了许多处理、解决问题的方法,大大提高了自己的动手能力,为即将走上工作岗位打下了良好的基础。ll ll TheThe EndEndll 谢谢大家谢谢大家