资源描述:
《象棋打谱系统分析与设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、象棋打谱系统分析与设计学生姓名:陈伟指导老师:阳慧摘要象棋是中国一个传统的益智类游戏,有着一套完整的走棋规则。随着计算机技术的逐渐成熟,在工作中计算机起的作用也越来越大。然而在休闲生活中,利用计算机软件制作的一些小游戏同样给人们带来了轻松和快乐。象棋打谱系统使用美国SUN公司的编程工具java编写,有非常客观友好的的图型操作界面。本系统软件采用链表方法存储棋谱,自己构造方法和接口,初步完成了设计任务。本系统软件的主要功能有三个内容,能够模拟中国象棋的对弈过程,将对弈过程保存成棋谱文件,演示存盘的棋谱。关键词对象,链表,构造方法,接口方法44
2、1绪论一.引言象棋是中国一种流传十分广泛的游戏。下棋双方根据自己对棋局形式的理解和对棋艺规律的掌握,调动车马,组织兵力,协调作战在棋盘--这块特定的战场上进行着象征性的军事战斗。从棋盘上来看,中国象棋中间以“楚河汉界”相隔,比较生动地表现了古时两军对垒的场景。另外,中国象棋的棋子都摆在交叉点上,通过线与对方交锋渊源流长的中国象棋等级鲜明不可逾越,将帅和兵卒是不可能逆转的;制度严密无法越轨,即使是身为首脑的将帅也无法走出自己特定的格局.尤其是值得一提的是中国象棋规则中的"炮",是中国人聪明智慧的体现,它的跳跃性思维,充分调动脑力,出奇制胜,真
3、正做到了事半功倍.本系统得用java编程语言,形象的模拟出了中国象棋的棋盘布局,棋子类型,界面友好,易于被大家接受。同时,又设立了走棋过程中的一些帮助模式,例如悔棋,保存棋谱。更可以调出存盘的棋谱文件,生动的演示以往的棋局,供大家揣摩学习,提高棋艺。二.课程设计目的中国象棋的软件已经层出不穷,并已实现网上联机对弈。但本次课程设计的目的不在于要开发出一种更加完美的象棋软件,而是要通过对象棋打谱系统的分析与设计的过程,从中掌握结构化、系统化的分析研究问题,自己动手解决问题。除此以外,课程设计的过程就是收集资料,利用资料,整理结果的过程。而此过程
4、靠个人能力有效的解决非常困难,因此团队分工合作十分重要。软件工程课程设计的目的也强调这一点。在保证质量的同时,同时也要实现中国象棋的对弈过程。该系统能够实现象棋打谱,保存棋谱,并重新演示对弈过程,因此可用于棋友们分析棋局,提高棋艺。442需求分析这个象棋打谱系统软件的主要用途,是记录自己以及象棋高手之间对弈的过程,将其保存成棋谱文件,以便日后调出重新研究棋局,从中吸取经验,增长棋艺。它应该具有棋盘界面,准确走棋,记录棋谱,演示棋谱等基本功能,下面是对它的具体需求:(1)创建一个客观、形象,易于被用户接受的系统界面。(2)用户可以在棋盘内按规
5、则走出任意的棋步。(3)文本框能准确的显示出每一招走棋的棋谱。(4)在意外情况下可以悔棋。(5)可以将棋局走完之后的棋谱以文件的形式保存。(6)可以打开调入以前的棋谱文件进行演示。(7)创建一个多元化的演示界面,应该提供多个按钮供用户在演示过程中使用,这样用户可以选择自己手动演示每一个走棋步骤或者由系统自动演示。演示过程如需从新开始,应该可以直接按键恢复棋谱初始状态。(8)如果由系统自动演示棋谱,应该可以让用户自己修改棋步之间的时间间隔,以便用户思考。(9)对于用户的误操作,系统能给出适当的提示,并且能够继续稳定的运行。为了保证系统能够长期
6、、安全、稳定、可靠、高效的运行,象棋打谱系统应该满足以下性能要求:该系统在WINDOWS2000操作系统,JDK1.5平台下运行,CPU频率不小于2GHZ,内存不小于256M,硬盘空间不小于10G的情况下能够快速稳定的运行,不会出现任何故障异常。系统本身所占容量非常小,不到1M,响应速度除初始创建面板阶段稍慢(不超过五秒时间),其它情况下,如走棋过程,不能超过1秒,力求看不出任何延时。本系统暂不考虑网络互联问题,因此并不能联机对弈,在以后的开发过程中可以进行功能扩充。443总体设计中国象棋打谱系统共有8个java源文件。在这个问题域中,各个
7、类之间的逻辑关系相当简单,即运行Chess主类将生成一个包含棋盘和一个文本演示对象的窗口。在棋盘对象上对弈的过程将会调用四个类,即生成棋子对象,创建棋点对象,创建走棋规则对象和记录棋谱对象。其中重要类之间的关系图如图3.1所示。Chess主类ChessBoardDemonChessPointChessPieceRuleMoveStepMakeChessManual图3.1类之间的关系1.Chess.java该java文件生成的类主要负责创建本程序的主窗口.该类含有main方法,程序从该类开始执行。2.ChessBoard.java该文件生成
8、的类负责创建“对弈棋盘”对象,用户可以用鼠标拖动棋盘上的棋子,当松开鼠标时则将棋子放置到棋点。该棋盘不允许用户将棋子拖动到非棋点上,棋盘的Rule对象负责判断走棋是否遵守了中国象