软件技术毕业设计(论文)J2ME俄罗斯方块游戏设计.doc
《软件技术毕业设计(论文)J2ME俄罗斯方块游戏设计.doc》由会员分享,可在线阅读,更多相关《软件技术毕业设计(论文)J2ME俄罗斯方块游戏设计.doc(27页珍藏版)》请在三一办公上搜索。
1、毕业设计总结俄罗斯方块游戏 院 (系) 信息工程与艺术设计系 专 业 软件技术 学生姓名 学生学号 指导教师 提交时间 2011年12月2日 目 录摘 要I第一章 绪论1第二章J2ME相关知识22.1 J2ME的概念22.2 J2ME体系结构介绍22.2.1 JVM32.2.2 J2ME配置简介32.2.3 MIDP(MobileInformationDeviceProfile)移动信息设备简表32.3 J2ME手机编程的常用类42.3.1 Display类42.3.2 Canvas类42.3.3 Graphics类42.3.4 RMS记录管理系统42.4 MIDlet应用程序的生命周期5第三
2、章 俄罗斯方块游戏设计与制作73.1游戏的具体设计流程73.1.1 俄罗斯方块游戏简述73.1.2 游戏操作流程73.1.3 系统设计思想83.1.4 系统设计主要功能103.2游戏代码分析11图6游戏开始界面11开始游戏界面部分程序代码:11结 论23致谢24参考文献24摘 要随着计算机技术的发展,手机游戏已经成为游戏行业的重要组成部分。同样也可以说是成为人们日常生活中不可或缺的部分。手机游戏具有很高的经济价值,是一项很值得探索与研究的领域。“俄罗斯方块”是一款非常普及而且经典的益智类游戏,它以其操作简单,上手容易等特点倍受玩家的青睐。而本文介绍的就是在J2ME技术下利用eclipse开发工
3、具配合java虚拟机在电脑端实现俄罗斯方块手机游戏的开发关键词:J2ME JAVA 移动设备 手机游戏 第一章 绪论游戏作为人们日常生活的一个重要的娱乐项目,也带动了巨大的游戏相关产业市场的发展。游戏平台从游戏机、电视游戏,到pc游戏,到手机游戏。随着手机的日益普及,人们对手机的娱乐功能的需求也相应增强,尤其是近几年手机2D、3D技术的日益成熟,大大地提高了手机游戏的娱乐性、操作性和方便性等多方面的性能。而基于手机平台的手机游戏也就拥有了巨大的市场空间,随着3g的开通和应用,手机游戏必将迎来新的一轮游戏热潮!J2ME在游戏开发方面的优势,由它开发的各种软件在手机上大规模的应用将会刮起一阵势不可
4、挡的革命潮流。下面在本篇文章中就将详细的介绍J2ME这一技术在手机游戏制作方面的具体过程和应用。第二章J2ME相关知识2.1 J2ME的概念 J2ME的全称是Java2 Micro Edition(J2ME)Java2技术微型版,与J2SE、J2EE一样都是有美国SUM微系统公司提出的JAVA技术规范。 J2ME是为了能够开发运行在小型设备、独立设备、互联移动设备、嵌入式设备上的JAVA应用程序而被提出的。J2ME是建立在一个由概要描述、配置、JAVA虚拟机和操作系统等部分组成的标准架构之上的,这些内容共同组成了完整的J2ME实时运行环境。它的技术核心是由一个JAVA虚拟机( JVM )及一套
5、适合运行在上述设备环境上的API接口构成。J2ME在1999年的JavaOne开发人员大会上初次亮相,它的目标是面向智能无线设备和小型计算设备的开发人员,这些开发人员需要在他们的产品中整合跨平台的能力。开发Java ME程序一般不需要特别的开发工具, 开发者只需要装上Java SDK 及下载免费的 Sun Java Wireless Toolkit 2.xx系列开发报,就可以开始编写Java ME程式,编译及测试, 此外目前主要的IDE(Eclipse 及 NetBeans)都支持 Java ME 的开发,个别的手机开发商如 Nokia 、Sony Ericsson、摩托罗拉、Android系
6、统 都有自己的SDK, 供开发者在开发出兼容于他们的平台的程序。2.2 J2ME体系结构介绍J2ME的体系可划分JVM、配置、API信息类库和简表。如图1所示,其中JVM,配置和简表构成了J2ME运行环境。对于各个层次的详细解释和功能如下:图1 J2ME体系结构2.2.1 JVM在J2ME中提供了2中JVM。由于JVM是java代码运行时必须的,只有任何设备上有了JVM才能改很好的解释“一次编译,到处运行”的关键技术。那么在嵌入式或移动设备中也需要JVM作为操作系统和java应用程序间的接口。但是由于内存的限制,嵌入式设备的JVM也要特殊提供。J2ME中提供的JVM分为CVM和KVM,是JVM
7、的缩减版,KVM比CVM功能稍弱。CVMCompactVirtualMachine,最初是这种解释的,但是后来对于C没有任何意义了。只是CVM虚拟机主要运行在存储量较大的嵌入式设备,比如可视电话.POS收款机等。KVM是最小运行时环境的一部分,也就是用于CPU和内存较小的设备,这里的K是千字节的意思。KVM主要用于移动电话,个人数字助理(PAD)等小型设备。2.2.2 J2ME配置简介当前提供的J2ME配置有两类,CDC和CLDC。CDC(ConnectionDeviceConfiguration)连接设备配置主要用于存储量较大,内存2MB以上的设备中,大多用CVM虚拟机。其用户接口较多。网络
8、带宽有限,所以有很多不同的简表。而其最大的特点就是支持浮点数。包含了所有CLDC中定义的类和接口。CLDC(ConnectionLimitedDeviceConfiguration)有限连接设备配置。主要用于小型的资源较小的设备中,针对内存小于512Kb的嵌入式系统。采用KVM虚拟机。其特点是很多J2SE的类和接口没有实现,最大的特点就是不支持浮点数。比如银行的POS机,支持浮点数,内存较大,肯定是CDC类的设备。而个人移动电话内存小,肯定不支持浮点数。用的就是KVM虚拟机。2.2.3 MIDP(MobileInformationDeviceProfile)移动信息设备简表这里主要针对的是CL
9、DC设备。包含3个生命周期和事件处理等机制。Paused状态:程序处于暂停状态,方法:pauseApp();Actived状态:程序处于运行活动状态。方法startApp()Destroy状态:程序运行销毁结束前的状态。DestroyApp();MIDP包含其他事件处理状态和机制。2.3 J2ME手机编程的常用类2.3.1 Display类 Display类代表了系统显示屏和输入设备的管理器,包含用来获取设备属性的方法,以及要求在设备上显示对象的方法,其他处理设备的方法主要应用在 Canvas对象。Display类直接从所有的祖先类Object继承而来。2.3.2 Canvas类 为了能有程序
10、开发人员控制接口的外观和行为,需要使用大量的初级用户接口类,尤其在游戏程序中,几乎完全依赖的就是Canvas 抽象类进行绘图。从程序开发的观点看,Canvas 类可与高级Screen 类交互,程序可在需要时在Canvas 中掺入高级类的组件。Canvas 提供了键盘事件、指点杆事件(如果设备支持),并定义了允许将键盘按键映射为游戏控制键的函数。键盘事件由键代码指定,但这样控制游戏会导致缺乏通用性,并不是每个设备的键盘布局都适合游戏的操作。应当将键代码转换为游戏键的代码,以便硬件开发商能定义他们自己的游戏键布局。 2.3.3 Graphics类Graphics 是图形处理的基础类,提供了简单的2
11、D 绘图功能。使用Graphics 类可以在屏幕上绘制图片、线条、文字等多种低级的界面。它具有 24 位深度色彩的绘制能力,以三原色分别各占一个字节表示其颜色。程序只能在 paint() 函数中使用 Graphics 绘制, GameCanvas 可调用 getGraphics()函数直接绘制在缓冲区上,可以在任何时间请求传输到前台。其对象会被传给Canvas 的paint()函数,以便最终显示。2.3.4 RMS记录管理系统移动信息设备框架(Mobile Information Device Profile)和 移动 Java 应用程序的平台 为 MIDP 应用程序提供一种跨多个调用持久存储
12、数据的机制。这种持久存储机制可以被视为一种简单的面向记录的数据库模型,被称为记录管理系统(record management system(RMS)。通过这种机制,MIDlet 能够持久存储数据,并在以后检索数据。在面向记录的方法中,J2ME RMS 由多个记录存储构成。可以将每个记录存储想像成一个记录集合,它将跨多个 MIDlet 调用持久存在。设备平台负责在平台正常使用的整个过程(包括重新启动、换电池等)中,尽全力维护 MIDlet 的记录存储的完整性。记录存储在与平台相关的位置(比如非易失性设备存储器)创建,这些位置不直接公开给 MIDlet。RMS 类调用特定于平台的本机代码,这种本机
13、代码使用标准 OS 数据管理器函数来执行实际的数据库操作。 记录存储实现确保所有单个的记录存储操作都是原子的、同步的以及序列化的,因此多个访问将不会出现数据毁坏。记录存储被盖上时间戳来指示它上次被修改的时间。记录存储还维护版本(version),它是一个整数,修改记录存储内容的操作每发生一次,这个数加一。版本和时间戳对于同步目的很有用。 当 MIDlet 使用多个线程访问一个记录存储时,协调该访问是 MIDlet 的责任;如果它不能这样做,可能出现无法意料的结果。同样,如果一个平台使用试图同时访问记录存储的多个线程执行记录存储的同步,那么对 MIDlet 及其同步引擎之间的记录存储实施排外访问
14、是平台的责任。 记录存储中的每个记录是一个字节数组,并且有唯一的整数标识符。2.4 MIDlet应用程序的生命周期理解J2ME的体系结构并不像想象的那么容易,我们觉得读更多的资料帮助也不大,我们直接迈向J2ME开发也许会对你理解J2ME平台体系结构这个重要的概念有所帮助。在MIDP中定义了一种新的应用程序模型MIDlet,它是被Application Management Software(AMS)管理的。AMS负责MIDlet的安装、下载、运行和删除等操作。在被AMS管理的同时,MIDlet可以和应用管理软件通信通知应用管理软件自己状态的变化,通常是通过方法notifyDestroyed()
15、和notifyPaused()实现的MIDlet有三个状态,分别是pause、active和destroyed。在启动一个MIDlet的时候,应用管理软件会首先创建一个MIDlet实例并使得他处于pause状态,当startApp()方法被调用的时候MIDlet进入active状态,也就是所说的运行状态。在active状态调用destroyApp(boolean unconditional)或者pauseApp()方法可以使得MIDlet进入destroyed或者pause状态。值得一提的是destroyApp(boolean unconditional)方法,事实上,当destroyApp(
16、)方法被调用的时候,AMS通知MIDlet进入destroyed状态。在destroyed状态的MIDlet必须释放了所有的资源,并且保存了数据。如果unconditional为false的时候,MIDlet可以在接到通知后抛出MIDletStateChangeException而保持在当前状态,如果设置为true的话,则必须立即进入destroyed状态。图2说明了MIDlet状态改变情况:图2 MIDlet生命周期第三章 俄罗斯方块游戏设计与制作3.1游戏的具体设计流程3.1.1 俄罗斯方块游戏简述俄罗斯方块是个老幼皆宜的小游戏,它是由四块正方形的色块组成,然后存储在一个数组的四个元素中,
17、由计算机随机产生七种不同形状的方块,然后玩家可以根据键盘的四个方向键控制翻转、向左、向右和向下的操作来堆叠成各种不同的形状。(控制键的实现是由键盘的方向键的事件处理实现)3.1.2 游戏操作流程本游戏的操作流程非常简单,用户启动MIDlet后,进入游戏运行界面,选择“帮助”进入游戏帮助界面,选择“退出游戏”则退出整个游戏。在游戏运行界面,当用户想暂停游戏时,按下#按钮,游戏就暂停了,在暂停的情况下按#按钮,游戏继续运行。在游戏结束界面按下“最高分”按钮进入最高分界面任何时候点击 退出按钮,游戏MIDlet都会终止。如图3所示:图3 游戏框架3.1.3 系统设计思想MIDP的游戏设计,本质上就是
18、用一个线程或者定时器重绘事件,用线程和用户输入改变游戏状态。这个俄罗斯方块也不例外,当启动MIDlet以后,就立即生成一个重绘线程,该线程每隔几ms就重新绘制一次屏幕。当然重绘时有一些优化措施,并不是屏幕上所有的像素都需要重绘,而是有所选择。比如游戏画布上那些已经固定下来的下坠物(下坠物有7种,由4个小砖块组成,可以上下左右旋转变形)就不需要重绘。游戏画布是一个CommandListener,可以接收用户键盘输入命令:控制下坠物的左移、右移、加速下落、变形旋转动作。下坠物能否下坠下坠物下坠一格在当前位置绘制下坠物固定下坠物是否需要删除行重绘游戏地图初始化一个新的下坠物游戏是否结束绘制游戏结束画
19、面绘制新下坠物游戏处于运行状态是是否否否是游戏处于暂停状态游戏处于结束状态结束游戏执行空操作图4 游戏控制流程整个游戏的控制流程体现在游戏画布的paint()方法里,paint()根据当前的游戏状态,绘制出当时的游戏画面。而暂停画面的绘制,是通过设立标志,让paint ()无需真正的执行重绘动作。对于游戏处于运行状态的画面绘制,则需要在下坠物当前位置绘制下坠物。在绘制下坠物之前,判断下坠物是否还能下坠,如果能下坠就让它下落一格,再进行绘制,如果下坠物不能下坠,则把下坠物固定下来,同时检查游戏画布上下坠物当前下面所有的行,看是否能进行删行动作,如果需要进行删行动作,则清楚游戏画布上被删行的数据,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件技术 毕业设计 论文 J2ME 俄罗斯方块 游戏 设计
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-3994128.html