欢迎来到天天文库
浏览记录
ID:9383190
大小:241.50 KB
页数:41页
时间:2018-04-29
《俄罗斯方块游戏的设计java课设含可运行程序》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、课程设计说明书NO.41俄罗斯方块游戏的设计1.课程设计的目的在工作压力及其巨大的今天,游戏成了众多上班一族和学生朋友学习放松的工具,所以设计了一个俄罗斯方块的游戏程序,游戏功能齐全,随进随出,根据自己的能力设置游戏的难度系数。通过此次课程设计,巩固了所学Java语言基本知识,增进Java语言编辑基本功,掌握JDK、Eclipse等开发工具的运用,拓宽常用类库的应用。通过该教学环节与手段,把所学课程及相关知识加以融会贯通,理论与实际的结合,全面掌握Java语言的编程思想及面向对象程序设计的方法,为今后从事实际工作打下坚实的基础。2.设计方案论证2.1设计思路本课程设
2、计的目标是做一个俄罗斯方块的游戏软件,实现界面初始化,游戏背景颜色和不同方块类型的初始化,程序正常运行,对游戏难度不同程度的设置,游戏的从新开始,正常退出和相应的数据计算功能。类似下落、转向、平移、得分累加和计数等。在设计过程中,充分的利用平时课堂所学知识。在游戏里,设置了7种不同形状的方块分别为条形、T型、田型、正反Z型、正反L型。各种类的实现,分数面板类,用来显示分数和关数。添加三个标签,并设置字体格式,定义控制面板类,新建并添加控制按钮。定义预览面板类,显示下一个。在预览框内实现随机产生不同颜色和种类的小方块。联合类,新建三个面板对象,将以上产生的三个面板添加
3、到总的控制面板上。俄罗斯游戏方块面板类,它起的就是显示屏的作用,各种方块的运行状况,都由其控制。主框架类,将显示类面板和控制类面板按边界布局添加到主类当中。从而实现游戏界面整体的融合和功能的实现。2.2设计方法俄罗斯方块的游戏设计,本质上就是用一个线程或者定时器产生重绘事件,用线程和用户输入改变游戏状态。这个游戏也不例外,启动MIDLET后,就立即生成一个重绘线程,该线程每隔100MS绘制一次屏幕。当然,重绘时有一些优化措施,并不是屏幕上所有的像素都需要重绘,而是有所选择,比如游戏画布上那些已经固定下来的下坠物(下坠物一共有7种,由4种小砖块组成,每种下坠物颜色固定
4、为灰白色,可以上下左沈阳大学课程设计说明书NO.41右旋转)就不需要重绘。游戏画布是一个COMMANDLISTENER,可以接受用户键盘命令,控制下坠物的左移,右移,下移,旋转动作。整个游戏的流程控制体现在游戏画布对象的PAINT()方法里。PAINT()根据当前的游戏状态,绘制出当时的游戏画面。对于游戏处于运行状态的画面的绘制,则需要在下坠物的当前位置,绘制下坠物。在绘制下坠物之前,判断下坠物是否还能下坠,如果能下坠的话,就让它下落一格,再进行绘制,如果下坠物已无法下坠,则判断游戏是否处于游戏结束状态,如果是处于游戏结束状态的话,则设置游戏状态为游戏结束状态。如果
5、游戏不是处于游戏结束状态,则把下坠物固定下来,同时检查游戏画布上下坠物当前行下面的所有行,看是否需要进行行删除动作,如果需要行删除,则清除游戏地图上被删行的数据,再把被删行绘制成背景色。然后初始化一个新的下坠物,绘制这个新的下坠物。根据需求分析要实现的系统功能,可以得出系统的模块图:俄罗斯方块游戏画布游戏界面游戏操作处理面板类处理初始化问题主框架类构建画布7种游戏方块类键盘事件command控制按钮监听事件多线程处理方法模块图1系统模块图沈阳大学课程设计说明书NO.41主程序的流程图为开始判定是否满格绘制方块下落游戏结束是否能旋转调节难度NoYes正常下落旋转方块消
6、除满格的行时钟等待时间超100游戏随机绘制方块YesNo固定方块绘制游戏结束界面NoYes图2主程序流程图得分模块的流程图为沈阳大学课程设计说明书NO.41开始设计游戏难度自动生成任意方块方块落底,变成蓝色判断是否格满Showscore加分显示面板上显示分数结束调用退出程序YesNo图3得分模块流程图2.3设计中的成员变量和方法表1主框架中的成员变量成员变量描述变量类型名称是否可以控制标志变量booleancontrol游戏是否结束变量booleanGameOver是否允许改变变量booleanturn时间计时变量Timertimer沈阳大学课程设计说明书NO.41
7、得分变量intShowScore表2主框架中的主要方法方法名功能paintComponent(Graphics)绘制整体游戏所需界面down(block)判断并执行下落方块full()判断一行是否为满方法Creat()创造下一个随机方块的方法trychange()判断当前方块是否并执行改变2.4设计中的主要类RussiaGame02主框架类主框架类,将显示类面板和控制类面板按边界布局添加到RussiaGame02,该类含有main方法,是程序的入口,该方法是吧所有模块联系在一起的关键,设置了此容器为边界布局,将显示面板放在中央,控制面板放在右侧,并为显示面板控制
此文档下载收益归作者所有