基于Java GUI的俄罗斯方块游戏的设计与实现

技术:Java
摘要:
俄罗斯方块作为一款风靡全球的多样化终端游戏,经久不衰。俄罗斯方块简单的基本游戏规则是旋转、移动,游戏自动随机输出7种形状的方块,经旋转后可形成21种形状,方块堆叠在一起,排列成完整的一行或多行消除得分,积分达到一定程度会自动提升级别。对于一般用户来说,它的规则简单,容易上手,但游戏过程却变化无穷。本游戏与通常俄罗斯方块游戏的不同之处在于:在消行升级时,堆积方块的颜色会发生变化,背景也会变化,以此来提示用户。另外,本游戏还增加了控制键自定义功能,本地排行榜和数据库排行榜的功能,游戏结束时,用户可通过对话框输入自己的姓名并存储到本地排行榜和数据库排行榜中,如果积分进入前5名,即可在排行榜上看到自己的游戏记录。
此设计是在 Microsoft Windows 系统下,以 Java 为开发语言,采用基于java的GUI(图形用户界面) 组件创建,在 My Eclipse 开发平台上进行游戏的设计与实现,强调人—机—环境三者作为一个系统进行总体设计。 使操作更人性化,减轻了用户的认知负担,使其更适合用户的操作需求。

关键词:俄罗斯方块;图形用户界面;Java 

目录:
1  绪言    1
1.1  选题背景及意义    1
1.2  选题目的    2
1.3  毕设中用到的技术、工具等介绍    2
1.3.1  Java    2
1.3.2  Java GUI编程    3
1.3.3  数据库    5
1.3.4  Java线程机制    6
1.3.5  开发工具    6
1.4  本文主要工作    7
1.5  本章小结    7
2  需求分析    8
2.1  可行性分析    8
2.1.1  技术可行性    8
2.1.2  经济可行性    10
2.1.3  操作可行性    10
2.1.4  法律可行性    11
2.1.5  可行性分析结论    11
2.2  游戏功能分析    11
2.2.1  项目目标    11
2.2.2  系统概述    11
2.2.3  系统运行环境    12
2.2.4  系统功能需求    12
2.2.5  接口控制    13
2.3  本章小结    14
3  概要设计    15
3.1  概要设计概述    15
3.2  概要设计思想    15
3.3  系统的类结构    17
3.4  游戏的状态图    17
3.5  游戏的配置图    18
3.6  基本流程的功能模块    19
3.7  数据库设计    20
3.7.1  本游戏采用的数据库    20
3.7.2  本游戏涉及的数据表    20
3.8  游戏的总体流程图    21
3.9  本章小结    22
4  详细设计与实现    23
4.1  游戏主界面设计与实现    23
4.2  俄罗斯方格类的设计与实现    28
4.3  游戏块的设计与实现    28
4.4  游戏控制的设计与实现    29
4.5  俄罗斯方块游戏的设计与实现    31
4.5.1  游戏界面的设计方法    31
4.5.2  游戏控制面板的设计    33
4.5.3  游戏画布类的设计与实现    34
4.5.4  游戏主类的设计与实现    35
4.6  本章小结    35
5  系统测试    36
5.1  测试目的    36
5.2  测试说明    36
5.3  测试内容    37
5.4  本章小结    40
总  结    41
参考文献    43
致  谢    45
附录:英文文献及翻译    46

论文字数:28580
包含资料:

 

 

截图:
 

 
 

 
 

 

1 文献综述 计算机科学技术 基于 JAVA俄罗斯方块游戏设计实现 1.引言 俄罗斯方块是一款风靡全球的电视游戏机和掌上游戏游戏。此游戏由于游戏简单、 操作方便而备受大家青睐。电脑游戏软件的出现使计算机应用的世界更加绚丽多彩,然而游 戏开发领域因涉及程序设计、图形图像、动画、音频等多方面技术而长期以来使很多电脑爱 好者望而却步,更不适合一般的院校课堂教学。经典的俄罗斯方块游戏却是一个特例,它规则 简单,所有人都比较熟悉,而且涉及到键盘控制、计时功能、图形的绘制以及其他逻辑问题, 是一个比较综合而相对难度不很大的游戏,很适合初学者学习计算机程序开发技术,锻炼自己 的动手能力。 2.JAVA 特性 2.1 面向对象 Java 的特点之一就是面向对象[2],是程序设计方法的一种。 "面向对象程序设计语言" 的核心之一就是开发者在设计软件的时候可以使用自定义的类型和关联操作。代码和数据的 实际集合体叫做"对象" 。一个对象可以想象成绑定了很多"行为(代码) "和"状态(数 据) "的物体。对于数据结构的改变需要和代码进行通信然后操作,反之亦然。面向对象设 计让大型软件工程的计划和设计变得更容易管理,能增强工程的健康度,减少失败工程的数 量。 面向对象设计另外一个目标就是能产生很多的有关联的类,可以让软件的再开发变得简 单。举例来说,很多软件工程都有同样的功能,尤其是很多应用了同一原理组织的软件工 程。软件的二次开发者想自己为软件开发插件以增强功能的时候,绝对不想看到混乱的开发 代码和管理计划。面向对象的目的就是不生产难懂且难以使用的代码,为软件各个功能群之 间创建有效的通信通道。很多开源软件社区正在计划给软件作者提供更多的类来让软件的二 次开发变得简便。 2.2 跨平台性 Java 语言的第二个特性就是跨平台性[4],也就是说使用 Java 语言编写的程序可以在编 2 译后不用经过任何更改,就能在任何硬件设备条件下运行。这个特性经常被称为"一次编 译,到处运行" 。执行 Java 应用程序必须安装 Java Runtime Environment(JRE) ,JRE 内部 有一个 Java 虚拟机(Java Virtual Machine,JVM)以及一些标准的类库(Class Library) 。 通过 JVM 的虚拟机才能在电脑系统执行 Java 应用程序(Java Application) ,这.Net Framework 的情况一样,所以电脑上没有安装 JVM,那么这些程序将不能够执行。实现跨平 台性的方法是大多数编译器在进行 Java 语言程序的编码时候会生成一个用字节码 (Bytecode)写成的"半成品" ,这个"半成品"会在 Java 虚拟机[7](解释层)的帮助下运 行,虚拟机会把它转换成当前所处硬件平台的原始代码。之后,Java 虚拟机会打开标准库, 进行数据(图片、线程和网络)的访问工作。主要注意的是,尽管已经存在一个进行代码翻 译的解释层,有些时候 Java 的字节码代码还是会被 JIT 编译器进行二次编译。有些编译 器,比如 GCJ[1],可以自动生成原始代码而不需要解释层。但是这些编译器所生成的代码只 能应用于特定平台。并且 GCJ 目前只支持部分的 Java API[8]。 甲骨文公司对于 Java 的许可是"全兼容的" ,这也导致了微软和升阳关于微软的程序不 支持 RMI 和 JNI 接口、并且增加特性为己所用的法律争端。升阳最终赢得了官司,获得了大 约两千万美元的赔偿,法院强制要求微软执行升阳公司关于 Java 的许可要求。作为回应, 微软不再在 Windows 系统中捆绑 Java,最新的 Windows 版本,Windows Vista 和 Internet Explorer 7.0 版本也不再提供对于 Java 应用程序和控件的支持。但是升阳公司和其他使用 Java 运行时系统的公司对于微软的操作对用户提供无偿的第三方插件和程序支持。Java 语 言使用解释层最初是为了轻巧性。所以这些程序的运行效率比 C 语言和 C++要低很多,用户 也对此颇有微词。很多最近的调查显示 Java 的程序运行速度比几年前要高出许多,有些同 样功能的程序的效率甚至超过了 C++和 C 语言编写的程序。Java 语言在最开始应用的时候是 没有解释层的,所有需要编译的代码都直接转换成机器的原始代码。这样做的后果就是获得 了最佳的性能,但是程序臃肿异常。从 JIT 技术开始,Java 的程序都经过一次转换之后才变 成机器码。很多老牌的第三方虚拟机都使用一种叫做"动态编译"的技术,也就是说虚拟机 [9]实时监测和分析程序的运行行为,同时选择性地对程序所需要的部分进行编译和优化。所 有这些技术都改善了代码的运行速
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值