(一)Java语言简介
Java语言的前身是Oak,当时它的设计目的是用于洗衣机、电视机顶盒等消费性电子产品,但是一直没有得到多大的发展。随着Internet的发展普及,无意中成全了Java,使它很快成为了Internet上广为流传的编程语言。1998年1月,Sun实验室启动了一个名为Spotless的项目,来研究Java技术应用于那些资源有限的设备上。在项目的初期,Spotless仅仅是一个项目,但是在Motorola等公司的推动下,此项目不久成为了一个商业产品,并由此产生了Spotless虚拟机(VirtualMachine)的商业化版本——KVM(KVirtualMachine或者说KjavaVirtualMachine)。1999年6月,Sun正式向Java团体推出了J2me,并重新划分了Java2的体系结构:面向企业应用开发的J2EE(Java2企业版,Java2EnterpriseEdition)面向桌面应用开发的J2SEJava2标准版,、(Java2StandardEdition)、面向消费产品和嵌入式设备应用开发的J2ME(Java2微型版,ava2MicroEdition)。
图1-1Java体系结构
J2EE、J2SE、J2ME,三者构成了Java的完整架构,至此,Java已经由单纯的编程语言发展到一种平台的高度。这三者的结合,可以将从服务器到台式机到移动设备的应用开发集中到一种技术之下。
(二)本章小结
本章中介绍了游戏特别是移动游戏的业务,分析了当前手机软件现状,并介绍了Java语言,由此描述了本论文的相关背景。
4
二开发环境及相关技术
(一)开发环境
操作
系统:MicrosoftWindowsxp程序语言:Java开发包:Java(TM)2StandardEdition(J2sdk1.4.2)eclipse-SDK-3.0.2eclipseme.feature_0.9.0NLpack-eclipse-SDK-3.0.x-win32SunMicro.J2MEIDE:eclipse3.0.2关于本作品的开发环境,整合J2DK+Eclipse+NLpack-eclipse+Eclipseme+WirelessToolKit,其安装配置过程为另一方面的内容也比较简单,在此不再赘述。可以这么说,JDK提供了虚拟机来运行应用程序,而WTK提供了模拟器,Eclipse及其它插件提供了个开发测试程序代码的IDE集成开发环境。此外,这些资源都是
免费的,可以从网上直接下载。WirelessToolKit2.2
(二)本章小结
本章主要介绍了针对本设计介绍了相关的软硬件环境和相关的开发工具,以及手机应用程序的基本
工作流程。
三作品思想、结构及相关技术作品思想、
(一)程序主要流程
1理解游戏
5
本游戏中要用到的类有最终抽象类WaterObject,aterBomb,aterUnit,arship,ubmarine类以及管理程序流程的WaterWar类。下图是这些类的层级图。
WaterObject
WaterBomb
WaterUnit
WarShip
Submarine
图3-1类的层级图
这些类在游戏中所起的作用参见表3-1:
(WaterObject)终抽象父亲。定义游戏中所有角色的共同属性及动作(WaterBomb)表炮弹(鱼雷与炮雷)的类,是WaterObject的子类(WaterUnit)艇及战舰的父亲,WaterObject的子类(WarShip)表战舰的类,WaterUnit的子类(Submarine)代表潜艇的类,WaterUnit的子类(WaterWar)管理游戏流程的类,是一个Applet。表3-1
2WaterObject类
WaterObject是最终抽象父亲,它继承了Thread类,用来定义游戏中出现的潜艇、战艇及炮弹的共同属性及动作。它之所以继承了Thread类,原因是在于游戏中每个角色都随时间独立地运动。但是,由于各个角色都有自己固定的运动方式,所以,WaterObject类无法写run()方法,而只能由其子类覆写它。⊙WaterObject类的常数及其变量:WaterObject类的常数及其变量:StaticfinalintLEFT=0;StaticfinalintFIGHT=1;StaticfinalintUP=2;StaticfinalintDOWN=3;决定运动方向的常数。LEFT代表左移。Imageimg;要绘制的角色图像。Intspeed;角色每次移动的距离。
6