中国象棋打谱系统.docx
- 文档编号:1957235
- 上传时间:2022-10-25
- 格式:DOCX
- 页数:12
- 大小:248.43KB
中国象棋打谱系统.docx
《中国象棋打谱系统.docx》由会员分享,可在线阅读,更多相关《中国象棋打谱系统.docx(12页珍藏版)》请在冰豆网上搜索。
中国象棋打谱系统
Java课程设计报告
题目中国象棋打谱系统
所在院系 软件学院
2011年7月22日
第一章总体设计
1.1本系统的主要功能
本系统可以把对弈过程保存成文件,并可以重新演示对弈过程,可以制作实战棋谱和残局棋谱,并且能够在游戏者进行游戏时播放自己喜欢的歌曲和走棋时的声音,运行程序时还可以弹出另一个具有时钟的窗口,目的在于显示当前的时间,新增加工具和帮助菜单,其中工具菜单里有音量、画质、色彩。
其他菜单项,帮助菜单里有有技术问题请咨询R机械095班郝涛广同学的选项
1.2系统包含的类及类之间的关系
本系统共包括13个java源文件。
如图1-1所示。
图1-1类之间的关系
2.2java源文件及其功能
1.AudioClipWindow.java
该文件用于播放歌曲的功能
2.CalendarImage.java
该文件用于显示图片
3.ChessBoard.java
该文件负责创建中国象棋打谱系统的棋盘。
4.ChessBox.java
该文件负责创建中国象棋打谱系统棋盘的棋盒。
5.Chesspiece.java
该文件负责创建中国象棋打谱系统棋盘的棋子。
6.Clock.java
该文件负责即时显示时间的钟表窗口,方便用户掌握时间。
7.DemoManuDialog.java
该文件负责演示棋谱,即给出详细棋谱对弈步骤。
8.HandleMouse.java
该文件负责在用户开始对弈时处理鼠标事件,以便用户拖动棋子。
9.InitCanju.java
该文件负责实现用户制作残局棋谱的要求,开局要用户来确定。
10.MoveRule.java
该文件负责验证用户的棋子走法是否符合象棋规则。
11.Point.java
该文件负责确定ChessPiece对象在ChessBoard对象中的位置。
12.InitPieceLocation.java
该文件负责安排棋子在棋盘中的初始位置
13.ChinaChess.java
该文件负责创建中国象棋打谱系统的窗口,主函数该类含有方法main程序从该类开始执行。
第二章详细设计
2.1主类ChinaChess.java
(1)成员变量见表2-1
表2-1主要成员变量(属性)
成员变量描述
变量类型
名称
描绘棋盘
ChessBoard
board
显示提示标题
JTextField
hintMessage
演示棋谱
DemoManulDialog
demoManul
开始创建棋谱
JButton
startMakeManul
(2)方法见表2-2
表2-2主要方法
成员变量描述
功能
备注
ChinaChess()
完成窗口初始化
构造方法
actionPerformed
实现接口
监视器动作接口
main
程序运行入口方法
主函数
(3)源代码见文件ChinaChess.java
2.2类ChessBoard
(1)成员变量见表2-3
表2-3主要成员变量
成员变量描述
变量类型
名称
表示黑棋盒
ChessBox
blackBox
表示棋盘行列数
Int
m,n
红旗子名字
String
redName
(2)方法见表2-4
表2-4主要方法
方法名
功能
备注
getPoint()
返回point数组
确定位置
getStep()
返回step数组表
确定步数
(3)源代码见文件ChessBoard.java
2.3类ChessPiece
(1)成员变量见表2-3
表2-3主要成员变量
成员变量描述
变量类型
名称
棋子的名字
String
name
棋子在棋盘的位置
Point
point
黑棋
boolean
iBlack
(2)方法见表2-4
表2-4主要方法
方法名
功能
备注
getAtPoint()
setIsRad
返回point对象的引用
是否为红棋
getName()
返回棋子的名字
(3)源代码见文件ChessPiece.java
2.4类Point
(1)成员变量见表2-3
表2-3主要成员变量
成员变量描述
变量类型
名称
容器的y轴坐标
Point
y
判断是否在point点上
boolean
haveChessPiece
棋子在当前Point对象上
ChessPiece
chessPiece
(2)方法见表2-4
表2-4主要方法
方法名
功能
备注
Equals(TowerPoint)
getChessPiece()
判断是否与参数Point相同
返回Point上的对象
getStep()
返回step数组表
(3)源代码见文件Point.java
2.5类ChessBox
(1)成员变量见表2-3
表2-3主要成员变量
成员变量描述
变量类型
名称
棋盒中point对象之间距离
Int
distance
每单元表示一个point对象
point
boxPoint
(2)方法见表2-4
表2-4主要方法
方法名
功能
备注
ChessBox()
构造方法
putPieceToBox()
将指定的棋子放入棋盒中
(3)源代码见文件ChessBox.java
2.6类InitPieceLocation
(1)成员变量见表2-3
表2-3主要成员变量
成员变量描述
变量类型
名称
存放playPoint
Point
playPoint
存放blackPiece
ChessPiece
blackPiece
存放redChessBox
ChessBox
redChessBox
(2)方法见表2-4
表2-4主要方法
方法名
功能
备注
putAllPieceToPlayChessArea()
按实战棋谱开局,将棋子放置在棋盘的对弈棋点上
putAllPieceToChessBox()
按残局棋谱开局,将棋子放置在棋盒中
(3)源代码见文件InitPieceLocation.java
2.7类InitCanju
(1)成员变量见表2-3
表2-3主要成员变量
成员变量描述
变量类型
名称
存放playPoint
Point
point
存放redPiece
ChessPiece
redPiece
存放blackChessBox
ChessBox
blackChessBox
(2)方法见表2-4
表2-4主要方法
方法名
功能
备注
mouseDragged()
允许用户拖动棋子时不必遵守象棋规则
mouseReleased
允许用户将拖动的棋子放在棋盘中的棋点上棋盒中
(3)源代码见文件InitCanju.java
2.8类HandleMouse
(1)成员变量见表2-3
表2-3主要成员变量
成员变量描述
变量类型
名称
存放playPoint
Point
point
判断用户拖动时符合规则
MoveRule
rule
存放step
String
step
(2)方法见表2-4
表2-4主要方法
方法名
功能
备注
mouseDragged()
要求用户按着象棋规则拖动棋子
mouseReleased()
按规则拖动棋子放在棋盘中的棋点或吃掉棋子
(3)源代码见文件HandleMouse.java
2.9类MoveRule
(1)成员变量见表2-3
表2-3主要成员变量
成员变量描述
变量类型
名称
存放被拖动的棋子的引用
ChessPiece
piece
存放playPoint
Point
point
存放棋子的起点
Point
startPoint
(2)方法见表2-4
表2-4主要方法
方法名
功能
备注
SetPoint()
将playPoint引用传递给point
movePieceRule()
判断棋子piece从startPiece点走到endPiece点是否符合规则
(3)源代码见文件MoveRule.java
2.10类DemoManulDialog
(1)成员变量见表2-3
表2-3主要成员变量
成员变量描述
变量类型
名称
存放棋谱文件的引用
string
file
存放step
string
step
(2)方法见表2-4
表2-4主要方法
方法名
功能
备注
showBoardManul()
提供图形化界面的棋谱
showTextManul()
提供文本化得棋谱
(3)源代码见文件DemoManulDialog.java
.12类AudioClipPanel
(1)成员变量见表2-3
表2-3主要成员变量
成员变量描述
变量类型
名称
创建音频对象
AudioClip
Clip
创建播放按钮
Button
buttonPlay
创建子线程
Thread
thread
(2)方法见表2-4
表2-4主要方法
方法名
功能
备注
AudioClipPanel
创建播放控制面板
itemStateChanged
监视选择列表
(3)源代码见文件AudioClipPanel.java
第三章运行效果
3.1系统主界面
图3-1系统主窗口
3.2实战棋谱录入界面
图3-2实战棋谱录入界面
忽略此处..
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 中国象棋 打谱 系统