中国象棋打谱软件

中国象棋打谱软件

ID:38346919

大小:180.50 KB

页数:4页

时间:2019-06-10

中国象棋打谱软件_第1页
中国象棋打谱软件_第2页
中国象棋打谱软件_第3页
中国象棋打谱软件_第4页
资源描述:

《中国象棋打谱软件》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、中国象棋打谱软件一设计内容中国象棋打谱软件提供给用户的一个能将对弈过程保存成文件并可以重新演示对弈过程即复盘。主要功能有:1.制作棋谱,2.保存棋谱,3.演示棋谱.二设计要求1)中国象棋是双方在有着9条竖线和10条横线的棋盘上对弈的,竖线与横线的交叉点称做棋点,每个棋子都是在棋点上行走,而不是在方格中行走,河界将棋盘分成两个等份,每一边都有一块由9个点组成的"九宫",棋子"将"、"帅"、"士"只能在"九宫"内移动。并且"将"、"帅"每一步只可以水平或垂直移动一个棋点。"士"它只能在"九宫"内移动,并且它

2、每一步只可以沿对角线方向移动一个棋点。"象"它必须一步沿对角线方向走两个棋点,但它既不能过河,也不能跳过或穿越障碍,即象在走的过程中不能被"别眼"。"马"每一步只可以水平或垂直移动一个棋点,但必须按对角线方向,向左或右移动,中国象棋的马不能跳过障碍,即在走的过程中不能被"别腿"。"车"可以水平或垂直方向移动任意个无阻碍的点。"炮"移动起来和车很类似,但它必须跳过一个棋子来吃掉对方的一个棋子,被跳过的那个棋子称为桥或者屏风。"兵'每步只能向前移动一个棋点,过河以后,它便增加了向左右移动的能力,兵不允许向后

3、移动。2)菜单项:选择"制作棋谱":将出现相应的棋盘,该棋盘可进行实战对弈。选择"保存棋谱":可以随时将对弈过程保存成一个棋谱文件,棋谱文件的扩展名可以任意指定。选择"演示棋谱":将出现打开文件对话框,用来选择曾保存过的棋谱文件,选择棋谱文件后将出现用来演示棋谱的棋盘,用户可以选择自动或手动来演示对弈过程,自动演示时,还可以控制每步之间的间隔时间,也可以暂停演示或继续演示等。三总体设计中国象棋打谱软件共有8个模块,分为8个Java源文件1)模块之间的主要关系如图示模块之间的关系2)各个模块功能简介(1)

4、主窗口模块Chess.java该java文件的类负责创建中国象棋的"主窗口",该文件含有main方法,程序从该类开始执行。(2)棋盘模块ChessBoard.java该文件生成的类负责创建"对弈棋盘"对象,用户可以用鼠标拖动棋盘上棋子进行对弈,当松开鼠标时将棋子固定到棋点,该棋盘使得用户不能将棋子拖放到非棋点上,棋盘的Rule对象负责判断走棋是否遵守了中国象棋的规则,例如:"马"走日,"象"走田,小卒一去不回头等等,如果用户的走法不符合规则,棋子将被放回原处,重新走着,棋盘的MakeChessManua

5、l对象负责记录棋谱,当用户选择"保存棋谱"菜单时,可以将该棋谱保存成文件,另外,该棋盘还能进行悔棋,悔棋不被记录到棋谱。(3)棋点模块ChessPoint.java该文件生成的类负责创建棋盘的棋点对象,棋点对象可以判断该棋点上是否有棋子,可以指定当前棋点上的棋子,获取当前棋点上的棋子,移掉当前棋点上的棋子。(4)绘制棋子模块ChessPiece.java该文件生成的类负责创建棋子对象,并绘制棋子的外观,棋子对象可以获取本身的颜色、大小、名字,也可以设置和获取本身的类别-红棋或黑棋。(5)记录棋谱模块Ma

6、keChessManual.java该文件生成的类负责创建记录棋谱的对象,该对象可以将棋谱记录到一个链表中,并在一个文本区中显示棋谱,当对弈者悔棋时,该对象将修改棋谱,并更新文本区中的信息。(6)规则模块Rule.java该文件生成的类负责为创建走棋法则对象,该对象负责判断用户的走着是否遵守了中国象棋规则。(7)演示模块Demon.java该文件生成的类负责创建"棋谱演示"对象,该对象可以演示保存过的棋谱对象(8)记录走棋模块MakeStep.java该类创建的对象负责记录一步走棋类之间的主要关系如图示

7、类之间的关系四运行效果图图1对弈和保存棋谱图2演示棋谱完成本程序设计,增加登陆权限、两人对战等功能。作业6月1号之前交。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。