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。java毕业论文-基于java俄罗斯方块的设计
相关推荐
看好博客业务,也加入博客阵营,开始进入博客春秋战国时代。 目前网络上数以千计的 Bloggers 发表和张贴 Blog 的目的有很大的差异。 不过,由于沟通方式比电子邮件、讨论群组更简单和容易, Blog 已成为家庭、公司、部门和团队之间越来越盛行的沟通工具,因为它也逐渐被应用在企业内部网络( Intra)。 博客正在改变社会交流方式。 J2EE 基于 SSH 的个人博客系统课程设计 3 /
表 系统:工资管理 模块: 修改信息 编号: 6 作者: 日期: 被调用: 职工信息管理 调用: 无 输入: 用户 ID、姓名、性别、职位、工资 输出: 无 处理: 从数据库中查出相应信息并修改 局部数据元素: 用户 ID、姓名、性别、职位、工资 注释: 表 修改信息 沈阳理工大学课程设计 专用纸 №.11 沈阳理工大学 IPO 表 系统:工资管理 模块: 删除信息 编号: 7 作者: 日期:
80Mpa, 由[ 2]中表 511 查得安全系数 Sσ =4, Sp= 故螺钉材料的许用应力[ σ ] =ς s/Sσ =480/4=120 Mpa., [ ς ] P=ςs/Sp=480/=320 Mpa.. 因只受扭矩 T 减 作用且用螺钉联接,所以相当于铰制孔用螺联接一样,故[ 2]中式 528 有受力最大的螺钉的工作 剪力为 Fmax= rmaxT 减 /∑ r2= ( 4— 1)
食品安全管理的工作环境,确保组织效率上、制度上、品质上、安全上、库存品保存等各方面能进行合理化管理。 6. 5 相关文件 《良好操作规范》 《人力资源控制程序》 《设施与工作环境控制程序》 《监视和测量装置控制程序》 16 食食 品品 安安 全全 管管 理理 手手 册册 文件编号 : 版本 :A 修改码 :0 第 7 章 安全产品的策划和实现 第 1 页 共 5 页 7. 1 总则
Field targetPortTf=new JTextField(8080,15)。 private JButton addBtn=new JButton(Add)。 private GridBagLayout gbl=new GridBagLayout()。 private GridBagConstraints gbc=new GridBagConstraints()。 private