中国象棋打谱软件.doc_第1页
中国象棋打谱软件.doc_第2页
中国象棋打谱软件.doc_第3页
中国象棋打谱软件.doc_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

中国象棋打谱软件 一 设计内容 中国象棋打谱软件提供给用户的一个能将对弈过程保存成文件 并可以重新演示对弈过程 即复盘。 主要功能有: 1. 制作棋谱, 2. 保存棋谱, 3. 演示棋谱. 二 设计要求 1) 中国象棋是双方在有着9 条竖线和10 条横线的棋盘上对弈的,竖线与横线的交叉点称做棋点,每个棋子都是在棋点上行走,而不是在方格中行走,河界将棋盘分成两个等份,每一边都有一块由9个点组成的九宫, 棋子将、帅、士 只能在九宫内移动。并且 将、帅 每一步只可以水平或垂直移动一个棋点。 士 它只能在九宫内移动,并且它每一步只可以沿对角线方向移动一个棋点。 象 它必须一步沿对角线方向走两个棋点,但它既不能过河,也不能跳过或穿越障碍,即象在走的过程中不能被别眼。 马 每一步只可以水平或垂直移动一个棋点,但必须按对角线方向,向左或右移动,中国象棋的马不能跳过障碍,即在走的过程中不能被别腿。 车 可以水平或垂直方向移动任意个无阻碍的点。 炮 移动起来和车很类似,但它必须跳过一个棋子来吃掉对方的一个棋子,被跳过的那个棋子称为桥或者屏风。 兵 每步只能向前移动一个棋点,过河以后,它便增加了向左右移动的能力,兵不允许向后移动。 2) 菜单项: 选择制作棋谱:将出现相应的棋盘,该棋盘可进行实战对弈 。 选择保存棋谱:可以随时将对弈过程保存成一个棋谱文件,棋谱文件的扩展名可以任意指定 。 选择演示棋谱:将出现打开文件对话框,用来选择曾保存过的棋谱文件,选择棋谱文件后 将出现用来演示棋谱的棋盘,用户可以选择自动或手动来演示对弈过程,自动演示时,还可以控制每步之间的间隔时间,也可以暂停演示或继续演示等。 三 总体设计 中国象棋打谱软件共有8 个模块,分为8个Java源文件 1) 模块之间的主要关系如图示 模块之间的关系 2) 各个模块功能简介 (1) 主窗口模块 Chess.java 该java 文件的类负责创建中国象棋的主窗口,该文件含有 main 方法,程序从该类开始执行。 (2) 棋盘模块 ChessBoard.java 该文件生成的类负责创建对弈棋盘对象,用户可以用鼠标拖动棋盘上棋子进行对弈,当松开鼠标时将棋子固定到棋点,该棋盘使得用户不能将棋子拖放到非棋点上,棋盘的Rule对象负责判断走棋是否遵守了中国象棋的规则,例如:马走日,象走田,小卒一去不回头等等,如果用户的走法不符合规则,棋子将被放回原处,重新走着,棋盘的MakeChessManual 对象负责记录棋谱,当用户选择保存棋谱菜单时,可以将该棋谱保存成文件,另外,该棋盘还能进行悔棋,悔棋不被记录到棋谱。 (3) 棋点模块 ChessPoint.java 该文件生成的类负责创建棋盘的棋点对象,棋点对象可以判断该棋点上是否有棋子,可以指定当前棋点上的棋子,获取当前棋点上的棋子,移掉当前棋点上的棋子。 (4) 绘制棋子模块 ChessPiece.java 该文件生成的类负责创建棋子对象,并绘制棋子的外观,棋子对象可以获取本身的颜色、大小、名字,也可以设置和获取本身的类别-红棋或黑棋。 (5) 记录棋谱模块 MakeChessManual.java 该文件生成的类负责创建记录棋谱的对象,该对象可以将棋谱记录到一个链表中,并在一个文本区中显示棋谱,当对弈者悔棋时,该对象将修改棋谱,并更新文本区中的信息。 (6) 规则模块 Rule.java 该文件生成的类负责为创建走棋法则对象,该对象负责判断用户的走着是否遵守了中国象棋规则。 (7) 演示模块 Demon.java 该文件生成的类负责创建棋谱演示对象,该对象可以演示保存过的棋谱对象 (8) 记录走棋模块 MakeStep.java 该类创建的对象负责记录一步走棋

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论