该类创建的对象记录一个棋步。
5.2数据字典
5.2.1 主类Chess
1.成员变量(见表11.1)
表1 主要成员变量(属性)
成员变量描述 菜单条 菜单 菜单项
变量类型 JMenuBar JMenuItem JMenuBar
名称
bar
fileMenu
制作棋谱,保存棋谱,演示棋谱 board demon record 棋谱
对弈的棋盘 ChessBoard 演示棋谱的棋盘 Demon 棋谱记录者 MakeChessManual 保存棋谱的链表 LinkedList 2.方法(见表11.2)
表2 主要方法
名称 Chess
actionPerformed main
功能
创建程序主窗口 处理ActionEvent事件 程序开始运行
备注 构造方法 接口方法
5.2.2对弈棋盘ChessBoard 1.成员变量(见表11.3)
表3 主要成员变量(属性)
描述 棋点数组
棋点的水平和垂直距离
棋盘的行数和列数 棋子颜色 棋子对象
走棋规则对象 负责记录棋谱的对象
2.方法(见表11.4)
表4 主要方法
变量类型 ChessPoint[][] int int String
ChessPiece Rule
MakeChessManual 名称 point
UnitWidth,unit Height
X轴长,y轴长 红方颜色、黑方颜色
红车1……黑炮2 rule record
名称 ChessBoard
功能 创建对弈棋盘
备注 构造方法
paintComponent 绘制棋盘 mousePressed 返回棋子 mouseMoved 无 mouseDragged 拖动棋子移动 mouseReleased 将棋子放到棋点 mouseEntered 无 mouseExited 无 mouseClicked 无 5.2.3棋子ChesePiece
1.成员变量(见表11.5)
描述 棋子的名字
变量类型 String
接口方法 接口方法 接口方法 接口方法 接口方法 接口方法 接口方法
表5 主要成员变量(属性)
名称 name backColor foreColor 颜色类别
棋子的背景色(和棋盘颜色一致) Color 棋子的前景色(作为棋子的颜色) Color 颜色的类别(黑方、红方)
2.方法 (见表11.6)
表6 主要方法
String
名称
ChesePiece paint getWidth getHeigt getName
获取棋子颜色 Set棋子类别 棋子类别 功能
创建棋子对象 绘制棋子的外观 获取棋子的宽度 获取棋子的高度 获取棋子的名字 获取棋子的颜色 设置棋子的类别 获取棋子的类别 备注 构造方法
5.2.4棋点ChessPoint
1.成员变量(见表11.7)
表7 主要成员变量(属性)
描述
棋点的位置坐标 棋点上是否有棋子
2.方法(见表11.8)
变量类型 Int Booean
名称 X, y 有棋子
表8 主要方法
名称
功能 备注
Chesspoint ispiece set有棋子 setpiece getpiece removepiece
创建棋点对象 判断棋点是否有棋子 设置棋点上是否有棋子 在棋点上放置棋子 获取棋点上的棋子 移掉棋点上的棋子
构造方法
5.2.5 走棋规则Rule 1.成员变量(见表11.9)
表9主要成员变量(属性)
描述
走着棋子的起始棋点 走着棋子的终止棋点
变量类型 int int
名称 startI, startJ endI, endJ
2.方法(见表11.10)
表10 主要方法
名称 功能
Rule
movepieceRule
5.2.6记录棋谱MakeChessManual 1.成员变量(见表11.11)
创建走棋规则对象 判断走棋规则
备注 构造方法
表11主要成员变量(属性)
描述
显示棋盘的文本区 激励棋谱列表
变量类型 JTextArea LinkedList
名称 text 棋谱 吃掉的棋子
记录吃掉的棋子的列表,备悔LinkedList
2.方法(见表11.12)
表12主要方法 名称 MakeChessManual 记录棋谱 actionperformed
5.2.7棋谱演示Demon 1.成员变量(11.13)
功能 备注 创建“记录棋谱”对象 构造方法 记录棋谱
处理Actionevent事件,悔棋 接口方法
表13主要成员变量(属性)
描述
变量类型
名称
保存棋谱的链表 自动演示棋谱的线程 用户输入的时间间隔 按顺序手动演示 重新演示
开始自动演示
暂停或继续自动演示 LinkedList Thread JTextField JButton JButton JButton JButton 棋谱 自动演示 时间间隔 next replay auto stop
2.方法(见表11.14)
表14 主要方法
名称 Demon Set棋谱
actionperformed
功能
创建棋谱演示对象 设置棋谱
处理Actionevent事件
备注
构造方法
接口方法
5.3运行结果及界面
1.主界面
2.象棋对弈
实现:红方先走,然后黑方再走,红黑交替,直到一方获胜。并且可记录所
走步骤。
3.悔棋:当走错棋的时候可以悔棋。(观察右半部分对所走步骤的记录)
4. 新游戏:任何时候可以重新开始一盘新的对弈。
点击中国象棋,选择其下拉菜单中的制作棋谱,便可在任何时候开始一盘新的对弈。