中国象棋游戏设计.doc
《中国象棋游戏设计.doc》由会员分享,可在线阅读,更多相关《中国象棋游戏设计.doc(38页珍藏版)》请在咨信网上搜索。
1、JIU JIANG UNIVERSITY毕 业 设 计 题 目 中国象棋游戏设计 英文题目 Chinese Chess Game Design 院 系 信息科学与技术学院 专 业 信息管理与信息系统 姓 名 林传玉 班级学号 A102215 指导教师 杨桃 二一四年五月信息科学与技术学院学士学位论文摘 要中国象棋游戏系统是以C/S架构为基础开发的对弈软件,以灵活独立的Java语言为主要开发工具,其中多线程、JavaSwing、Socket编程以及数组和字符串的运用等技术都在开发过程中有所涉猎。在计算机广泛普及的背景之下,中国象棋游戏解决了由时间、地域和对手有限等面对面对弈所产生的问题,给人们带
2、来很多方便。对于象棋游戏的研究,通过棋盘类的开发实现棋盘模块,从移动区域、移动规则两个方面详细研究并描述象棋七类棋子的基本属性和棋子走法。另外,通过对系统的运行测试,表明系统除了实现基于Java技术的中国象棋游戏行棋规则算法,得以使每个棋子的行棋路线都严格遵循棋子属性所具备的走棋规则之外,还具有悔棋、计时、求和、认输等功能,而系统本身也具备界面朴素,操作简便,运行稳定的特点。系统虽然调试完成,但是仍有许多不足之处,比如没有实现人机对弈,没有聊天记录的本机储存等功能。不过,随着开发经验的积累,系统的缺陷和不足将会逐步得到完善。关键词:中国象棋,设计,软件,多线程,信息技术AbstractChin
3、ese chess game system is a game software which is developed on the basis of C/S architecture, and using the flexible independent Java language as the main development tools, multi-threading, JavaSwing, Socket programming as well as array and character string are dabbled in the process of development
4、 in technology.Under the broad background of the network, the problems resulting from face to face rival game, like the limits of time, region and opponents etc, are solved, to bring a lot of convenience. For the study of chess games, board module achieved through the development of boards, study an
5、d describe the basic properties and pawn moves of the seven categories of chess from two aspects of mobile area and moving rules. Furthermore, through the operation tests of the system, it shows that in addition to realize the Chinese chess game moves rules algorithm based on Java technology, so tha
6、t each piece moves on line strictly follow pieces attribute of the rules of playing chess, the system also has undo, timing, summation, throw in the towel and other functions, and the system itself has characteristics of simple interface, easy operation and stable operation.While System debugging is
7、 completed, but there are still many deficiencies, such as no man-machine chess, no chats local storage and other functions. However, with the accumulation of development experience, and gradually perfect the flaw and the insufficiency of the system is imperative.Keywords: Chinese Chess, Design, Sof
8、tware, Muiti Theard, Information Technology 目 录摘 要IAbstractII1 绪论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)4 系统运行测试4.1 服务端和客户端运行测试(23)4.2 客户端和客户端运行测试
9、(25)4.3 本章小结(29)5 总结与展望5.1 全文总结(30)5.2 研究展望(30)致 谢(32)参考文献(33)331 绪论1.1 课题背景中国象棋作为我国的十大“国粹”之一,其爱好者不计其数。中国象棋的发端真可谓源远流长,早在先秦时期便已孕出雏形。经过岁月的洗涤,两千多年的演化变迁,中国象棋早已成了一项家喻户晓、饭后闲时的消遣活动。而我们目前见到的这种象棋规则和对弈模式却直到宋朝才制定完成。其中,棋子“炮(砲)”的运用也是在火药火炮发明之后补充进去的,然后慢慢形成眼下的规则和模式。中国象棋之所以流传至今,是因为随着时间的沉淀,人们不断地将智慧灌入其中,加以完善。象棋的演变过程与历
10、史变迁有着密切的联系,如同生命一般,随着时代的发展,它也跟着改头换面,与时俱进。现今,在计算机上进行象棋对战的新颖弈棋模式备受象棋爱好者推崇,而面对面切磋棋艺的传统对弈形式正在慢慢地退离历史舞台,渐渐地淡出人们的生活圈。随着Java语言的流行,游戏与Java技术平台有了更多的合作。Java有很多优秀性能,致使越来越多的程序开发人员愿意使用Java语言开发程序。在互联网风行的今天,Java技术开发的游戏与网络通讯技术对接,开拓出一片广阔的领地。中国象棋浓烈的益智趣味,使得它在竞技博弈类游戏的中脱颖而出,博得众多玩家的青睐。说到游戏深度,也非文化底蕴浓厚的象棋莫属。它的操作过程既能深谋远虑,又可步
11、步为营,不仅能够激发玩家高瞻远瞩、排兵布阵的逻辑性,还可以启发玩家对“得失取舍、轻重缓急”等命题进行哲学思考;在修身养性的同时,既能够交朋结友,又可以消遣娱乐,好处多多,真可谓一举多得。Java开发技术近几年在游戏开发领域日趋成熟,得到多方面的认可。而象棋游戏的开发,也有很多先例,包括腾讯QQ象棋,JJ象棋等等。也就是说,本课题有很多值得借鉴和参考的前作。这对于研究而言,是一件非常幸运的事。目前,作为一名学生,本课题的研究并不是以商业营利为目的,主要希望能够通过这款中国象棋游戏软件的开发,熟练地掌握在Eclipse下的Java开发技术,灵活运用Socket网络套接技术、数组和字符串等知识。根据
12、具体的分析和设计尝试实现一款简单的对弈软件,深入浅出地找出象棋游戏规律,了解并运用各类棋子的行棋套路,以便获得实用可行的开发方法,通过掌握这项技能丰富自己的实践知识库1。1.2 课题研究的内容与意义中国象棋游戏系统是以Java语言为开发基础,采用C/S(Client/Server,客户机/服务器)体系结构设计的一款中国象棋游戏研究。C/S架构的原则是将计算机应用任务分解成多个子任务,将所要实现的功能模块分工完成,即功能分布原则。客户端完成数据处理,数据表示以及用户接口功能,服务端完成数据管理系统的核心功能。这种客户请求服务,服务器提供服务的处理方式是一种新型的计算机应用模式。C/S架构的程序开
13、发使用的是网络套接技术,从客户端和服务器端两个方面进行深入研究,细化完善。服务器端是开发客户端的基础,只有以服务器框架为基础,才能在开发客户端过程中进行一些相关的测试,这是这类游戏的基本开发模式。通过对系统进行可行性分析、功能模块分析和需求分析,进而总结归纳出系统应当具备的功能和所需完成的任务。首先通过技术、经济和社会等方面的分析,归纳出开发的象棋游戏应该具备怎样的功能,通过需求分析进行详细的评估报告。根据象棋本身的规则属性,以及各个棋子(包括将(帥)、士(仕)、象(相)、馬、車、炮(砲)、卒(兵)的走法规则进行研究并且进行算法设计,本研究还打算增加一些辅助的趣味功能,比如悔棋、认输、求和等功
14、能。在系统研究过程中,我们还会根据各自棋子设计的需要而恰当地使用数组进行数据及状态的存储,联机等操作也会尽量使用字符串进行服务器和客户端之间的通信,并且为了让桌面美观,还会使用Java图形技术对图片应用抗锯齿等操作;Socket网络套接技术的使用,数组和字符串的运用,以及匿名内部类实现接口中的方法等技术都会在开发过程中加以利用。本课题的意义在于通过对Java语言各种基础的学习,把四年来所学的理论知识运用到具体的实践操作当中,务必熟练掌握Java的运行环境,各种控件,基本工具抽象类的接口等技术。对于流程控制的把握,实现各项功能的拿捏,这是一个分析、归纳和表达的过程,是检验综合能力的一种方式。比如
15、遇到问题,应该采取怎样的处理是方式,并且在实际操作中的灵活运用所学知识的能力,这是检测综合能力的关键,而毕业设计的撰写和研究相当于给了我们一次系统的训练,是学以致用的直接案例。对于个人成长而言,使我知道怎样去剖析事物内部结构,如何去观察事物的发展规律,以及从适当的角度去判断事物的轻重缓急,无论是从时间上,还是从逻辑程度上都是一个提升自我能力的过程,是掌握实际技能不可多得的体验。学会把压力变作动力,无论是对个人还是对社会,都有推进作用。就课题本身而言,对中国象棋游戏的开发一个有了比较全面的了解,对传统对弈的继承,对全新技术的引用,同时为以后添加新元素打下坚实的基础,通过多方面的考虑,作为一个可持
16、续发展的游戏,需要不断改进,本系统的设计与实现相当于一个过渡的过程,具有一定的积极意义2-3。1.3 技术思路本系统是采用Java语言开发一款中国象棋对弈软件,以网络对弈的形式实现中国象棋的基本功能和主要模块。C/S体系结构是本系统的基础架构,两端非常突出的硬件环境,可以合理地实现分配到Client端和Server端的任务,使系统的通讯成本降低。服务器端通过多线程的开发与运用,发送和接收通信信息,聊天和用户状态,以及棋局处理模块等功能,在客户端需要实现菜单栏、窗口界面、棋盘、棋子、昵称等模块。在软件的开发过程中,先构建服务器端主类框架,实现相关的窗口,按钮,以及相应的功能,接着开发服务器线程和
17、服务器代理线程,为客户端的开发运行做准备。服务器端开发完毕后,着手客户端主类框架的开发,完成界面的搭建和一些简单的业务处理,实现初始化方法,以及主类业务代码的框架的落实;随后进行客户端代理线程的开发,对连接的处理等;客户端代理线程完成后,紧接着对象棋规则主类框架进行开发,对应相应的棋子规则的处理方法的实现;然后进行开发棋盘类代码框架,实现鼠标事件的处理方法。在完善主类业务代码过程中,对相应的按钮进行相关的事件处理。棋盘棋子的背景色和选中后的棋子颜色是通过声明常量实现的,声明常量的优点在于有利于修改程序。网络通信的过程是代理线程完成的,服务器端代理线程和客户端代理线程之间的连接是通过字符串传递消
18、息实现的。服务器端有什么变化客户端会收到相应的信息,反之亦然。再采用Socket网络套接技术实现建立接口,传输数据等功能。基于Java的中国象棋游戏系统是图形界面、线程、监听器和文件等技术的综合运用4。1.4 本章小结本章简单介绍了关于象棋游戏的历史演变,Java语言与游戏开发之间的关系;简单概述了设计思路,以及开发过程中需要研究的内容和方向。内容主要集中在中国象棋软件的基本功能实现上,使玩家可以在线游戏。2 系统分析系统分析是开发软件之前必须完成的一些准备工作,为软件的顺利开发打下良好的基础,知道自己要做什么,并且计划好要怎么做,同时它也是系统设计的前提,所以系统分析务必要详细,防止造成项目
19、的返工,带来不必要的损失。2.1 可行性分析2.1.1 技术可行性Java是Sun Microsystem 公司开发的编程语言,Java语言具有高效性、通用性、平台移植性和安全性等特点。通常运用Eclipse软件进行编写,并进行编译执行。Java 是一种非常新的语言,并且具有不断更新的功能,同时具有面向对象、分布式、解释执行、体系结构中立、可移植性、多线程、以及动态性等特点。同其他编程语言比起来,还要数Java技高一筹。中国象棋游戏系统的开发之所以使用Java语言,主要体现在以下几个方面:(1)灵活性“一次编写,到处运行”的Java语言是非常灵活的,它支持部署和开发环境中的各种变化。即使改变运
20、行平台,也只需要做少量的改动,有时甚至不用修改也能在不同的平台运行。(2)厂商的广泛支持“Java 语言靠群体的力量而非公司的力量”是Sun公司的口号之一,并获得了广大软件开发商的关注和认同。这与微软公司所倡导的注重精英和封闭式的模式完全不同。(3)用户的广泛支持简洁方便的Java语言拥有良好的用户基础,它没有C语言包含的指针、结构、单元等晦涩难懂、容易混淆的特性,备受程序开发员的青睐。它并不局限于某一个特定的公司。在互联网上,有许多资源以及Java示例代码。另外,程序员还可以使用很多免费软件或共享软件和许多应用程序代码5。2.1.2 经济可行性经济可行性是指可以使用的资源的可行性,主要分析核
21、算成本与效益之间的关系,从经济角度判断该系统的开发成本是否小于它的预期经济效益。当发布开发任务后,技术开发人员首先需要研究开发任务,明确开发思路,判断出现的问题是否有简单便捷、合理可行的解决方法。经验告诉我们,在系统的实际开发过程中,有许多问题不可能在预期的规模内解决。如果某些问题无法很好的解决,那么花费在该工程上的任何时间、资源和经费都是浪费的。因此经济可行性分析是一项不可少的内容。本课题的研究范畴不包括商业营利,系统开发是根据所学Java知识,采用Java开发环境Eclipse软件来完成,然后通过图书馆借阅的书籍及网上搜索的相关资料进行撰写研究,在经济方面,所有的成本花销都自主承担,具有一
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 中国象棋 游戏 设计
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【人****来】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【人****来】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。