ImageVerifierCode 换一换
格式:DOCX , 页数:53 ,大小:2.75MB ,
资源ID:11161969      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-11161969.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于Android系统的打气球游戏的设.docx)为本站会员(b****1)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

基于Android系统的打气球游戏的设.docx

1、基于Android系统的打气球游戏的设毕业设计说明书基于Android系统的打气球游戏的设计与实现 张越计算机与科学技术学院0806034137学生姓名: 学号: 计算机科学与技术学 院: 于一专 业: 指导教师: 2012年 16月基于Android系统的打气球游戏的设计与实现摘要随着智能手机一步步走进普通人的生活,它将成为人们获取信息的主要设备。因此,手机的娱乐应用服务将会有很大的发展空间,游戏也是其中之一3。本系统主要是实现基于Android的打气球,打气球是一款来自红白机时期就非常盛行的游戏,其设计目的是训练人的应变能力。打气球这是一款简单的射击类游戏,通过主菜单界面选择进入不同模式进

2、行游戏。游戏中有几种不同颜色的气球通过按屏幕发射弓箭射击气球,射击不同颜色的气球会得到不同的分数,当时间达到一定的时候会根据所得分数判断输赢,从而进入胜利或失败界面。设计制作射气球游戏的目的在于主要实现一套Android游戏开发的解决方案,解决目前在Android游戏开发中所面临的几大问题。主要有游戏的关卡切换,游戏地图数据结构的实现、应用多种手机内置传感器进行游戏控制、游戏动画的实现、基于图形的碰撞检测、数据在手机系统和实现。解决这些在Android游戏开发中所共同面临的问题,对于Android游戏开发效率与Android游戏的质量有着极大的帮助作用。随着计算机游戏的发展,很多编程爱好者基于

3、该游戏的思想开发出了各种版本、各种类型的飞机游戏。这其中也包括很多手机版本的实现,伴随着Android SDK技术的不断发展,一些基于Android应用也不断推陈出新,很快推飞机大战便进入了千家万户。此Android飞机大战是基于Android SDK4.0基础上设计的,主要分为游戏开场动画模块、游戏操作模块、道具制造模块、分数统计模块四个功能模块的设计与实现。本文首先论述了android系统的背景和研究现状,接着简要的介绍了android的技术及对android分析,并且介绍了android应用程序的结构。在程序开发中,采用了先设计好游戏的类框架后 Design and implementa

4、tion of the Ace game based on Android SummaryAs smartphones step into the lives of ordinary people , it will become the primary device for people to obtain information . Therefore , mobile entertainment applications will have much room for development , the game is one of them . The system is Androi

5、d -based ace , aircraft from World War II is a very prevalent during the NES game , which is designed to train people s resilience. This is a classic aircraft flight shooting game , beautiful brilliant picture , the overall environment is mainly around the space -based, high-fidelity sound, the play

6、ers presented a different shooting experience. Simple touch-screen operation , touch and hold the random one place , move around, will automatically attack enemies , evade enemies can move up and down . Players in the game have to do is drive the latest fighters , launched the attacks to the enemy h

7、eadquarters. This requires players to clever use of limited space and access , reasonable arrangements for the aircrafts position was likely to complete the task. With the development of computer games , a lot of programming enthusiasts based on the idea of the game developed various versions , all

8、types of aircraft game. This includes a lot of phone version of the achievement , along with the continuous development of Android SDK technology , a number of Android-based applications have continued to emerge , and soon World War II aircraft will be pushed into millions of households. This is the

9、 Android SDK4.0 Android aircraft on the basis of the design based on the initial interface is divided into the game , sound modules, game modules, module manufacturing aircraft shells of four modules design and realization .This paper first discusses the background and status of android system , and

10、 then a brief introduction to the technology and analysis for android android , and describes the structure of android applications. In program development , designing a good game with a first class frame, and then realize the function of each class will be realized in accordance with the code and w

11、rite .Keywords:android games, android aircraft ace, smartphones 目录1 引言 11.1 系统简介 11.2 Android游戏的研究现状 11.3 关于飞机大战游戏设计 21.3.1基本思想 21.3.2基本结构 31.3.3适用条件 32 开发环境及相关技术 42.1 开发环境 42.2 相关技术与工具 42.2.1 Eclipse 42.2.2 JDK 42.2.3 ADT 42.2.4碰撞检测技术 52.2.5 SurfaceView 53 需求分析 63.1 系统功能需求 63.1.1 业务需求分析 73.1.2 用户需求

12、分析 73.1.2 功能需求分析 73.2 功能划分概图 94 概要设计 104.1 总体设计 104.1.1 系统流程 104.1.2 系统详细结构 114.2 模块设计概述 124.2.1 开场动画模块 124.2.2 道具制造模块 124.2.3 游戏操作模块 134.2.4 分数统计模块 134.3 数据结构及接口定义 145 详细设计 205.1 开场动画模块 205.1.1 问题描述 205.1.2 问题分析 205.1.3 实现方法 215.2 道具制造模块 245.2.1 问题描述 245.2.2 问题分析 245.2.3 实现方法 245.3 游戏操作模块 285.3.1 问

13、题描述 285.3.2 问题分析 285.3.3 实现方法 285.3 分数统计模块 355.3.1 问题描述 355.3.2 问题分析 355.3.3 实现方法 356 系统测试 376.1 软件测试的原则 376.2 测试的方法 376.3 本系统的测试 386.3.1 测试用例的设计 386.3.2 测试用例总结 437 结论 44参考文献 45致谢 461 引言1.1 系统简介随着社会的发展,人们的工作压力与日俱增。与此同时相应的减压放松的方式也慢慢发生了变化。人们更趋于在家或者工作闲余时间以电子游戏的方式达到娱乐的目的。一次,也就意味着,电子游戏的利润空间和发展空间是十分宽广的3。飞

14、机大战是一款来自红白机时期就非常盛行的游戏,其设计目的是训练人的应变能力。飞机大战这是一款经典飞行射击类游戏,精美绚丽的画面,整体环境主要还是围绕太空为主,高保真的音效,为玩家呈现一场不一样射击体验。简单的触屏操作,触屏按住随意一个地方,左右移动,便可自动攻击敌人,上下移动亦可躲避强敌。玩家在游戏中要做的就是驾驶着最新战机,向敌人的总部发起了冲击。本游戏利用Android开发语言,完成一个基于Android的飞行战斗类游戏开发。在该游戏中,加入对应的游戏策略模型,游戏声音,开场动画,计分分,关卡选择,等功能。创建友好的UI界面,较强的游戏可玩性,操作的友好性。并利用游戏设计原则,提高游戏的智能

15、,增强游戏的吸引力3。 1.2 Android游戏的研究现状Android一词本意是指机器人,同时也指Google于2007年11月5日推出的开源手机操作系统。Android基于Linux平台,由操作系统、中间件、用户界面和应用软件组成,号称是首个为移动终端打造的真正开放和完整的移动软件。它是由一个由30多家科技公司和手机公司组成的开放手机联盟共同研发,将大大降低新型手机设备的研发成本,完全整合的全移动功能性产品成为开放手机联盟的最终目标5。自2007年Google发布Android系统1.0之后,各大手机生产厂商纷纷将目光投向了最具发展潜力的Android系统,并陆续推出了各种品牌的搭载An

16、droid系统的智能手机15。时隔四年,Android手机在手机市场中占的市场份额正以非常迅猛的速度上升:2010年市场份额:Symbian 36.6%、Android 25.5%、iPhone 16.7、windows Mobile 2.8%、linux 2.1%。Nokia的Symbian系统在Android系统的冲击下,正在从手机市场中的王者慢慢被挤下来。在未来的几年内,Android手机必定会占据手机市场的主要份额,所以在这种形式下,Android应用的前景也必定是前景一片大好。 现如今Android的市场份额占总体智能手机市场份额的50%以上,相对于前几年来说,其发展势头势不可挡。以

17、至于越来越多的开发商加入了Android应用开发的行列7。在2010年,Android市场份额仅占4.7%左右,并其市场只有不到20000个应用程序。但在2011年初,这个数字就已经超过了25万字大关。而随着越来越多的应用的诞生,由于其的多元化和普遍性越来越高,其发展趋势已开始渐渐逼近世界智能手机龙头苹果公司推出的ios系统。而在多个Android的应用程序排行榜中,无论是按照使用量或者人气,或者收入,70%以上的应用排行榜榜首都是游戏。可见,Android游戏应用已渐渐深入人心。Android手机游戏应用开发已渐渐占据市场主流12。现如今,电子游戏已慢慢渗透进人们生活中,并在扮演着越来越重的

18、角色。可以说,随着它的迅猛发展,现今的电子游戏已经不仅仅是一种娱乐,而是形成了一种文化现象。随着社会的发展,人们的工作压力与日俱增。与此同时相应的减压放松的方式也慢慢发生了变化7。人们更趋于在家或者工作闲余时间以电子游戏的方式达到娱乐的目的。一次,也就意味着,电子游戏的利润空间和发展空间是十分宽广的。而作为现代人不可或缺,随身携带的手机设备,则作为一类游戏的载体,有着广泛的发展空间。而Android作为主流智能手机系统之一,研究和开发相应应用游戏是时代发展的趋势13。1.3 关于飞机大战游戏设计1.3.1基本思想飞机大战这是一款经典飞行射击类游戏,精美绚丽的画面,整体环境主要还是围绕太空为主,

19、高保真的音效,为玩家呈现一场不一样射击体验。简单的触屏操作,触屏按住随意一个地方,左右移动,便可自动攻击敌人,上下移动亦可躲避强敌。玩家在游戏中要做的就是驾驶着最新战机,向敌人的总部发起了冲击。这就要求玩家巧妙的运用有限的空间和通道,合理的安排飞机的位置才可能完成任务。1.3.2基本结构本游戏开发设计共分为游戏开场动画、声音模块、游戏进行模块、道具制造模块、分数统计模块五个模块进行设计开发。通过对Base界面类的继承实现了游戏开场动画以及游戏资源文件的加载,当获取用户点击(单指)游戏开始时,游戏进入主界面,此时通过工厂类生产出飞机以及敌机,用户开始控制飞机进行游戏。该设计充分运用java面向对

20、象的原理将所有的飞机建立不同的类用以实现。并且根据玩家的进度适当的出现道具,或是增强玩家飞机的子弹能力,或是赠予玩家刷屏炸弹,并实时对玩家计分。当玩家驾驶飞机死亡后,将出现游戏统计界面,对玩家的信息进行统计。以此鼓励玩家1.3.3适用条件本次游戏设计可以在Android4.0版本以上的手机运行,能自适应Android手机的各种分辨率。创建友好的UI界面,较强的游戏可玩性,操作的友好性。并利用游戏设计原则,提高游戏的智能,增强游戏的吸引力。由于游戏设计之处考虑过使用cocos2d,但由于相关文档的困乏,并未采用。因此软件运行不如带引擎的游戏运行的流畅,并可能出现不跟手的现象,实属正常。2 开发环

21、境及相关技术2.1 开发环境硬件环境:Intel Core i3 2100 MHz + 4GB RAM软件环境:Windows 7+Eclipse+JDK+ ADT2.2 相关技术与工具2.2.1 EclipseEclipse是著名的跨平台的自由集成开发环境(IDE)。最初主要用来Java语言开发,通过安装不同的插件Eclipse可以支持不同的计算机语言,比如C+和Python等开发工具。Eclipse的本身只是一个框架平台,但是众多插件的支持使得Eclipse拥有其他功能相对固定的IDE软件很难具有的灵活性。许多软件开发商以Eclipse为框架开发自己的IDE。2.2.2 JDKJDK(Ja

22、va Development Kit,Java开发包,Java开发工具)是一个写Java的applet和应用程序的程序开发环境。它由一个处于操作系统层之上的运行环境还有开发者编译,调试和运行用Java语言写的applet和应用程序所需的工具组成。JDK(Java Development Kit)是Sun Microsystems针对Java开发员的产品。自从Java推出以来,JDK已经成为使用最广泛的Java SDK(Software development kit)。JDK由一个标准类库和一组建立,测试及建立文档的Java实用程序组成。其核心Java API是一些预定义的类库,开发人员需要用

23、这些类来访问Java语言的功能。Java API包括一些重要的语言结构以及基本图形,网络和文件I/O。一般来说,Java API的非I/O部分对于运行Java的所有平台是相同的,而I/O部分则仅在通用Java环境中实现1。2.2.3 ADT即Android Development Tools,在Eclipse编译IDE环境中,需安装ADT (Android Developer Tools)Plug-in,这是Android在Eclipse上的开发工具。目前Android开发所用的开发工具是Eclipse,在Eclipse编译IDE环境中,安装ADT,为Android开发提供开发工具的升级或者变

24、更,简单理解为在Eclipse下开发工具的升级下载工具2。其中还包括SDK(Software Development Kit),一般是一些被软件工程师用于为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件的开发工具的集合。在Android中,它为开发者提供了库文件以及其它开发所用到的工具。简单理解为开发工具包集合,是整体开发中所用到的工具包,如果你不用Eclipse作为你的开发工具,你就不需要下载ADT,只下载SDK即可开发。2.2.4 碰撞检测技术碰撞检测在2D/3D游戏中至关重要,好的碰撞检测要求人物在场景中可以平滑移动,遇到一定高度内的台阶可以自动上去,而过高的台阶则把人挡住,遇

25、到斜率较小的斜坡可以上去,斜率过大则把人挡住,在各种前进方向被挡住的情况下都要尽可能地让人物沿合理的方向滑动而不是被迫停下。在满足这些要求的同时还要做到足够精确和稳定,防止人物在特殊情况下穿墙而掉出场景7。2.2.5 SurfaceView可以直接从内存或者DMA等硬件接口取得图像数据,是个非常重要的绘图容器。它的特性是:可以在主线程之外的线程中向屏幕绘图上。这样可以避免画图任务繁重的时候造成主线程阻塞,从而提高了程序的反应速度。在游戏开发中多用到SurfaceView,游戏中的背景、人物、动画等等尽量在画布Canvas中画出。3 需求分析3.1 系统功能需求3.1.1 业务需求分析虽然现在市

26、面上存在着各种各样的游戏版本,可是飞机大战其市场还是相当大的,比如微信飞机大战。因为它的特殊在于它能吸引人更深入,爱不释手.随着游戏速度不断加快,其刺激性也更强.可以说该游戏的优势在于它的简单易行,不论是手机,还是小游戏机,都能很快顺利的运行.对于在外忙碌的人,不可能花费大量时间在娱乐上,大型游戏是行不通的,这样的小游戏刚好迎合了他们的需求. 飞机大战游戏基于JAVA平台编写,采用Android技术开发的一款手机游戏。手机游戏程序是一项精度要求很高的程序系统,因为其代码利用率很高。一个实时运行的最终作品,每秒都会运行成千上万行程序,绘图事件、键盘事件都会以极高的频率在后台等待响应,若有丝毫的差

27、别都将很容易导致程序在运行不久后可能出现严重错误,甚至死循环。因此,其逻辑设计应当相当严谨,需将所有可能发生的事件及意外情况考虑在设计中。JAVA是基于虚拟机的半解释型编译系统,其执行效率较C+等完全编译后的程序会低很多,程序如果不进行精简和优化,将可能导致运行的不流畅。游戏的结束、开始、动态信息画面作为构成一个程序都是必不可少的重要部分。良好的用户界面更是吸引用户的硬指标,相关的美术构图和人性化设置也需要有一定的考虑。 3.1.2 用户需求分析用户需求分析指在系统设计之前和设计、开发过程中对用户需求所作的调查与分析,是系统设计、系统完善和系统维护的依据。一个的好的用户需求分析可以让系统变的更

28、加完善,能贴合玩家的真实需求,从而达到一个游戏与玩家完全契合的水平。本项目中用户的需求如下图所示: 图 3.1 用户需求用例图游戏开发成功后,最终用户为各个年龄段的人群,用户范围相当广泛。但是用户对软件产品也有一定的要求: (1)简单易学 时间不管对于谁来说都是宝贵的,用户不会愿意花大量时间去学习使用一款 软件。一款软件如果操作界面不友好,让用户难以上手使用,那就说明这款软件开发得不够成功,从而失去大量的用户。所以本项目必须拥有良好的交互界面,让用户安装之后就能进行游戏。 (2)运行稳定 一款软件设计得不够好,那么就有可能在运行的时候出现一些不可预料的错误从而造成软件崩溃。如果用户正在游戏突然

29、软件崩溃了,无疑会让用户感到非常不舒服,有可能就把软件给卸载了,这样也会失去很多用户。 (3)操作简便 用户不是程序员,他们不知道程序的内部逻辑。所以程序员必须提供给用户便捷的操作接口来供用户操作,灵活便捷的操作性直接影响了一款软件的好坏。软件是做给用户使用的,所以一切都要站在用户的角度来看问题。 3.1.3 功能需求分析本项目是一个运行在Android手机上的游戏,玩家可以从手机触屏开始游戏,操控游戏,结束游戏; 玩家开始游戏后,在手机屏幕上绘制出一架玩家飞机以及多架敌机,玩家飞机可以响应用户的手指,随手指移动,并不断的发出子弹攻击敌机,敌机在屏幕上段随机出现,并沿着垂直线以一定的速度下落至

30、屏幕下端,如果敌机碰上玩家飞机,那么游戏结束。同时生产一个太空幕布不断的下移。当玩家飞机的子弹碰上敌机时会根据敌机类型以及被攻击次数来选择是否坠毁,不论是玩家飞机坠毁或者敌机坠毁,都会出现爆炸画面。 当游戏结束后,显示并保存玩家在游戏中所获得的分数。 本Android飞机大战游戏,总体分为以下几个四模块:(1)开场动画模块本模块用于用户登陆游戏的设计,该模块具有初始画布功能,初始化声音功能,同时保持屏幕全屏并且屏幕常亮,能绘制飞机的过场动画以及开始游戏和退出游戏按钮,通过Java线程及Android线程知识,能通过不同的按钮点击返回不同的参数用以判断是进入游戏主界面还是退出游戏,如果没有操作的

31、话,则一直停留在此界面,并且不停的播放飞机大战的过场动画,该模块设计精良,界面美观大方,飞机过场动画流畅。(2)道具制造模块本模块用于在用户进入游戏主界面时,制造出游戏运行时所需的道具,这些道具包括大型敌机、BOSS子弹、BOSS敌机、中型敌机、导弹物品、玩家飞机的子弹(两种威力)、玩家飞机、小型敌机。该模块为这些道具初始化了图片资源以及绘图方法,并且定义了每个道具的逻辑属性,以方便游戏操作模块、分数统计模块的调用。该模块充分运用java面向对象的知识,合理运用了接口的定义,为每个子弹,飞机都设置了基类,以方便日后对程序进行调整。(3)游戏操作模块本模块为飞机大战游戏核心模块,进入本模块之后,

32、Surface view会描绘出游戏背景幕布,以及玩家飞机,和上方飞来的敌机,本模块要求能监听玩家操作,玩家可以通过触摸屏触点的位置不同来控制飞机。在玩家飞机出现时飞机连续发子弹,只要飞机出现,就持续发射。飞机具有多样性供玩家选择,飞机可以升级子弹威力、飞机可以改变子弹类型、还能出现大招即飞机有清屏导弹。游戏操作模块定义的敌机为上下飞行的,都是统一从屏幕上方飞下来,敌机不具备发射子弹功能,但是当敌机碰撞到玩家飞机后,玩家飞机死亡。当敌机只要出现在子弹图片范围内,根据子弹威力选择掉血或者爆炸。在游戏进行中,会出现音效,每次玩家飞机发射子弹是都会出现声音,当飞机爆炸是也会出现相应的音效。(4)分数统计模块在游戏进行中时,本模块进行实时的分数统计,根据不同的击落类型给予玩家不同的分数,并在玩家游戏结束时,

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2