-
《软件工程》
课程设计报告
课
题:
俄罗斯方块
学
院:
计算机与信息学院
专
业:
软件工程
姓名
(<
/p>
学号
)
:
晋烨(
2011112360
)
指导教师:
李昭
一、任务分析
请浏览后下载,资料供参考,期待您的好评与关注!
俄罗斯方块是个老少皆宜的小游戏,
它实现由四块正方形的色块组成,
计算机随机产生
不同七种类型
的方块,
根据计算机时钟控制它在一定的时间不停的产生,
用户
根据键盘的四
个方向键控制翻转、
向左、
向右和向下操作,
然后程序根据这七种方块堆叠成各种不同的模
型。
二、
可行性研究报告
1
、设计背景
俄罗斯方块是一款风靡全球的电视游戏机和掌上游戏机游戏,
它曾经造成的轰动与造成
的经济价值可以说是游戏史上的一件大事。俄罗斯方块最早还是出现在
< br>PC
机上,而我国的
用户都是通过红白机了解、
喜欢上它的。
随着计算机的发展而发展,
俄罗斯
方块不断推陈出
新,深爱广大玩家喜爱。
这个游戏有的简单,<
/p>
有的复杂,
但其根本原理是一样的都是对运动
的方块进行组合,
来训练玩家的反应能力。
因此开发此游戏
软件可满足人们的一些娱乐的需
求。
此俄罗斯方块游戏可以为用户提供一个可在普通个人电脑上运行的,
界面美观的,
易于
控制的俄罗斯方块游戏。
2
、设计目的
通过本游戏的设计,
综合自己在校期间所学的理论知识,
设计
开发俄罗斯广场游戏,
使
自己熟应用系统的开发过程,
培养独立思考能力,
检验学习效果和动手能力,
初步掌握软件
工程的系统理论,进一步巩固和加强自身对
J2S
E
基础知识的理解,提高自己的编程水平,
从而达到理论与实践
相结合的目的。
3
、设计要求
本游戏开发的总体任务是实现游戏的可操作性,
以及界面的美观性。
< br>整个开发过程遵循
软件工程规范,采用
JAVA GUI
编程实现界面以及事件的控制。用户根据键盘的四个方向键
控制
翻转、
向左、
向右、
和向下操作,
p>
通过菜单栏中的相应菜单选项实现游戏的开始、
结束、
变换方向、积分以及等级的功能。
4
、设计目标
通过本游戏的开发,主要实现游戏的可操作性及美观性,同时使自己对
JAVA
语言的了
解更进一层,为将来的实际工作打
下坚实的基础。
三、
需求分析
请浏览后下载,资料供参考,期待您的好评与关注!
游戏需求
28
< br>种状态的方块随机产生,自由下落,落下时可由玩家用上、下、左、右控制键控制
翻转和移动,以便玩家所需要的形态和位置落下。
游戏界面需
求:
设计良好的游戏界面可以让玩家充分感受到游戏带来的娱乐性,
游戏的
背景是灰色,方块为绿色,在一定区域内运动和变形
游戏形状需求:长条形、
Z
字形、反<
/p>
Z
字形、田字形、
7
字形、反
7
字形、
T
字型
显示需求:
当不同的
方块填满一行时可以消行,
剩余方块向下移动并统计分数。
当达
到
一定分数的时候,会增加相应的分数。
四、
总体设计
1
、基本设计概念
< br>(
1
)
游戏区:
玩家可以在游戏区中堆积方块,
并能够在游戏过程中随时了解得分情况。
(
2
)游戏控制:
玩家可以通过游戏控制功能来选择开始新的一局游戏,暂停或退出游
戏。
显示玩家操作
游戏区
显示操作结果
开始
暂停
/
继续
提高等级
降低等级
退出
俄罗斯方块游戏
游戏控制
基本设计概念图
2
、
p>
UML
类图
请浏览后下载,资料供参考,期待您的好评与关注!
3
、处理流程图
开始
设置初始级别
随
机
选
择
方
块
类
创建游戏区
是否到顶部
游戏开局
方块下落一行
否
处理玩家操作
系统流程图
是否到顶部
是
游戏结束
请浏览后下载,资料供参考,期待您的好评与关注!
创建游戏区
游戏区模块
处理玩家游戏操作
显示游戏结果
游戏区模块
开始游戏
暂停游戏
游戏控制模块
初始级别设置
退出游戏
控制区模块
五、
详细设计
1
、关键模块的功能
(
1
)界面的初始化
public class ControlPanel extends
JPanel {
//
实现一组按钮
private Button begainBt = new
Button(
开始
private Button goOnBt = new
Button(
继续
private Button pauseBt = new
Button(
暂停
private Button stopBt = new
Button(
结束
// private TextField tfSocer = new
TextField(10);
// private
TextField tfGread = new TextField(10);
private JTextArea txArea = new
JTextArea(0, 9);
//
实现一组容器
请浏览后下载,资料供参考,期待您的好评与关注!
private Panel bTPanel = new
Panel();
private Panel tFPanel = new
Panel();
private Panel tipPanel = new
Panel();
private TipBlock tipBlock =
new TipBlock();
//
实现与主类的交流
private
ErsBlockGame game;
public
ControlPanel(final ErsBlockGame game) {
= game;
setLayout(new GridLayout(3, 1, 0, 3));
//
组建提示面板
out(new BorderLayout());
(new
Label(
下一个方块
(tipBlock, );
out(new GridLayout(4, 2, 0, 1));
//
给按钮增加监听者
ionListener(new ActionListener() {
public void
actionPerformed(ActionEvent e) {
bled(false);
me();
}
});
ionListener(new ActionListener() {
public void
actionPerformed(ActionEvent e) {
bled(false);
();
}
});
ionListener(new ActionListener() {
public void
actionPerformed(ActionEvent e) {
}
bled(true);
();
});
ionListener(new ActionListener() {
public void
actionPerformed(ActionEvent e) {
me();
请浏览后下载,资料供参考,期待您的好评与关注!
}
}
});
//
组建按钮面板
(begainBt);
(goOnBt);
(pauseBt);
(stopBt);
//
组建分数、等级提示面板
p>
t(
简易版
n
俄罗
斯方块
作者:
n
晋烨
+
QQ:n123456789
bled(false);
out(new GridLayout(1, 1));
(txArea);
//
将以上三个面板加入
controlPanel
add(tipPanel);
add(tFPanel);
add(bTPanel);
addKeyListener(new
ControlKeyListener());
2
、控制部分
(
1
)方块的移动和变化
public class ErsBlockGame extends
JFrame {
}
请浏览后下载,资料供参考,期待您的好评与关注!
private GameCanvas canvas;
private ControlPanel controlPanel;
private ErsBlock box;
private boolean playing = true;
Thread thread;
public static
void main(String[] args) {
new
ErsBlockGame(
俄罗斯方块
-
-
-
-
-
-
-
-
-
上一篇:一个java编写的俄罗斯方块游戏代码
下一篇:点检定修