文档详情

I俄罗斯方块游戏的设计java课设含可运行程序.doc

发布:2017-01-08约4.28万字共43页下载文档
文本预览下载声明
俄罗斯方块游戏的设计 1. 课程设计的目的 在工作压力及其巨大的今天,游戏成了众多上班一族和学生朋友学习放松的工具,所以设计了一个俄罗斯方块的游戏程序,游戏功能齐全,随进随出,根据自己的能力设置游戏的难度系数。通过此次课程设计,巩固了所学Java语言基本知识,增进Java语言编辑基本功,掌握JDK、Eclipse等开发工具的运用,拓宽常用类库的应用。通过该教学环节与手段,把所学课程及相关知识加以融会贯通,理论与实际的结合,全面掌握Java语言的编程思想及面向对象程序设计的方法,为今后从事实际工作打下坚实的基础。 2.设计方案论证 2.1设计思路 本课程设计的目标是做一个俄罗斯方块的游戏软件,实现界面初始化,游戏背景颜色和不同方块类型的初始化,程序正常运行,对游戏难度不同程度的设置,游戏的从新开始,正常退出和相应的数据计算功能。类似下落、转向、平移、得分累加和计数等。在设计过程中,充分的利用平时课堂所学知识。在游戏里,设置了7种不同形状的方块分别为条形、T型、田型、正反Z型、正反L型。各种类的实现,分数面板类,用来显示分数和关数。添加三个标签,并设置字体格式,定义控制面板类,新建并添加控制按钮。定义预览面板类,显示下一个。在预览框内实现随机产生不同颜色和种类的小方块。联合类,新建三个面板对象,将以上产生的三个面板添加到总的控制面板上。俄罗斯游戏方块面板类,它起的就是显示屏的作用,各种方块的运行状况,都由其控制。主框架类,将显示类面板和控制类面板按边界布局添加到主类当中。从而实现游戏界面整体的融合和功能的实现。 2.2设计方法 俄罗斯方块的游戏设计,本质上就是用一个线程或者定时器产生重绘事件,用线程和用户输入改变游戏状态。这个游戏也不例外,启动MIDLET后,就立即生成一个重绘线程,该线程每隔100MS绘制一次屏幕。当然,重绘时有一些优化措施,并不是屏幕上所有的像素都需要重绘,而是有所选择,比如游戏画布上那些已经固定下来的下坠物(下坠物一共有7种,由4种小砖块组成,每种下坠物颜色固定为灰白色,可以上下左右旋转)就不需要重绘。游戏画布是一个COMMANDLISTENER,可以接受用户键盘命令,控制下坠物的左移,右移,下移,旋转动作。整个游戏的流程控制体现在游戏画布对象的PAINT()方法里。PAINT()根据当前的游戏状态,绘制出当时的游戏画面。对于游戏处于运行状态的画面的绘制,则需要在下坠物的当前位置,绘制下坠物。在绘制下坠物之前,判断下坠物是否还能下坠,如果能下坠的话,就让它下落一格,再进行绘制,如果下坠物已无法下坠,则判断游戏是否处于游戏结束状态,如果是处于游戏结束状态的话,则设置游戏状态为游戏结束状态。如果游戏不是处于游戏结束状态,则把下坠物固定下来,同时检查游戏画布上下坠物当前行下面的所有行,看是否需要进行行删除动作,如果需要行删除,则清除游戏地图上被删行的数据,再把被删行绘制成背景色。然后初始化一个新的下坠物,绘制这个新的下坠物。 根据需求分析要实现的系统功能,可以得出系统的模块图: 图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定义分数面板类 用来显示分数速
显示全部
相似文档