java毕业论文-基于java俄罗斯方块的设计内容摘要:

身的综合素质。 条件假定和限制 :由于本软件目前是我的初次版本,可能还存在一些问题。 如果该软件提高版本,本软件需要根据游戏者的要求进行进一步的修改。 可行性研究所采用的方法和步骤 :通过研究分析俄罗斯方块所具备的能力及实现的方法、确定主体结构。 利用现阶段我所能达到的能力,以最简洁、最容易的办法,边开发边测试边修改,实现一个初级游戏软件。 评价尺度 :由于本软件是一个初级产品,对其 要求不是太苛刻,所以能够达到俄罗斯游戏的一般功能即可。 可行性分析 经济可行性 :由于本游戏的主要背景是毕业课程设计,不注重直接的经济效益和其后的发展方向,只在注重自身水平和能力的提高,对自身的经济要求也不高,只要有一台装有 jdk 运行环境的软件的电脑便可,所以不用考虑到经济问题。 技术可行性 :可用与本游戏的编程语言有 VB, Java, C等,考虑到用于编写程序的困难度,和对语言的了解程度,选择 JAVA 作为编程语言。 需要对变量定义、变量初始化、界面初始化、游戏初始化、然后进入游戏、处理游戏过程中的各种 操作。 社会可行性 :本游戏的开发作为毕业课程设计以巩固先前所学的知识,以个人为单位,仅供个人平常娱乐所用,无须考虑有可能造成的社会影响,不用考虑到法律、版权等的社会因素,所以在这方面是完全可行的。 第三章 总体设计 数据结构的分析 ( 1)本游戏采用的是单人游戏形式,每堆满一行自动消行,当方块的高度超过游戏的矩形区域时,游戏结束。 运行中的游戏界面如下图所示。 基于 Java 俄罗斯方块的设计 7 从俄罗斯方块游戏的外观看,它是一个矩形区域,在该矩形区域中每次有一个随机形状的方块,该方块在自动下移的同时听从游戏者的指挥 ,响应游戏者从键盘所发出的移动命令。 从移动的方块组的形状来看,它们的形状是随机的,但都有一个共同的特点,即它们都是由若干个小方块组成的,每一个小方块的形状都是正方形的。 Java语言的 Graphics 类中提供了画出三维正方形的方法 fill3DRect(int x,int y,int w,int h,Boolean raised)⑥ ,只要指定该三为正方形的左上角顶点坐标、三维正方形的边长、凸起或凹陷状态及颜色,就可以在某位置画出此具有立体效果的正方形。 稍微思考一下我们就会发现,用这个方法来画出我们的游戏区域 再合适不过了,具体实现我会在第四章详细解释。 将小方块封装到一个类中,该类有几个变量标示某方块的坐标及颜色。 对方块组的操作,应用另外一个类来实现它,该类中包括如何产生极如何移动方块组的方法,还应该有画出这些方块组的方法。 为实现方块的连续运动,需要编写一个多线程的程序来实现基本界面。 为能方便的设置适合自己使用的功能键,还要编写一个设置功能键的类。 方块的样式有 7种,每种样式的方块的反转状态种类又有 4种,故游戏中方块的形态一共有 28 种。 以下用一个终止静态二维整形数组 STYLES 存储这 28 种状态,每种状态用 16进制 数表示 ⑧。 ( 2) public final static int[][] STYLES = {// 共 28 种状态 {0x0f00, 0x4444, 0x0f00, 0x4444}, // 长条型的四种状态 长条只有两种状态,只能进行交替的变形,所以两个十六进制数要分开写。 如下图所示: 基于 Java 俄罗斯方块的设计 8 {0x04e0, 0x0464, 0x00e4, 0x04c4}, // 39。 T39。 型的四种状态 按下方向键‘↑’四种状态交替进行。 如下图所示: {0x4620, 0x6c00, 0x4620, 0x6c00}, // 反 39。 Z39。 型的四种状态 有两种形态,按下方向键‘↑’两种状态交替进行。 如下图所示: {0x2640, 0xc600, 0x2640, 0xc600}, // 39。 Z39。 型的四种状态 有两种形态,按下方向键‘↑’两种状态交替进行。 如下图所示 {0x6220, 0x1700, 0x2230, 0x0740}, // 39。 739。 型的四种状态 正 ’ 7’ 一共有四种状态,每按一次方向键‘↑’变形一次,四种状态如下图所示: {0x6440, 0x0e20, 0x44c0, 0x8e00}, // 反 39。 739。 型的四种状态 反 ’ 7’ 一共有四种状态,每按一次方向键‘↑’变形一次,四种状态如下图所示: {0x0660, 0x0660, 0x0660, 0x0660}, // 方块的四种状态 只有一种状态,但为了数组的列数一致也写了四列。 如下图所示: }。 基于 Java 俄罗斯方块的设计 9 主要类及其功能 ErsBox 类:组成方块组的基本元素,用自己的颜色来表示方块组的外观。 GameCanvas 类:包括 行数 * 列数 个方 格类事例,继承自 JPanel 类,线程类动态改变画布类的方格颜色,画布类通过检查方格颜色来体现 ErsBlock块的移动情况。 ErsBlock 类:继承自线程类;由 4*4 个方格( ErsBox)构成一个块;包括控制块的移动、下落、变形等 ControlPanel 类:继承自 JPanel,上边安放预显窗口、等级、得分、控制按钮。 主要用来控制游戏进程。 ErsBlocksGame 类:继承自 JFrame 类,负责游戏的全局控制。 内含一个画布类的实例引用、一个保存当前活动块( ErsBlock)实例的引用、一个保存当前控 制面板( ControlPanel)实例的引用。 各类的调用关系如下所示: 基于 Java 俄罗斯方块的设计 10 第四章 代码设计 ⑤⑨ /** * 块类,继承自线程类( Thread) * 由 4 * 4 个方格( ErsBox)构成一个块, * 控制块的移动、下落、变形等 */ class ErsBlock extends Thread { /** * 一个块占的行数是 4行 */ public final static int BOXES_ROWS = 4。 /** * 一个块占的列数是 4列 */ public final static int BOXES_COLS = 4。 /** * 让升级变化平滑的因子,避免最后几级之间的速度相差近一倍 */ public final static int LEVEL_FLATNESS_GENE = 3。 /** * 相近的两级之间,块每下落一行的时间差别为多少 (毫秒 ) */ public final static int BETWEEN_LEVELS_DEGRESS_TIME = 50。 /** * 方块的样式数目为 7 */ private final static int BLOCK_KIND_NUMBER = 7。 /** * 每一个样式的方块的反转状态种类为 4 */ private final static int BLOCK_STATUS_NUMBER = 4。 /** * 分别对应对 7种模型的 28 种状态 */ public final static int[][] STYLES = {// 共 28 种状态 {0x0f00, 0x4444, 0x0f00, 0x4444}, // 长条型的四种状态 {0x04e0, 0x0464, 0x00e4, 0x04c4}, // 39。 T39。 型的四种状态 {0x4620, 0x6c00, 0x4620, 0x6c00}, // 反 39。 Z39。 型的四种状态 {0x2。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。