- 1、本文档共43页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[俄罗斯方块游戏的设计_java课设_含可运行程序
俄罗斯方块游戏的设计
1. 课程设计的目的对于游戏处于运行状态的画面的绘制,则需要在下坠物的当前位置,绘制下坠物。在绘制下坠物之前,判断下坠物是否还能下坠,如果能下坠的话,就让它下落一格,再进行绘制,如果下坠物已无法下坠,则判断游戏是否处于状态,如果是处于状态的话,则设置游戏状态为状态如果游戏不是处于状态,则把下坠物固定下来,同时检查游戏画布上下坠物当前行下面的所有行,看是否需要进行行删除动作,如果需要行删除,则清除游戏地图上被删行的数据,再把被删行绘制成背景色。然后初始化一个新的下坠物,绘制这个新的下坠物。
图1 系统模块图
主程序的流程图为
图2 主程序流程图
得分模块的流程图为
图3 得分模块流程图
2.3 设计中的成员变量和方法
表1 主框架中的成员变量
成员变量描述
变量类型
名称
是否可以控制标志变量
boolean
control
游戏是否结束变量
boolean
GameOver
是否允许改变变量
boolean
turn
时间计时变量
Timer
timer
得分变量
int
ShowScore
表2 主框架中的主要方法
方法名
功能
paintComponent(Graphics)
绘制整体游戏所需界面
down(block)
判断并执行下落方块
full()
判断一行是否为满方法
Creat()
创造下一个随机方块的方法
trychange()
判断当前方块是否并执行改变
2.4 设计中的主要类
RussiaGame02 主框架类
主框架类,将显示类面板和控制类面板按边界布局添加到RussiaGame02,该类含有main方法,是程序的入口,该方法是吧所有模块联系在一起的关键,设置了此容器为边界布局,将显示面板放在中央,控制面板放在右侧,并为显示面板控制面板添加监听器。
Control控制面板类
是Jpanel类的子类,可以按网格布局添加控制按钮,添加边框。设置六个控制按钮。开始游戏、退出游戏、提高速度、降低速度、提高关数、降低关数。setLayout(new GridLayout(6,1,0,5))定义布局GridLayout,使按钮竖向排列。
show定义分数面板类
用来显示分数速、度和关数。添加四个标签,并设置字体格式按网格布局添加四个标签,设置标签格式Show(),加边框。四个标签分别当前得分、当前速度、当前闯关、勇往直前。
setLayout(new GridLayout(4,1));
this.setBorder(c);
s1.setFont(b);
s3.setFont(b);
s2.setFont(b);
s4.setFont(b);
Unit联合类
新建三个面板对象,将以上产生的三个面板添加到总的控制面板上。可构造函数,格式为setLayout(new GridLayout(3,1)),按网格布局添加三个面板对象到总的控制面板上,add (control);add (show);add (shownext);
Main函数的代码如下
public class RussiaGame02 extends JFrame implements ActionListener,ItemListener{
RussiaPanel p;
Unit u = new Unit();
public RussiaGame02() {
p=new RussiaPanel(u);
Container con = this.getContentPane();
con.setLayout(new BorderLayout());//设置此容器为边界布局
con.add(p,BorderLayout.CENTER);//将显示面板放在中间
con.add(u,BorderLayout.EAST);//控制面板放在右侧
this.addKeyListener(p);//为显示面板添加监听器
JOptionPane.showMessageDialog(this, 寒涛工作室欢迎进入俄罗斯方块游戏 !);//显示欢迎对话框
MenuBar myB=new MenuBar();//新建控制菜单
setMenuBar(myB);
Menu m1=new Menu(游戏);//新建标题菜单
MenuI
文档评论(0)