Java 课程设计报告
题
目
俄罗斯方块游戏设计
所在院系
软件学院
学生姓名 0000
专 业 0000 0000000000
班 级 000000 学 号
000000
2010 年 1 月 08 日
大连交通大学 JAVA 课程设计报告
第一章 总体设计
1.1 本系统的主要功能
本系统是一个俄罗斯方块游戏的系统设计,实现的基本功能就是能
实现经典俄罗斯方块游戏的基本功能。如用键盘上的上下左右键来控制
方块的变形,移动等功能。点击控制面板上的 play,pause,stop,turn
hard,turn easy 等按钮来实现游戏的开始游戏,游戏暂停,停止游戏,
增加难度,降低难度等功能。
1.2 系统包含的类及类之间的关系
本系统共包括 5 个 java 源文件。
如图 1-1 所示。
图 1-1 类之间的关系
2.2 java 源文件及其功能
1.eluosifangkuai.java
该文件是游戏主类,继承自 Jframe 类,负责游戏的全局控制
2.Kongzhilei.java
该文件是控制面板类,继承自 Jpanel
3.ErsBlock.java
该文件是块类,继承自线程类(Thread),控制块的移动,下落变形
- 1 -
大连交通大学 JAVA 课程设计报告
等。
4.ErsBox.java
该文件是方格类,是组成块的基本元素,用自己的颜色来表示块的外
观。
5.huabulei.java
该文件继承自 Jpanel 类,检查方格颜色来体现 ErsBlock 块的移动情
况。
- 2 -
大连交通大学 JAVA 课程设计报告
第二章 详细设计
2.1 主类 eluosifangkuai
(1)成员变量见表 2-1
表 2-1 主要成员变量(属性)
成员变量描述
变量类型
菜单条
方格类实例
画布类实例
菜单控制项
菜单游戏项
菜单信息项
JMenuBar
ErsBlock
Gamecanvas
JMenu
JMenu
JMenu
名称
bar
block
canvas
mContorl
mGame
mInfo
控制面板
kongzhilei
ctrlPanel
(2)方法见表 2-2
表 2-2 主要方法
方法名
功能
eluosifangkuai
创建游戏界面
creatMenu
建立并设置菜单
getCanvas
取得画布类实例
备注
构造方法
creatMenu
getCanvas
getCurBlock
取得当前活动的块
getCurBlock
getLevel
getScore
取得游戏难度
取得游戏得分
isPlaying
游戏是否在运行
getLevel
getScore
isPlaying
levelUpdate
游戏是否升级
levelUpdate
(3)源代码见文件 eluosifangkuai.java
- 3 -
大连交通大学 JAVA 课程设计报告
2.2 类 Kongzhilei
(1)成员变量见表 2-3
表 2-3 主要成员变量
成员变量描述
变量类型
菜单条
按钮
按钮
按钮
按钮
按钮
Border
JButton
JButton
JButton
JButton
JButton
名称
border
btPause
btPlay
btStop
btTurnLevelDown
btTurnLevelUP
成员类
eluosifangkuai
game
(2)方法见表 2-4
表 2-4 主要方法
方法名
功能
备注
kongzhilei
控制面板类的构造方法
构造函数
fanning
getLevel
reset
setLevel
serPauseButtonLab
el
setPlayButtonEnab
le
重新计算 ipPanel 里 Box[][]里
的小框大小
取得用户的游戏等级
重置控制面板
设置游戏等级
设置暂停按钮标签
设置开始按钮状态
setTipStyle
设置预显窗口样式
(3)源代码见文件 kongzhilei.java
- 4 -
大连交通大学 JAVA 课程设计报告
2.3 类 ErsBlock
(1)成员变量见表 2-5
表 2-4 主要成员变量
成员变量描述
变量类型
名称
一个块占用的列数
一个块占用的行数
对应模型的状态
等级
int
int
int
int
移动的状态
boolean
(2)方法见表 2-6
BOXES_COLS
BOXES_ROWS
STYLES
level
moving
方法名
ErsBlock
display
earse
isMoveAble
isTurnAble
moveDown
moveLeft
moveRight
movePause
resumeMove
表 2-6 主要方法
功能
备注
产生一个特定的块
构造方法
将块显示在特定的位置上
将块从特定的位置上移走
是否移动到制定的位置
是否能够进行变形
向下移动
向左移动
向右移动
暂停移动
回复移动
(3)源代码见文件 ErsBlock.java
- 5 -
大连交通大学 JAVA 课程设计报告
2.4 类 ErsBox
1)成员变量见表 2-7
表 2-4 主要成员变量
成员变量描述
变量类型
是否着色
方格尺寸
boolean
Dimension
名称
isColor
size
(2)方法见表 2-8
方法名
ErsBox
clone
getsize
表 2-6 主要方法
功能
为方格着色
实现克隆
取得该方格的尺寸
isColorBox
方格是否用前景色来着色
setColor
setSize
设置颜色
设置尺寸
备注
构造方法
(3)源代码见文件 ErsBox.java
2.5 类 huabulei
1)成员变量见表 2-9
表 2-4 主要成员变量
成员变量描述
变量类型
名称
颜色
方块的高度
方块的宽度
列数
行数
前景颜色
分数
backColor
boxHeight
boxWight
cols
rows
frontColor
score
Color
int
int
int
int
Color
int
- 6 -
大连交通大学 JAVA 课程设计报告
(2)方法见表 2-10
表 2-6 主要方法
方法名
功能
ErsCanvas
创建一个画布
备注
构造方法
getBackgroundColo
r
getBox
getCols
getRows
getScore
取得背景颜色
取得某一方格引用
取得方格的列数
取得方格的行数
取得分数
(3)源代码见文件 huabulei.java
- 7 -