摘要在信息技术飞速发展的今天,随着的手机日益普及,手机游戏也成了人们生活中不可缺少的一部分。
Java 在移动设备上的功能实现也越来越具影响力,为丰富人们的生活,提供服务等方面提供了诸多方便。
本文主要介绍一款基于 Java 语言开发的手机游戏——贪吃蛇,该设计主要是应用 J2ME 技术,结合 JDK 1.6.0 ,使用 IDE Eclipse 3.4 与 EclipseMe1.7.9 作为开发工具,以 Sun J2ME Wireless Tool Kit 2.5.2 软件作为模拟测试工具的综合性的开发设计。
本设计主要是对手机游戏的开发过程的各个环节做了详细的介绍,其中包括:手机游戏开发平台的搭建与测试、具体设计及开发步骤、软件测试运行与打包生成等,实现了经典游戏——贪吃蛇的手机嵌入,以便满足一些手机用户的娱乐需求。
关键字 J2ME WTK EclipseABSTRACTIn the day of rapid development of information technology, with the growing popularity of mobile phone, mobile games also become the indispensable part in daily life. Java in the function realization of the mobile device is also more and more influential for rich people's life and providing services offered many convenient. This paper mainly introduces a mobile gamesnake of Java language development. This design is a comprehensive development design,whichmainly applied 1.6.0 JDK J2ME technology, combined with the Eclipse, use IDEEclipseMe1.7.9 as 3.4 development Tool, Tool Kit to 2.5.2 from J2ME Wirelesssoftware as simulation test tools. This design is mainly to the mobile games every parts of the development process are described in detail, including: the cellular phone game development platform and testing, specific design and development steps, software test, operation and packaged generation. Realize the classic game - snake phone embedded, in order to meet some cell phone users entertainment demand.Key Words:J2ME,WTK ,Eclipse目录1、绪论 (1)22、手机游戏介绍 .......................22.1、手机游戏现状 (2)2.2、手机游戏分类 (2)3、程序开发语言介绍 (4)3.1、J2ME简介 (4)3.2、J2ME程序开发流程 (4)3.3、J AVA语言的特点 (5)4、开发环境及相关技术介绍 (7)4.1、开发环境 (7)4.2、关于JDK (7)4.3、关于WTK (8)4.4 、关于E CLIPSE与E CLIPSE ME (9)5、游戏的具体实现和程序分析 (11)5.1 、游戏工程及程序的建立 (11)5.2、手机中的坐标系 (13)5.3、游戏的具体实现环节 (14)5.4、具体编程的实现 (15)6、结论 (28)参考文献 (29)答谢 (30)1.绪论任何游戏在设计之初,所面向的目标群体的定位都不尽相同,自然的影响游戏设计的动机也会不同,受到游戏设计导向和动机的影响,任务的设计目的大体可分为:提升游戏娱乐性、使玩家压抑释放、获得心里满足、同时也可视为一种赚钱的手段。
随着 3G技术的普及和应用,基于 Java 的开发软件在手机上的使用非常的广泛,手机增值服务的内容也是越来越多,对丰富人们的生活内容、提供快捷的资讯起着不可忽视的作用。
在这个信息社会中,随着信息网络化的不断进展,手机游戏越来越多的走进人们的工作和生活。
其中现在游戏开发的主流技术包括:基于嵌入式游戏开发与设计、基于 Java 游戏开发与设计、基于 BREW游戏开发与设计等。
其中随着 3G技术的飞速发展, Java 手机游戏具有更大的市场优势。
本设计通过查阅相关书籍,研究手机游戏开发与设计的整体设计流程及设计思路、学习并使用 Java 语言进行程序的编写及运行调试,完成基于 Java 语言的手机游戏的开发与设计。
2.手机游戏2. 1.手机游戏现状在信息和网络高速发展的今天,手机已经成为不可或缺的通讯工具,它的普及速度之快,让人瞠目,在短短的几年间,手机及其它无线设备已经走进了普通百姓的工作和生活。
众所周知,手机的规模越来越壮大、功能也越来越强大,而游戏也已成为手机上不可缺少的功能,目前,手机游戏业正在以良好的发展前景飞快发展着,而且将进入一个高利润的稳定增长期2.2. 手机游戏分类[1][2]随着信息技术的飞速发展,手机游戏的逐渐的多样化,具体分类归纳如下表⑴所示:表⑴ 手机游戏分类列表短信游戏:玩家和游戏服务商通过短信中文字的内容来交流,达到游戏目的的一种文字游戏。
一般玩家通过回复短信的形式来进行游戏,游戏单调、枯燥无味。
Wap浏览器游戏:通过手机上网,使用浏览器浏览网页来进行的一种文字游戏,玩家根据 Wap浏览器浏览到的页面上的提示,以选择不同的选项的方法来进行游戏,游戏不够直观、单调无趣。
嵌入式游戏:将游戏程序预先固化到手机中的一种图形类游戏,其中固化过程在手机出厂前就已经完成。
因此这种手机游戏不能进行任何修改或删除操作。
Java 游戏: Java 是一种 Sun 微系统公司所发展出来的程序语言,它具有很多有利于手机游戏开发的性质,例如封装性、安全性等,便于手机游戏的开发与设计,而且目前在手机上应用最多的就是 JAVA游戏BREW游戏:和 java 类似,brew 也是一种程序语言, BREW(B inary Runtime Environment for Wireless) 即无线二进制运行环境, brew 游戏的一主要特点就是可以扩充容量。
Uni-java 游戏:中国联通刚刚为其手机准备的一个新的通用开发平台。
Uni-Java 可以让中国联通的手机也支持并运行 Java 程序,同时也支持一些Java 游戏。
目前已经有相当数量的厂商开始进入 Uni-Java 手机游戏开发的领域。
2D手机游戏:采用图形类的手机游戏,其中手机游戏界面为二维图像。
3D 手机游戏:延续 2D 手机游戏继续发展,手机游戏界面也由二维图像发展为三维图像,给玩家以更好的视觉效果,使游戏更具娱乐性。
3.程序开发语言[3]3.1.J2MEJ2ME是 SUN公司推出的针对嵌入式消费类电子产品的开发平台, J2ME 与J2SE和 J2EE 共同组成 Java 技术的三个重要的分支。
其中 J2ME的一个关键优点是, J2ME与所有支持 Java 的设备都是兼容的。
目前, J2ME中有两个最主要的配置,分别是连接有限设备配置 CLD(C Connected Limited Devices Configuration )和;连接设备配置 CD(CConnected DevicesConfiguration )。
3.2.J2ME 程序开发流程3.2.1.编译编译就是把所编制的 *.Java 文件,编译成二进制的 *.class 文件。
Java.exe 是由 Sun 公司编写的一个编译器,它可以把 *.Java 文件成为*.class 文件。
其中,如果一个 *.Java 文件中定义了多个类,它就将被编译成多个 *.class 文件。
3.2.2.混淆(可选)由于 class 文件格式透明的缘故, Java 文件很容易被反编译。
因此,如果不希望别人掌握你的源代码的话,就一定要进行混淆( Obfuscate )。
所谓混淆,就是利用工具,将方法各类名改成没有实际意义的特定的字符及代号,增加阅读的难度。
这样做的目的是为了更充分的保护了自己的知识产权,而且混淆器还可以减少程序的大小。
混淆器一般都是由第三方软件开发商提供的,许多都是开源的,可以免费使用。
3.2.3.预审核在完成编译后,必须对 *.class 文件进行预审核,因为 class 在传输过程中容易损坏或是被篡改,且手机的资源有限,所以在手机上审核一般比较困难。
因此为了使我们在手机上进行的审核工作量减少。
我们在 PC 机上进行一部分预审核工作。
3.2.4.打包MIDP可执行文件后缀名为 jar 。
后缀为 jad 的文件是 jar 文件的描述文件。
在仿真器或手机上安装运行有了 jar 及 jad 文件后,就可以把它们放到仿真器或手机上运行了。
至于如何把它们放到手机上,根据手机的功能不同,可有如下几种方法:使用数据线,将 PC 与手机相连,下载文件;使用红外线;使用蓝牙;使用 OTA空中下载(利用短信 /WAP)。
3.3.Java 语言的特点[4]3.3.1.平台独立性要使应用软件在网络中的任意一台电脑中都能够正常运行,就必须使得软件具有平台独立性。
软件的平台独立性一直以来都是软件发展的需求及开发者所追求的首要目标,而 Java 正是一款具有平台独立性的编程语言,在源程序级保证了其基本数据类型与平台的无关,使得 Java 程序可以在世界范围内共享,为程序的编译和解读提供了很大的方便性。
3.3.2.面向对象面向对象的软件编程技术是当今软件开发行业中最常用的一种技术,Java 正是一款面向对象的编程开发软件。
它使用一种被称为“类( class )” 的软件对象,代码可以重复使用和可以扩展,使得程序开发变得容易许多。
具体来说,面向对象性包括以下三个特点:封装性: Java 提供了类机制,以类对象为基本组成单元,对象中封装了状态变量和方法。