《计算机专业JAVA打飞机游戏毕业设计论文.docx》由会员分享,可在线阅读,更多相关《计算机专业JAVA打飞机游戏毕业设计论文.docx(68页珍藏版)》请在第一文库网上搜索。
1、1绪论1.1手机软件现状在信息社会中,手机及其他无线设备越来越多的走进普通百姓的工作和生活,随着信 息网络化的不断进展,手机及其他无线设备上网络势在必行。但是传统手机存在以下弊端:1 .传统手机出厂时均由硬件厂商固化程序,程序不能增加、删除,有了错误也不能 更新、修改,若要增加新功能必须另换一部手机。2 .传统手机访问互联网是通过WAP(WireICSSAPPIiCatiOnPrOtOCa1),所有网络资 源必须接通网络才能在线访问,非常耗时、费用亦很高。而Java技术在无线应用方面的优势非常明显:1. 应用程序可按需下载,而不是购买由硬件商提供的套件,可升级空间大。2. JaVa技术提供了一
2、个类库,它使的应用开发商可以创建更为直觉、丰富的用户界 面(GUI);3. JaVa技术使网络带宽的应用更为有效,因为应用程序可以下载到器件上,并在本 地运行,仅仅是在连接到服务器时才会占用网络带宽。基于以上分析,JaVa手机将是未来手机的发展方向,是业界的热点。1.2 J2ME 介绍虽然Java已经被用到许多企业级软体上,可是其实骨子里面还是非常适合用在嵌入 式系统之中。JaVa平台演进到Java2后,JaVa平台分别针对不同领域的需求被分成四个 版本,亦即J2EE、J2SE、J2ME以及JavaCardo其中J2ME定位在消费性电子产品的应用上。 这个版本针对资源有限的电子消费产品的需求精
3、简核心类库,并提供了模块化的架构让不 同类型产品能够随时增加支持的能力。这个版本的应用层面相当广泛,会是未来JaVa平 台发展的重点项目。J2ME在1999年的JaVaOne开发人员大会上初次亮相,它的目标是面向智能无线设备 和小型计算机设备的开发人员。J2ME的一个关键优点是,J2ME与所有支持JaVa的设备都 是兼容的。支持JaVa的设备就是任何运行JaVa虚拟机器的计算机。Motorola NOkia等 生产厂商都生产支持JaVa的设备。、J2ME平台是由配置(ConfigUration)和简表(PrOfiIe)构成的。配置是提供给最大 范围设备使用的最小类库集合,在配置中同时包含JaV
4、a虚拟机。简表是针对一系列设备 提供的开发包集合。在J2ME中还有一个重要的概念是可选包(OPtiOnal Package),它 是针对特定设备提供的类库,比如某些设备是支持蓝牙的,针对此功能J2ME中制定了 JSR82(Bluetooth API)提供了对蓝牙的支持。目前,J2ME中有两个最主要的配置,分别是ConneCted Limited Devices Configuration (CLDC)和 Connected Devices Configuration (CDC)。作为第一个面对小型设备的JaVa应用开发规范,CLDC是由包括Nokia, Motorola和 SienlenS在内
5、的18家全球知名公司共同协商完成的。CLDC是J2ME核心配置中的一个,可 以支持一个或多个Profilee其目标主要面向小型的、网络连接速度慢、能源有限(主要 是电池供电)且资源有限的设备,如手机、PDA等。而CDC则是主要用于运算能力相对较佳、在电力供应上相对比较充足的嵌入式装置 (比方说冷气机、电冰箱、电视机机顶盒(set-top box)1.3 手机游戏应具有的特征一个手机游戏应该具有以下特征:易于学习:既然手机游戏面向的是普通消费者而不是计算机专家,那么他们不可能深 入的学习游戏技巧。消费者不会花几个小时去研究一个3元的手动操作的游戏。保持游戏 的简单是最基本的要求。可中断性:多任务
6、处理是手机生活方式的基本特征。手机用户常常在任务(如等一个 电子邮件或者等车)之间有一小段时间。而游戏、日历管理、通讯和工作数据访问使用的 是同一个设备。所以一个好的手机游戏应该提供短时间的娱乐功能,并且允许用户在游戏 和工作模式之间顺利切换。基于订阅:手机游戏的盈利成功取决于他们巨大的使用量。一开始开发和设计每个游 戏都是昂贵的。如果一个手机游戏开发者要赢利的话,重要的是:同一个游戏引擎,多个 标题,基本的故事情节类似。基于订阅的游戏是不断产生收入的最好方法。丰富的社会交互:不管一个游戏设计得多好,只要玩家找到了它的根本模式或者玩完 了所有的游戏路径很快就会厌烦这个游戏。对于一个基于订阅的游
7、戏,重要的是与别的玩 家合作以增强所玩游戏的智力和随机性。在今天纷繁复杂的多玩家游戏中具有丰富社会交 互的游戏证明是成功的。利用手机技术的优点:巨额的手机技术研发费用都花在提高设备和网络的可用性和 可靠性上面。因此,手机设备硬件和网络协议与桌面/控制台世界(如全球定位系统(GPS) 扩展、条形码扫描仪、和短消息服务(SMS)/多媒体信息服务(MMS)通讯)有着非常大的差 别。好的手机游戏应该利用那些更新的设备特征和网络基础设备的优点。1.4 本游戏背景介绍在抗战中,由国民政府领导的中国空军是所有国民党军队中抗战最为彻底,也最为英 勇的部队,虽然开战之初力量悬殊,但是面对穷凶极恶的日本侵略者,他
8、们亳不畏惧,视 死如归,全力以赴投身到民族救亡的伟业中去,用自己的鲜血和生命谱写了中华民族最为 豪迈的诗篇。自一九三二年二月五日“一 二八”事件始,至一九四五年八月十四日止, 抗战期间,共出动飞机一千一百二十八批,八千八百四十七架次,击落敌机五百二十九架, 击伤敌机一百一十架,炸毁敌机二百二十七架。同时,中国空军空战中一共牺牲空勤人员 六百六H一名。我至今仍然清楚的记得,在抗日战争即世界反法西斯战争胜利50周年的时候,我在 一本描述抗战空军的书里第一次看到阎海文烈士那年青的面孔时所带来的震撼,第一次看 到高志航、沈崇海等空军烈士的事迹时所带来的感动,第一次听说碧山空战时的无奈。时至今日,已经很
9、少有人能够记得在中国的天空献身的抗日英雄们,我只能引用下面 这句话来表达我的心情:“你们的名字无人知晓,你们的业绩与世长存! ”我的这款游戏取名为览桥风光,以纪念从览桥中央航校走出的英雄们。1.5 本章小结引言和第一章中介绍了手机在无线应用方向的当今概况,J2ME的相关内容,分析了 J2ME 在手机软件开发中起的重要作用,描述了本论文的相关背景。2开发环境及相关技术的介绍1.1 开发环境操作系统:Microsoft Windows XP程序语言:Java 2开 发包:Java(TM) 2 Standard Edition (5.0)Sun Micro. J2ME Wireless Tool K
10、it 2.2IDE:Eclipse 3.011.2 JaVa语言特点1 .平台无关性JaVa引进虚拟机原理,并运行于虚拟机,实现不同平台之间的JaVa接口。JaVa的数 据类型与机器无关。2 .安全性JaVa的编程类似C+,但舍弃了 C+的指针对存储器地址的直接操作,程序运行时,内 存由操作系统分配,这样可以避免病毒通过指针入侵系统。它提供了安全管理器,防止程 序的非法访问。3 .面向对象JaVa吸收了 C+面向对象的概念,将数据封装于类中,实现了程序的简洁性和便于维 护性,使程序代码可以只需一次编译就可反复利用。4 .分布式Java建立在TCP/IP网络平台上,提供了用HTTP和FTP协议传
11、送和接收信息的库函数, 使用其相关技术可以十分方便的构建分布式应用系统。5 .健壮性JaVa致力与检查程序在编译和运行时的错误,并自动回收内存,减少了内存出错的可 能性。JaVa取消了 C语言的结构、指针、MefinC语句、多重继承、got。语句、操作符、 重载等不易被掌握的特性,提供垃圾收集器自动回收不用的内存空间。1.3 关于 ECLIPSEEclipse是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只 是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse附带了一 个标准的插件集,包括Java开发工具(JaVa Development Tools
12、, JDT) o虽然大多数用户很乐于将Eclipse当作Java IDE来使用,但Eclipse的目标不仅 限于此。Eclipse 还包括插件开发环境(Plug-in Development Environment, PDE),这 个组件主要针对希望扩展Eclipse的软件开发人员,因为它允许他们构建与Eclipse环 境无缝集成的工具。由于Eclipse中的每样东西都是插件,对于给Eclipse提供插件, 以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场 所。这种平等和一致性并不仅限于Java开发工具。尽管Eclipse是使用Java语言开 发的,但它的用途并不
13、限于Java语言;例如,支持诸如C/C+、COBOL和Eiffel等编 程语言的插件已经可用,或预计会推出。Eclipse框架还可用来作为与软件开发无关的其 他应用程序类型的基础,比如内容管理系统。ECliPSe是一个开放源代码的、基于Java的 可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开 发环境。2. 4 关于 WireIeSS Tool KitWTK(Wireless Tool Kit)是SUn公司针对J2ME推出的用于手机和Palnl等移动设备的 开发包,是除手机厂商的专用开发包外唯一的手机模拟器开发包。它通用性高,开发出的 应用程序可保证能运行在大部
14、分设备上,而不像专用厂商具有一定的不兼容性。虽然它没 有强大的功能和完善的调试手段,但它提供运行模拟器的最基本组件,是其他IDE需集成 采用的必备元素。3. 5 Java Appication Manager手机中负责调配程序运行资源的管理后台是Java Application Managero它所使用的 传输媒体可以是红外线、网络、以及其他可用来传输的媒体。JaVa Application Manager 会从网络上下载代表该APPIiCatiOnSUite的JAR档,接着在手机上安装此MIDletSUite, 然后在手机开始执行该应用程序。4. 6本章小结:第二章介绍了 JaVa语言的特点
15、、本程序的开发环境及其相关工具的原理和使用。3程序结构、思想和相关技术3.1 本程序需要解决的主要技术问题1 .游戏程序是一项精度要求很高的程序系统,因为其代码利用率很高。一个实时运 行的最终作品,每秒都会运行成千上万行程序,绘图事件、键盘事件都会以极高的频率在 后台等待响应,若有丝亳的差别都将很容易导致程序在运行不久后可能出现严重错误,甚 至死循环。因此,其逻辑设计应当相当严谨,需将所有可能发生的事件及意外情况考虑在 设计中。2 .游戏中为了美观,适用性强,可能需要采用外部文件引入的图片贴图,有关贴图, 在MIDP2.0中提供了用于增强游戏功能的game包,使得解决静态或动态、画面背景、屏
16、幕刷新的双缓冲等都有较好的解决方案。3 .玩家飞机的运行可以通过键盘响应事件控制,但敌方则因为是自动运行,就需要有一定的智能性;敌人飞机的运行算法也要进行相关的设置,已免游戏过于简单。4 .对于双方发射的子弹应该赋予不同的速度,同时,程序应该设定敌人飞机的子弹不 与敌人的飞机进行碰撞检测,已增加游戏的可玩性。5 .双方的飞机在前进时也需要考虑到是否碰撞到对方飞机,以免重叠运行,造成许 多物理上不可能的情况,缺乏真实感。每一次刷新页面、每前进一步都需要进行相关的碰 撞检测。6 .为了增加界面的美观,在程序中添加了白云。由于手机屏幕大小有限,所以白云的 数量和出现的位置要经过相关的设置,才能实现白云不规则出现的效果。7 .游戏的地图不可能通过绘图来解决。否则,不仅难于控制和处理过多的元素,也 会因过多