1、 本科毕业设计 ( 20 届) 基于 J2ME 俄罗斯方块游戏的设计和实现 所在学院 专业班级 通信工程 学生姓名 学号 指导教师 职称 完成日期 年 月 - 1 - 摘 要 随着时代的进步和新技术的发展,手机因其小巧便捷的特性成为人们必备的通讯工具,同时手机的硬件配置要求越来越高 ,与之对应的增值服务也越来越多元化。其中游戏作为人们日常生活中一个重要的娱乐项目,理所当然出现在手机上,手机游戏也就拥有了巨大的市场空间,随着 3g 的开通和应用,必将迎来新的一轮游戏热潮!,而 J2ME 易于开发和跨平台的特性使其成为手机增值服务开发的理想开发工具。 该系统是一个基于 J2ME 平台的俄罗斯方块游
2、戏,利用 Java ME Wireless Toolkit(WTK)开发包工具在无线网络移动端上实现经典的俄罗斯方块游戏。该文章先介绍了游戏的开发背景,然后是对开发工具的相关介绍以及俄罗斯方块游戏规则,在设计与 实现方面,分成游戏规则、方块处理这两个模块进行实现,最终展示了该游戏开发的基本开发过程和设计思路,以及游戏的实现。 关键词: J2ME;手机游戏;游戏开发;无线网络移动端;俄罗斯方块 - 2 - Abstract With the progress of The Times and the development of new technology, Mobile phone conv
3、enient features become people essential communication tools, because its small, and mobile phone hardware configuration to the demand is higher and higher, and the corresponding value-added services also more and more diversified. Which games as people daily life an important entertainment project,
4、granted appear on mobile phones, cellular phone game also has a huge market space, as the 3g enlightened and applications, will usher in a new round of games boom! And the J2ME easy to develop and cross-platform properties that make it become handset value-added service development ideal development
5、 tool. This system is based on J2ME platform game tetris, using Wireless Toolkit (Java ME WTK) tool in the Wireless network setups mobile terminal implemented on classic game tetris. This paper firstly introduces the background of the development of the game, then the development tools of related in
6、troduction and Russian square game rules in the design and realization ways, the rules of the game, a square deal with the modules which make realization and finally demonstrates this game development of basic development process and design ideas, as well as the realization of the game. Key Words: J
7、2ME; Mobile games; Game development; The wireless network mobile terminal; Tetris - 3 - 目 录 1 引 言 1 1.1 课题研究背景与意义 1 1.2 手机游戏的发展现状 1 1.3 论文的主要工作与内容安排 2 2 游戏开发环境介绍 4 2.1 编程环境的介绍和选择 4 2.2 JAVA ME WIRELESS TOOLKIT 软件简介 5 2.3 JAVA ME WIRELESS TOOLKIT 开发环境的介绍 7 3 俄罗斯方块游戏介绍 11 3.1 俄罗斯方块游戏的背景和规则 11 3.2 俄罗斯方
8、块游戏的特性 11 3.3 俄罗斯方块游戏的发展前景 13 4 游戏系统分析设计 15 4.1 系统解决方案 15 4.2 系统总体结构 15 4.2.1 方块处理模块 16 4.2.2 游戏规则模块 16 4.3 游戏中断处理流程 16 5 系统的实现 18 5.1 系统源文件结构 18 5.2 游戏规则模块 18 5.2.1 游戏规则模块结构 18 5.2.2 游戏规则模块功能 19 5.3 方块处理模块 25 5.3.1 方块处理模块结构 25 5.3.2 方块处理模块功能 26 6 运行与测试 30 7 结论 34 致 谢 错误 !未定义书签。 参考文献 35 附录 1 系统源代码 3
9、6 附录 2 毕业设计作品说明书 65 - 1 - 1 引言 1.1 课题研究背景与意义 随着经济社会的发展,人民的生活水平也日益提高,移动设备特别是手机得到了非常广泛的应用,在手机平台上运行的游戏也被更多游戏爱好者所接受。作为一 个新兴的行业,手机游戏成为无线增值业务迅猛发展的最大亮点。因此,J2ME 作为开发手机游戏的主流平台有着非常良好的前景。而 J2ME 这个主要的游戏开发平台相比其他智能客户端而言,有个独特的优点,就是它是专为手机设计的。 J2ME 应用可运行在不同投资商的不同设备上,这一特性在高度竞争的手机设备行业中是特别重要的,现在所有主要的智能手机制造商都支持 J2ME 平台,
10、所以基于 J2ME 的手机游戏开发前景是非常美好的。 如今的手机游戏,无论从视觉效果、听觉效果还是游戏的可玩性来说,都很精彩。当今世界,移动电话数量巨大,除美国之 外,其他各个发达国家拥有手机的人数比拥有计算机的人数还多。而在我国,手机拥有量甚至超过了美国的人口数量,而且每个月手机的数量仍然以惊人的速度增长着。手机市场的高速发展带动了手机游戏市场的急速膨胀,基于 Java, BREW 等技术平台的手机游戏市场规模纷纷呈现几何增长态势。基于 J2ME 的俄罗斯方块游戏虽然只是一款简单的游戏,但它可谓是一款经典之作,因为玩家可以一次一次地挑战新纪录,而且积分越高方块速度越快,给人一种挑战感,大大增
11、加了其可玩性。在设计这款游戏的同时,还有助对于 J2ME 知识的理解,其次一个小型的手机游 戏中有很多地方代码结构是相同的,比如开始动画、游戏菜单等。于是,开发一套可以为我们编写代码框架的 J2ME 手机游戏开发引擎对于提高游戏的开发速度是很有帮助的。 1.2 手机游戏的发展现状 IT 业作为一项热门的产业,游戏已经成为其技术创新背后的动力之一。游戏玩家们总是渴望有更强大的硬件条件来实现质量更高的游戏,以获得较好的视觉效果和乐趣,手机游戏虽然目前还不能与计算机游戏的功能相比较,但是它是在手机上运行的特点是它的一项优势,因为手机是我们日常生活中随身携带的通- 2 - 讯工具,可以随时随地的玩游戏
12、。由于受目前的技术条件 限制,在众多的游戏种类中,只有几种游戏类型是适合无线网络移动端开发的,如低激烈程度的街机游戏;简单的运动类游戏;解谜游戏;简单的匹配游戏和主题测试游戏。而 网络游戏产业的繁荣,让企业和消费者同时认识到了游戏的力量,虽然受到屏幕尺寸和操作性的限制,但作为全球使用量最大的通信产品,手机也具有成功进入掌上游戏领域的理由。而彩屏革命过后,手机游戏就变得更加丰富多样了。从当初诺基亚手机中经典的二维贪吃蛇游戏,到今天的三维画面及声色效果俱佳的游戏,手机游戏已经成为一种非常普遍的休闲方式,为玩家带来了很多快乐及新奇的体验, 同时也为开发商带来了更多的利润。 这一切得益于 Sun 公司
13、,它是 Java 平台的东家,可以说手机端游戏的发展与 Java 技术的发展有着不可分割的联系。 Java 2 推出后, Sun 推出了一种名为J2ME 的平台,被广泛应用于手机端。随着各大手机生产商对 J2ME 标准的支持,以及基于 J2ME 开发的手机游戏的可移植性和快速开发的优势, J2ME 手机游戏市场需求越来越高。手机游戏在日本、韩国的发展是非常快的, 2009 年日本手机游戏市场超过一万亿日元,其中 K D D I 为用户提供了 3 5 0 多款游戏。韩国则是全球最大的游戏生产国, SKT 提供 280 款手机游戏,年销售额达 1 5 0 0 亿韩元; K T F 为用户提供了 6
14、00 多款游戏,销售额约 1000 亿韩元; LGT 游戏业务在所有内容业务中占据了 30%的比例。日韩手机游戏营收占其增值业务总营收的近 10%,但在我国这个比例还不到 1%。目前我国有超过 1 亿的手机上网用户,庞大的用户基数以及与日韩的市场差距,意味着我国手机游戏市场蕴藏着一座巨大的“金矿” 1。 1.3 论文的主要工作与内容安排 本文主要介绍的是基于 J2ME 俄罗斯方块游戏的设计与实现,该软件主要实现的功能如下: 1能产生 7 种不同形状 的下坠物,其中的有两对下坠物形状相似,只是朝向不同。 2当任何一层被填满时,该层会消失,最多一次可以消除 4 行。 3 当游戏屏幕的顶端被下坠物接
15、触到且无法继续下落,则游戏结束,屏幕- 3 - 显示“ Game over”字样。 4 游戏具有暂停功能。 5 具有积分功能,每次消除任何一行积满行,都会得到相应的分数。 完成后能使软件在仿真软件上运行并实现以上功能,而文章的具体内容共分为 6 个章节,各章节名称与大致内容如下: 第一章 引言:主要介绍课题的研究背景与意义以及论文的内容安排。 第二章 游戏开发环境介绍:主要是对游戏开 发平台 J2ME 与开发工具 WTK软件的介绍。 第三章 俄罗斯方块游戏介绍:主要介绍俄罗斯方块游戏的背景、规则、游戏特性和该游戏的发展前景。 第四章 游戏系统分析设计:主要讲解游戏的系统解决方法、总体结构以及游
16、戏中断处理流程。 第五章 系统的实现:主要介绍系统的源文件结构由四个类组成,然后具体地介绍游戏规则模块与方块处理模块功能的实现。 第六章 运行与测试:主要讲解介绍所编写的软件各个要求实现的功能在仿真软件上的实现。 - 4 - 2 游戏开发环境介绍 2.1 编程环境的介绍和选择 如今 , 移动网络端开发主要有以 下四种平台。 Binary Runtime Environment for Wireless(BREW), Symbian, Window Mobile Smartphone 和 Java Micro Edition(Java ME)。以下是对这四种平台的简单介绍: 1 Binary R
17、untime Environment for Wireless( BREW) BREW 是基于高通公司 Code Division Multiple Acces( CDMA)技术的手机开发平台,在北美和亚洲有部分无线通信服务提供商。它使用 C 或 C+结合 BREW API 来开发 BREW 设备上的程序。和 Java ME 相同的是 BREW 能够作为游戏和地磁手机操作系统之间的一个中介。而和 Java ME 不同的是 BERW 也支持本地代码,能够专门针对某一手机的处理器而编译,而本地代码一般要比对应的解释版本要快很多,但是在设备之间移植会花费很多技巧与功夫。 2 Symbian Symb
18、ian 是一种开放的操作系统,任何的设备制造商都能获得使用许可。它支持 C+、 Java 和 Visual Basic 等编程语言,但是大多数商业 Symbian 游戏都是用 C+作为本地 Symbian 应用程序来开发的,这使得它们和 Java 开发的游戏相比要快一些。 3 Window Mobile Smartphone 在 Window Mobile Smartphone 平台上,可以使用在编写 Pocket PC 游戏时所使用的相同的工具和 API。这就意味着要使用 C、 C+或 C#编程语言并结合使用 Window Mobile API。 4 Java Micro Edition(J
19、ava ME) Java Micro Edition(Java ME)是 Sun Microsystem 公司于 1999 年 6 月推出的。 Java ME 以往称作 J2ME, 根据 Sun 的定义: Java ME 是一种高度优化的 Java运行环境,其广泛用于为信息家电市场提供应用服务,这些信息家电包括电视机顶盒、传呼机、个人商务助理 (PDA) 、移动电话、 POS 终端和其他消费类电子设备。 JAVA ME 技术在 1999 年的 JavaOne Developer Conference 大会上正式推出,它将 Java 语言的与平台无关的特性移植到小型电子设备上 ,允许移动无线设-
20、 5 - 备之间共享应用程序,它和 Java SE、 Java EE 一起构成 Java 技术的三大版本,并且同样是 通过 JCP( Java Community Process)制订的 2。 对于俄罗斯方块游戏的设计与实现,这里选择使用 Java Micro Edition 英文缩写为 J2ME,因为 J2ME 是目前最占优势的移动软件开发技术,全球手机制造商中, Java ME 有着最广泛的工业支持,据统计 2007 年约有 4.5 亿支持 Java 的手机销售出去,占整个市场的百分之七十五,并可能继续发展其市场份额。 还有很重要的一点,我们都知道无线移动设备的屏幕相比计算机要小许多,而且
21、计算能力两者目前无法相比, Java ME 是 Java SE 的 子集和简化功能集,它支持一个较小的功能集,这些功能很适合无线移动设备。 Java ME 拥有丰富的应用程序接口 (API)和一组可以灵活调用的开发工具,依靠的不是本地应用程序代码,而是通用的字节码,它的程序移植到不同的手机比较容易,不需废多大的力气,相比其他开发工具优势比较明显。 由于 Java 语言自身的特点,和系统的关联不大,所以开发速度很快,程序的开发周期比较短。另一方面从技术入门的角度来说,由于 Java 语言相当的普及,而对于有一定 Java 语言基础的人来说,学习 J2ME 技术的门槛很低,所以J2ME 技术的普及
22、速度 很快,在编写俄罗斯方块游戏时,遇到问题通过学习相对要容易解决。但是 J2ME 也有其技术的劣势,其一是功能有限,为了实现 J2ME技术的移植性, J2ME 技术无法实现系统的功能,例如读取电话簿、短信息等系统内容,却无法开发手机上的系统软件。其次是运行速度比较慢,由于 J2ME 技术运行在 jvm 基础上,再加上手机硬件的限制,所以运行速度相对比较慢,不过这个速度还是在用户可以接受的范围之内。最后是程序大小受限制,在手机上J2ME 技术开发的程序在程序大小上受到很大的限制,例如 NOKIA S40 系列的程序大小一般都限制在 64KB 以内,这个大大限制了 J2ME 程序的功能。不过在设
23、计实现俄罗斯方块游戏上,要求实现的功能没有那么复杂,运行速度的要求也是不那么高,程序大小的要求也不高,所以这么些缺陷这设计俄罗斯方块游戏时没有太大的影响,所以选择 J2ME 作为开发工具是理智的。 2.2 Java ME Wireless Toolkit 软件简介 Java ME Wireless Toolkit 是软件开发常用工具,简称 J2ME WTK,全称 Java - 6 - ME 无线开发工具包。 WTK 是 Sun 公司提供的一个用于创建 MIDP 应用程序的工具集。该工具集包含了生 成工具( KToolbar)、实用程序集( Utilities)和设备仿真器( Emulator)
24、等主要组件。 J2ME WTK 当前的版本为 2.52,支持由 JCP 所定义的 CLDC1.1(JSR 139) 、 JTWI 1.0(JSR 185) 、 WMA 2.0(JSR 205) 、 MMAPI 1.1(JSR 135)等许多标准应用程序编程接口( API)的功能。 J2ME WTK2.2 支持多种操作系统,包括 Windows 操作系统和 Red Hat linux 操作系统,并且有英文、日文、简体中文和繁体中文几个版本。 J2ME WTK2.2 作为一个轻量级的 IDE 工具,没有提供编辑功能,必须与其他文本编辑工具结合在一起使用,也可以与Jbuilder、 NetBeans
25、 和 Eclipse 等 IDE 集成使用。 J2ME WTK2.2 可以从 Sun 公司的网站通过注册后免费获取。 WTK 的安装程序很简单,但是有一点需要注意,因为 WTK 软件自身并没有附带 Java 的运行环境 JDK,所以,在安装 WTK 之前需要先安装 JDK。 WTK会首先自动检测当前系统已有的 Java 虚拟机,然后显示出当前虚拟机所在路径,在确定无误后,按继续,最后安装成功后,您将得到一个包括多 种实用工具的开发包,目录如图 2-1 所示: 图 2-1 WTK 目录结构 WTK 的目录结构包括以下几个目录以及该目录包含的内容: appdb 目录: RMS 数据库信息 apps 目录: WTK 自带的 demo 程序 bin 目录: J2ME 开发工具执行文件 docs 目录: 各种帮助与说明文件 lib 目录: J2ME 程序库, Jar 包与控制文件 session 目录:性能监控保存信息 wtklib 目录: JWTK 主程序与模拟器外观