摘要中国象棋发展至今已有数千年的历史了,它是中华民族智慧的结晶。在我国,中国象棋的普及程度是其它棋类无法相比的,大致国际、国内比赛,小至社区街道。如今,仅中国就有两亿人会下中国象棋,且中国象棋的发展趋势日益国际化。Java游戏程序的开发是计算机运用的一个重要方面之一。游戏程序的发展几乎与计算机网络和软硬件技术的发挥在那个基本保持同步。游戏无论是开发过程还是运行过程,对它所以依赖的计算机硬件配置的要求较高。本设计采用软件工程学方法设计并实现个了中国象棋打谱系统,该系统能够制作保存用户对弈过程,能重新演示绝对过程,及复盘。当然它也能遵守象棋的一切基本规则,实现人机对战,人与人对战等多方面功能。【关键词】中国象棋,打谱,复盘,JAVA,软件工程AbstractAsthequintessenceofacountryforChina,ithaspassedthousandsofyearssinceChineseChessdeveloped.Otherchesscouledn'tbecomparedwithit'spopularzationinChina,formlargeinternationalornationlcompetitiontosmallerpiecescommunitystreet.ItisthedistillateofChinesepeople'swisdom.Now,thereare200millionpeoplecanpalyChineseChessonlyinChina.AndChineseChessisdevelopinginthewayofinternationalization.JavaDevelopmentofthegameprogramisoneimportantASPectofcomputerapplications.ProceduresforthedevelopmentofthegamealmostremainthesamestepwithcomputerNETworkandsoftwaretechnologydevelopment.Whetherthedevelopmentprocessoroperationprocessofgame,ithastorelyonahighcomputerhardwareconfiguration.ThepaperdesignsanddevelopstheSpectrumsystemofChinesechesswithSoftwareEngineering.Andthesystemcancreateandmaintainagameprocessinordertore-demogameprecess,whichcalledchessboardresuming.Ofcourse,italsocancomplywithallthebasicchessrulesandachievemanyfunctions,suchashuman-machinewar,man-manwarandsoon.【Keywords】ChineseChess,SpectrumFight,chessboardresuming,Java,目录1.引言1.1主要设计...........................................................................................................................11.2主要内容............................................................................................................................11.3设计要求............................................................................................................................12.开发平台2.1Java软件概述..................................................................................................................32.2Java的特点......................................................................................................................32.3关于ECLIPSE....................................................................................................................53.需求分析3.1任务概述............................................................................................................................63.2设计基本要求...................................................................................................................64.总体设计4.1线程的设计........................................................................................................................84.1.1通过Thread类实现.............................................................................................84.1.2实现Runnable接口.............................................................................................94.2线程的生命周期................................................................................................................94.2.1出生.......................................................................................................................94.2.2就绪.......................................................................................................................94.2.3运行.......................................................................................................................94.2.4阻塞.......................................................................................................................94.2.5死亡.....................................................................................................................105.详细设计5.1程序流程图......................................................................................................................115.2运行结果及界面..............................................................................................................126.实验总结致谢..............................................................................................................................................16参考文献...................................................................................................................................17南昌工学院课程设计论文11.引言1.1主要设计象棋水平的发展是需要靠信息技术来推动的,国际象棋有两个很好的范例,一个是象棋棋谱编辑和对弈程序的公共平台——WinBoard平台,另一个是商业的国际象棋数据库和对弈软件——ChessBase,他们为国际象棋爱好者和研究者提供了极大的便利。国际象棋软件有着成功的商业运作,已发展成一种产业。然而,电脑在中国象棋上的运用还刚刚起步,尽管国内涌现出一大批中国象棋的专业网站和专业软件,但是由于缺乏必要的基础工作,电脑技术在中国象棋上的应用优势还无法体现出来。在设计中国象棋软件过程中,国际象棋软件有很多值得借鉴的成功经验和优秀的思想。例如B.Moreland,微软(Microsoft)的程序设计师,业余从事国际象棋引擎Ferret的开发,他的一系列关于国际象棋程序设计的文章非常值得其他棋类程序设计人员借鉴。然而,中国象棋与国际象棋存在着很大的差异,因此国际象棋的某些成熟技术,无法直接应用于中国象棋,需要对其加以改进和创新。1.2主要内容本课题采用Java语言编写这个中国象棋对弈系统程序。主要工作内容:搜集相关资料,准备参考资料,学习掌握开发方法、开发工具,需求分析,确定游戏程序实施方案,根据要求设计具体的流程图,编写程序,修改、完善程序,系统调试、测试,优化处理。1.3设计要求中国象棋是双方在由9条和10条横线分割而成的棋盘对弈。竖线与横线的交叉点称做棋点,每个棋子都放置在棋点上,而不是方格中。河界将棋盘分为两个等分=份,没一边都有一个由9个点组成的区域“将”,“帅”,“士”只能在“九宫”内移动,并且“将”,“帅”,的每一步只可以水平或垂直移动一个棋点。士:“士”只能在“九宫”内移动,并且每一步只可以沿对角线方向移动一个棋点。象;一步必须沿对角线方向走两个棋点。但它既不能过河,也不能跳过或穿南昌工学院课程设计论文2越障碍,即象征走的过程不能被“别眼”。马:每一步只可以水平或垂直移动一个棋点。但它必须沿对角线方向,向左或向右移动,中国象棋的马不能跳过障碍,即在走的过程不能被“别腿”。车:可以沿水平或垂直方向移动任意个无障碍的点。炮:行走规则和车很类似,但它必须跳过一个棋子来吃掉对方的一个棋子。被跳过的棋子