JIUJIANGUNIVERSITY毕业设计题目中国象棋游戏设计英文题目ChineseChessGameDesign院系信息科学与技术学院专业信息管理与信息系统姓名林传玉班级学号A102215指导教师杨桃二O一四年五月I信息科学与技术学院学士学位论文摘要中国象棋游戏系统是以C/S架构为基础开发的对弈软件,以灵活独立的Java语言为主要开发工具,其中多线程、JavaSwing、Socket编程以及数组和字符串的运用等技术都在开发过程中有所涉猎。在计算机广泛普及的背景之下,中国象棋游戏解决了由时间、地域和对手有限等面对面对弈所产生的问题,给人们带来很多方便。对于象棋游戏的研究,通过棋盘类的开发实现棋盘模块,从移动区域、移动规则两个方面详细研究并描述象棋七类棋子的基本属性和棋子走法。另外,通过对系统的运行测试,表明系统除了实现基于Java技术的中国象棋游戏行棋规则算法,得以使每个棋子的行棋路线都严格遵循棋子属性所具备的走棋规则之外,还具有悔棋、计时、求和、认输等功能,而系统本身也具备界面朴素,操作简便,运行稳定的特点。系统虽然调试完成,但是仍有许多不足之处,比如没有实现人机对弈,没有聊天记录的本机储存等功能。不过,随着开发经验的积累,系统的缺陷和不足将会逐步得到完善。关键词:中国象棋,设计,软件,多线程,信息技术II信息科学与技术学院学士学位论文AbstractChinesechessgamesystemisagamesoftwarewhichisdevelopedonthebasisofC/Sarchitecture,andusingtheflexibleindependentJavalanguageasthemaindevelopmenttools,multi-threading,JavaSwing,Socketprogrammingaswellasarrayandcharacterstringaredabbledintheprocessofdevelopmentintechnology.Underthebroadbackgroundofthenetwork,theproblemsresultingfromfacetofacerivalgame,likethelimitsoftime,regionandopponentsetc,aresolved,tobringalotofconvenience.Forthestudyofchessgames,boardmoduleachievedthroughthedevelopmentofboards,studyanddescribethebasicpropertiesandpawnmovesofthesevencategoriesofchessfromtwoaspectsofmobileareaandmovingrules.Furthermore,throughtheoperationtestsofthesystem,itshowsthatinadditiontorealizetheChinesechessgamemovesrulesalgorithmbasedonJavatechnology,sothateachpiecemovesonlinestrictlyfollowpiecesattributeoftherulesofplayingchess,thesystemalsohasundo,timing,summation,throwinthetowelandotherfunctions,andthesystemitselfhascharacteristicsofsimpleinterface,easyoperationandstableoperation.WhileSystemdebuggingiscompleted,buttherearestillmanydeficiencies,suchasnoman-machinechess,nochatslocalstorageandotherfunctions.However,withtheaccumulationofdevelopmentexperience,andgraduallyperfecttheflawandtheinsufficiencyofthesystemisimperative.Keywords:ChineseChess,Design,Software,MuitiTheard,InformationTechnologyIII信息科学与技术学院学士学位论文目录摘要.....................................................IAbstract..................................................II1绪论1.1课题背景.............................................(1)1.2课题研究的内容与意义..................................(2)1.3技术思路.............................................(3)1.4本章小结.............................................(4)2系统分析2.1可行性分析...........................................(5)2.2系统功能模块分析......................................(6)2.3需求分析.............................................(7)2.4本章小结............................................(10)3系统设计3.1中国象棋游戏的结构设计...............................(11)3.2系统的功能模块设计...................................(13)3.3走棋和吃棋规则设计...................................(14)3.4主要算法伪码示例.....................................(18)3.5本章小结............................................(22)IV信息科学与技术学院学士学位论文4系统运行测试4.1服务端和客户端运行测试...............................(23)4.2客户端和客户端运行测试...............................(25)4.3本章小结............................................(29)5总结与展望5.1全文总结............................................(30)5.2研究展望............................................(30)致谢..................................................(32)参考文献................................................(33)1信息科学与技术学院学士学位论文1绪论1.1课题背景中国象棋作为我国的十大“国粹”之一,其爱好者不计其数。中国象棋的发端真可谓源远流长,早在先秦时期便已孕出雏形。经过岁月的洗涤,两千多年的演化变迁,中国象棋早已成了一项家喻户晓、饭后闲时的消遣活动。而我们目前见到的这种象棋规则和对弈模式却直到宋朝才制定完成。其中,棋子“炮(砲)”的运用也是在火药火炮发明之后补充进去的,然后慢慢形成眼下的规则和模式。中国象棋之所以流传至今,是因为随着时间的沉淀,人们不断地将智慧灌入其中,加以完善。象棋的演变过程与历史变迁有着密切的联系,如同生命一般,随着时代的发展,它也跟着改头换面,与时俱进。现今,在计算机上进行象棋对战的新颖弈棋模式备受象棋爱好者推崇,而面对面切磋棋艺的传统对弈形式正在慢慢地退离历史舞台,渐渐地淡出人们的生活圈。随着Java语言的流行,游戏与Java技术平台有了更多的合作。Java有很多优秀性能,致使越来越多的程序开发人员愿意使用Java语言开发程序。在互联网风行的今天,Java技术开发的游戏与网络通讯技术对接,开拓出一片广阔的领地。中国象棋浓烈的益智趣味,使得它在竞技博弈类游戏的中脱颖而出,博得众多玩家的青睐。说到游戏深度,也非文化底蕴浓厚的象棋莫属。它的操作过程既能深谋远虑,又可步步为营,不仅能够激发玩家高瞻远瞩、排兵布阵的逻辑性,还可以启发玩家对“得失取舍、轻重缓急”等命题进行哲学思考;在修身养性的同时,既能够交朋结友,又可以消遣娱乐,好处多多,真可谓一举多得。Java开发技术近几年在游戏开发领域日趋成熟,得到多方面的认可。而象棋游戏的开发,也有很多先例,包括腾讯QQ象棋,JJ象棋等等。也就是说,本课题有很多值得借鉴和参考的前作。这对于研究而言,是一件非常幸运的事。目前,作为一名学生,本课题的研究并不是以商业营利为目的,主要希望能够通过这款中国象棋游戏软件的开发,熟练地掌握在Eclipse下的Java开发技术,灵活运用Socket网2信息科学与技术学院学士学位论文络套接技术、数组和字符串等知识。根据具体的分析和设计尝试实现一款简单的对弈软件,深入浅出地找出象棋游戏规律,了解并运用各类棋子的行棋套路,以便获得实用可行的开发方法,通过掌握这项技能丰富自己的实践知识库[1]。1.2课题研究的内容与意义中国象棋游戏系统是以Java语言为开发基础,采用C/S(Client/Server,客户机/服务器)体系结构设计的一款中国象棋游戏研究。C/S架构的原则是将计算机应用任务分解成多个子任务,将所要实现的功能模块分工完成,即功能分布原则。客户端完成数据处理,数据表示以及用户接口功能,服务端完成数据管理系统的核心功能。这种客户请求服务,服务器提供服务的处理方式是一种新型的计算机应用模式。C/S架构的程序开发使用的是网络套接技术,从客户端和服务器端两个方面进行深入研究,细化完善。服务器端是开发客户端的基础,只有以服务器框架为基础,才能在开发客户端过程中进行一些相关的测试,这是这类游戏的基本开发模式。通过对系统进行可行性分析、功能模块分析和需求分析,进而总结归纳出系统应当具备的功能和所需完成的任务。首先通过技术、经济和社会等方面的分析,归纳出开发的象棋游戏应该具备怎样的功能,通过需求分析进行详细的评估报告。根据象棋本身的规则属性,以及各个棋子(包括将(帥)、士(仕)、象(相)、馬、車、炮(砲)、卒(兵))的走法规则进行研究并且进行算法设计,本研究还打算增加一些辅助的趣味功能,比如悔棋、认输、求和等功能。在系统研究过程中,我们还会根据各自棋子设计的需要而恰当地使用数组进行数据及状态的存储,联机等操作也会尽量使用字符串进行服务器和客户端之间的通信,并且为了让桌面美观,还会使用Java图形技术对图片应用抗锯齿等操作;Socket网络套接技术的使用,数组和字符串的运用,以及匿名内部类实现接口中的方法等技术都会在开发过程中加以利用。本课题的意义在于通过对Java语言各种基础的学习,把四年来所学的理论知识运用到具体的实践操作当中,务必熟练掌握Java的运行环境,各种控件,基本工具抽象类的接口等技术。对于流程控制的把握,实现各项功能的拿捏,这是一个分析、3信息科学与技术学院学士学位论文归纳和表达的过程,是检验综合能力的一种方式。比如遇到问题,应该采取怎样的处理是方式,并且在实际操作中的灵活运用所学知识的能力,这是检测综合能力的关键,而毕业设计的撰写和研究相当于给了我们一次系统的训练,是