学士学位论文基于安卓的飞机大战游戏.docx
- 文档编号:8981256
- 上传时间:2023-02-02
- 格式:DOCX
- 页数:38
- 大小:422.10KB
学士学位论文基于安卓的飞机大战游戏.docx
《学士学位论文基于安卓的飞机大战游戏.docx》由会员分享,可在线阅读,更多相关《学士学位论文基于安卓的飞机大战游戏.docx(38页珍藏版)》请在冰豆网上搜索。
学士学位论文基于安卓的飞机大战游戏
郑州旅游职业学院
毕业设计(论文)
基于安卓的飞机大战游戏
姓名:
学号:
年级:
14级
系别:
信息工程系
专业:
计算机网络
指导教师:
2016年9月30日
毕业设计(论文)诚信声明书
本人声明:
本人所提交的毕业论文《基于安卓平台的飞机大战游戏》是本人在指导教师指导下独立研究、写作的成果,论文中所引用他人的无论以何种方式发布的文字、研究成果,均在论文中加以说明;有关教师、同学和其他人员对本文的写作、修订提出过并为我在论文中加以采纳的意见、建议,均已在我的致谢辞中加以说明并深致谢意。
本论文和资料若有不实之处,本人承担一切相关责任。
论文作者:
(签字)时间:
年月日
指导教师已阅:
(签字)时间:
年月日
郑州旅游职业学院
毕业论文(设计)任务书
毕业设计题目:
基于安卓平台的飞机大战游戏
学生姓名:
专业班级:
14计网1班
学号:
20141924
主要任务:
以面向对象的程序开发语言Java及Eclipse为开发工具,开发基于智能手机Android系统之上的飞机大战游戏,实现提供敌机的类模块,提供子弹的类模块,主界面模块,天空背景模块,检测子弹与敌机碰撞模块,检测,敌机与我拥有的战机碰撞木块等。
需要提交的文档:
1.毕业设计(论文)诚信声明书;
2.毕业设计(论文)开题报告;
3.毕业设计(论文)(包括:
封面、论文题目、目录、摘要、关键词、正文、谢辞、参考文献等);
4.以上内容电子稿1份,打印稿一式2份。
发出任务书日期:
完成期限:
指导教师:
系部主任:
摘要
在科技文化高速发展的今天,人们对电子游戏娱乐的需求也日益高涨。
从最初的运行于掌上游戏机的“贪吃蛇”和“俄罗斯方块”到如今风靡全世界的网游无不体现了游戏的魅力。
而随着智能手机终端的涌现,更是为电子游戏提供了高速发展的平台。
特别是iPhone智能手机和Android智能手机的面世,为掌上休闲游戏与应用提供了更完善的的开发环境。
本论文主要阐述以面向对象的程序开发语言Java及Eclipse为开发工具,而基于智能手机Android系统之上的飞机大战游戏。
首先简要介绍课题的研究背景、目的及意义,Android的发展历程、当前国内外的发展现状。
然后介绍了Android平台开发环境及环境搭建,最后讲述了基于Android飞机大战游戏功能的实现。
其功能模块如下:
提供敌机的类模块,提供子弹的类模块,主界面模块,天空背景模块,检测子弹与敌机碰撞模块,检测,敌机与我拥有的战机碰撞木块等,除此以外还为用户提供更加人性化的设计和方便人员的操作流程。
由于Android逐渐成为智能手机技术的主导,相信其基于Android的飞机大战游戏将会受到更大的欢迎。
关键词:
安卓;游戏;飞行射击;飞机
Abstract(英文摘要)
Inthecultureofscienceandtechnologyrapiddevelopmenttoday,thepeopleofelectronicgamesandentertainmentneedsalsorising.Fromtheinitialrunonthehandheldgameofthe"snake"and"Tetris"tothenowpopularallovertheworldonlinegamesembodythecharmofthegame.Withtheintelligentmobilephoneterminalemergeinlargenumbers,isfortheelectronicgameprovidesaplatformforrapiddevelopmentof.EspeciallyiPhoneintelligentmobilephoneandAndroidintelligentmobilephoneavailable,forpocketcasualgamesandApplicationsprovidesabetterdevelopmentenvironment..
ThisthesismainlyexpoundsJavawithobjectorientedprogramminglanguageandEclipseasthedevelopmenttool,andtheplanebasedontheintelligentmobilephoneAndroidwargames.Firstbrieflyintroducedtheresearchbackground,purposeandsignificance,thedevelopmentofAndroid,thecurrentdomesticandforeigndevelopmentpresentsituation.AndthenintroducedtheAndroidplatformdevelopmentenvironmentandtheenvironment,finallytellsthestoryoftherealizationofthefunctionofAndroidplanewargames.Itsfunctionmoduleisasfollows:
enemyplanesflyinginandoutofclassmodule,providesthebulletclassmodule,maininterfacemodule,theskybackgroundmodule,detectbulletcollisionwiththeenemyaircraftmodule,detection,theenemyaircraftcrashwithmyownwood,etc.,inadditionalsoprovidesuserswithmorehumanizeddesignandconvenientoperation.BecausetheAndroidsmartphonetechnologyhasbecomethedominantgradually,believethattheplanewargamebasedonAndroidwillbemorewelcome.
KeyWords:
Android;Game;Flightshooter;Airplane
第1章绪论
1.1系统研究的背景及意义
在手机游戏的早期,大多数开发者都是想要玩转设备、学习技巧和快速攻关的狂热分子。
但是,随着更多的开发者加入这个行业,手机游戏已经进化成涉及到专业设计师、构造师、开发者、产品经销商、律师、和艺术家在内的主导产品。
这是行业走向成熟的必然趋势。
尽管在某人的业余时间内要开发和推销简单的游戏更加困难,但是更多的专业商店将为许多人提供更多的就业机会。
从手机软件的平台的种类,游戏玩家的心理,未来移动通信服务终端的发展,3G手机网络对手机软件游戏的影响,还有从J2ME手机游戏开发平台介绍的手机游戏的趋势和未来这种游戏的运营模式,这几方面的内容来看,手机游戏是未来游戏发展的趋势,其移动性、互连性,必定会带来网络游戏的风暴,这就使我们对这一个新兴的领域有了一定的概念,对指导我们建立一个手机软件开发培训的知识结构有一定的帮助,也是我们的一个发展契机。
本文基于Android系统设计一种轻松休闲的游戏软件,让用户可以使用手机轻松娱乐,因此项目研究和软件开发具有重要的实际应用价值。
1.2国内外的发展现状
手机游戏(MobileGame或WirelessGame),是指消费者利用随身携带并具有无线网络联机功能的智能移动终端设备,能随时随地来进行的游戏。
手机游戏最大的特点是其随时随地进行游戏的便利性。
这些年来,手机游戏市场有了很大的发展,手机游戏已成为使用率最高的手机娱乐应用,占到各种手机娱乐应用比例的78.4%。
在日本,手机游戏市场经历多年的稳定增长,市场规模已经超过了850亿日元[1]。
在美国,手机游戏作为美国手机用户最喜欢的移动应用之一,在iPhone和Android等智能终端推出后发展迅速。
而在中国,根据易观智库产业数据库最新发布的《2010年第4季度中国手机游戏市场季度监测》数据显示,我国2010年手机游戏市场规模已达到32.9亿元,继续保持了较快的发展。
2011年以来Android实现了计算机诞生以来最快速度的增长,目前Android以每天85万新增激活数的速度快速征服世界,成为世界范围内占有率最高的智能手机操作系统。
根据comScore的统计,2012年第一季度Android在北美的市场占有率又增长了3.7%达到51%;而根据赛诺的调研报告,Android系统在中国
的市场份额高达74.7%,而Android游戏在诞生之处就被很多人看好,便宜的价格,小巧的外观,游戏资源丰富,相对于传统主机来说,这些都是Android游戏机的优点,于是一批Android游戏陆续出现了,但事实证明Android游戏并非当初描绘的那样美好,开放的Android开发平台,导致了游戏质量和数量不那么尽如人意,所以在游戏的设计与研发过程中游戏的质量关一定要把好。
1.3主要研究的内容
本设计项目主要完成一种基于Android开发的一款游戏软件。
项目研究和软件设计遵循软件工程的方法,从需求分析,系统分析,概要设计,详细设计,软件编码调试,到验证测试,完成本软件整个过程的设计开发。
项目研究和软件设计的具体任务包括:
(1)加深面向对象编程思想,巩固Java语言的设计模式,掌握Android开发的环境搭建。
(2)学习和研究Android平台环境和软件接口的设计。
(3)学习和研究Android平台多线程。
(4)学习和研究Android系统中用户界面的动态显示。
(5)学习并掌握Sqlite数据库。
(6)学习并掌握Android平台下动态游戏开发的重要知识点:
SurfaceView。
1.4本章小结
详细介绍了Android游戏开发的国内外现状,以及本论文主要研究的方向和论文的整体结构,从本章中能够清楚的了解本论文的整体架构,对以后的各细节描述都有清晰的认识。
第2章用户需求分析
2.1系统的架构描述
本项目主要面向游戏爱好者,要求项目不会占用太大的资源,并能够尽量沿用原有的相对成熟的java技术,与Android系统进行良好的整合。
本设计主要讲述了飞机大战游戏的基本功能和基于Android平台的软件开发、接口的设计方法。
设计最终达成了开始游戏、关闭音效、查看得分、退出游戏等Android游戏的基本功能。
并且系统能够正常运行,各个页面交互性较好。
在整个设计中基本运用基础的Android进行功能编程,其中主要利用了SurfaceView实现了动态界面显示,实现了飞机飞行和发射子弹等效果。
在系统规划中先后系统功能结构图分析了系统所需的各种数据,详细的展现了系统的各个功能模块并给出了主要功能运行界面图。
该游戏软件目前已有比较完善的管理与使用功能。
对学习和工作中的学生和工作人员在闲暇时间放松的好软件。
本系统主要采用模型-视图-控制器MVC架构的设计模式。
MVC架构是"Model-View-Controller"的缩写,中文翻译为"模型-视图-控制器"。
MVC应用程序总是由这三个部分组成。
Event(事件)导致Controller改变Model或View,或者同时改变两者。
只要Controller改变了Models的数据或者属性,所有依赖的View都会自动更新。
类似的,只要Controller改变了View,View会从潜在的Model中获取数据来刷新自己。
整个系统的物理架构如下:
界面SurfaceVIe,模型为常用的子弹飞机类,Controller为SurfaceHolder.callback结构中的回调函数。
本系统是应用Android平台,Android是一个移动设备的软件平台,由Linux+Java构成的开源软件,提供包括SDK、KeyApps、Middleware、LinuxKernel四个部分在内的全套手机软件方案。
开放了基于Linux内核以上的开发工具,从而保证了内容的可移植性和多样性。
Android平台为我们开发应用程序提供了一套很好的框架,我们可以在这个平台的基础上开发不同的应用程序,也可以开发新的组件供应用程序调用。
Android会同一系列核心应用程序包一起发布,该应用程序包包括email客户端,SMS短消息程,日历,地图,浏览器,联系人管理程序等。
所有的应用程序都是使用JAVA语言编写的,本项目也是由java语言编写。
开发人员也可以完全访问核心应用程序所使用的API框架。
该应用程序的架构设计简化了组件的重用。
任何一个应用程序都可以发布它的功能块并且任何其它的应用程序都可以使用其所发布的功能块(不过得遵循框架的安全性限制)。
同样,该应用程序重用机制也使用户可以方便的替换程序组件。
Android系统架构图如2-1图所示。
图2-1android系统架构图
2.2友好的用户界面
本游戏是直接面对用户的, 要求游戏能够提供良好的用户接口,易用的人机交互界面。
要实现这一点,就要求软件应该尽量使用用户熟悉的术语和提示消息;针对用户可能出现的使用问题,要提供足够的提醒帮助功能,缩短用户对软件熟悉的过程。
本项目采用Android平台,从Android的角度分析,Android的开发概括为两类:
一是系统开发,包括底层Linux内核的裁剪和扩展、硬件驱动的开发和系统移植等,从业人员主要在工作在硬件厂商的公司里。
二是应用开发,主要包括游戏开发、Android互联网客户端开发和工具软件开发。
业内人士预言Android系统将成为手机操作系统领域的“windows”。
一个好的功能强大系统,必须要进行完善而且全面的系统分析和友好设计。
本项目中,之所以能够有计划地进行下去,的确也是缘于良好的系统分析,如若省略这一步直接编程,那难度必然加大,以至于在编程过程中又不得不回过头来进行系统分析,此时必然拖慢进度,打乱整个系统逻辑,其最终的成品也充满变数。
本系统在性能功能上应达到如下需求:
操作简单、界面友好:
完全控件式的页面布局。
游戏的安全性,正在游戏中对可能发生的突发事件做出处理,例如,电话来了,或者有信息等。
软件的响应速度要快,保证用户不会应为等待反馈时间过长而放弃本软件。
软件的可靠性,能够真正的带给游戏者乐趣。
(5)在结构上应具有很好的可扩展性,便于将来的功能扩展和维护。
根据以上功能,该系统主要以Android为操作平台,它提供了很大的自由空间,采用Java为开发语言,使系统开发更加方便快捷,本软件的目标即为成功、完整的体现该系统,让客户满意。
2.3技术选型
项目整体技术选型是这样的,飞机大战游戏开发过程中应用了java技术和AndroidSDK提供的类库,动态界面采用SurfaceView和一些XML文件-,后台控制使用了SurfaceHolder.callback接口的回调方法。
常用的资源文件如子弹,和敌机,战机,背景图都通过ps自己处理,系统开始时就启动新线程,一直运行游戏,知道用户关闭为止。
如下为整体流程图如下图2-2所示。
图2-2技术选型模型图
2.4关键技术和工具简介
(1)IntentIntent负责对应用中一次操作的动作、动作涉及数据、附加数据进行描述,Android则根据此Intent的描述,负责找到对应的组件,将Intent传递给调用的组件,并完成组件的调用。
因此,Intent在这里起着一个媒体中介的作用,专门提供组件互相调用的相关信息,实现调用者与被调用者之间的解耦。
(2)ADT与SDKADT为Android开发工具(AndroidDevelopmentTools)简称,是在强大的、集成的环境EclipseIDE中构建Android应用程序插件。
ADT扩展了Eclipse的功能,让您快速建立新的Android项目,创建一个应用程序的用户界面,加上Android框架的API组件、调试应用程序使用AndroidSDK工具,以便APK分发给应用程序。
SDK即SoftwareDevelopmentKit的缩写,中文即“软件开发工具包”。
广义上指辅助开发某一类软件的相关文档、范例和工具的集合。
它可以简单的为某个程序设计语言提供应用程序接口API的一些文件,但也可能包括能与某种嵌入式系统通讯的复杂的硬件。
(3)SQLite数据库SQLite是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。
它能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,比如Tcl、C#、PHP、Java等,还有ODBC接口,同样比起Mysql、PostgreSQL这两款开源世界著名的数据库管理系统来讲,它的处理速度比他们都快。
SQLite第一个Alpha版本诞生于2000年5月。
至今已经有14个年头,SQLite也迎来了一个版本SQLite3已经发布。
(4)ActivityActivity是Android开发中非常重要的一个基础类。
Activity提供了和用户交互的可视化界面,创建一个Activity一般是继承Activity类,并覆盖Activity的onCreate()方法。
(5)Eclipse与JDKEclipse是一个集成开发环境简称“IDE”,在Eclipse环境下开发JAVA程序可以大大提高效率,它提供的核心框架和可扩展的插件机制给广大的程序员提供了无限的便捷。
JDK(JavaDevelopmentKit)是SunMicrosystems针对Java开发人员的产品,JDK是整个Java的核心,包括了Java运行环境,Java工具和Java基础的类库。
JDK是学好Java的第一步。
(6)SurfaceViewSurfaceView由于可以直接从内存或者DMA等硬件接口取得图像数据,因此是个非常重要的绘图容器,这次我就用两篇文章来介绍SurfaceView的用法。
网上介绍SurfaceView的用法有很多,写法也层出不同,例如继承SurfaceView类,或者继承SurfaceHolder.Callback类等,这个可以根据功能实际需要自己选择,我这里就直接在普通的用户界面调用SurfaceHolder的lockCanvas和unlockCanvasAndPost。
2.5本章小结
本章主要介绍了本系统的技术构架及在实际开发中的用户需求分析,简单的介绍了项目应用的平台和开发环境,并介绍了关键技术的含义。
第3章系统概要设计
系统的概要设计主要是针对系统的总体功能如何设计,如何划分模块,系统的数据库如何设计进行研究。
它为系统的详细设计做铺垫。
在系统的设计过程中起着非常重要的作用。
系统设计是信息开发过程中的另一个重要阶段,在这一阶段中将根据前一阶段逻辑分析的结果,在系统分析报告的基础上,按照逻辑模型的要求,科学合理地进行新系统的设计。
系统设计包含两个方面:
首先是总体结构设计,其次是具体物理模型的设计。
这个阶段的主要目标是将反映用户信息需求的系统逻辑方案转换成可以实施的基于计算机的物理方案,并为下一阶段的系统实施提供必要的技术资料。
本系统采用结构化设计的方法来实现系统总体功能,提高系统的各项指标,即将整个系统合理的划分成各个功能模块,正确地处理模块之间和模块内部的联系以及它们之间的调用关系和数据联系,定义各模块的内部结构,通过对模块的设计和模块之间关系的系统来实现整个系统的功能。
3.1模块的划分
本系统整体划分为四个模块,分别为主界面,即进入游戏的Splash页面,Android游戏软件登录界面,游戏模块,游戏运行中的界面模块,用来处理用户触摸响应,还有得分统计模块,用来存储获的分数。
3.1.1软件模块设计
用户界面是使用者最直接接触的东西,包括是否能够让客户很轻松、方便的使用,操作响应时间、主机连接时间、图片综合质量、首页布局质量、首页信息类型等。
一般来说,一个界面主要由下面几个因素构成:
(1)文字:
文字元素是信息传达的主体部分。
界面中的文字主要包括标题、信息、文字链接几种主要形式。
标题和传统媒体中信息传达的基本作用相同,是内容的简概说明,一般比较醒目、优先编排。
文字作为占据页面重要比率的元素,同时又是信息重要载体,它的字体、大小、颜色和排布对页面整体设计影响极大。
(2)图形:
图形在界面中具有重要作用。
合理的运用图形,可以生动直观、形象地表现设计主题。
网页中常用的图形格式包括jpg和png,这两种格式压缩比高,得到了Android平台的支持,图形元素包括标题、背景、主图、链接图标四种。
(3)界面版式:
版式是界面设计的重要组成部分,它将文字、图形等视觉元素进行组合配置,使页面整体视觉效果美观和谐,便于阅读,操作,实现信息传达的最佳效果。
Android游戏系统的界面设计也是综合了文字,图形等元素。
使每一个功能有文字与图片的共同描述,达到看图就大概知道此键是什么功能的目的,最终的目的还是为了使用者能够快速上手,不至于因为操作的不得当而放弃此系统。
3.1.2软件功能模块
图3-1整体结构图
1 游戏模块:
负责游戏运行的主线程,在一个Android程序开始运行的时候,会单独启动一个Process。
默认的情况下,所有这个程序中的Activity或者Service(Service和Activity只是Android提供的Components中的两种,除此之外还有ContentProvider和BroadcastReceiver)都会跑在这个Process。
一个Android程序默认情况下也只有一个Process,但一个Process下却可以有许多个Thread。
在这么多Thread当中,有一个Thread,我们称之为UIThread。
UIThread在Android程序运行的时候就被创建,是一个Process当中的主线程MainThread,主要是负责控制UI界面的显示、更新和控件交互。
在Android程序创建之初,一个Process呈现的是单线程模型,所有的任务都在一个线程中运行。
因此,我们认为,UIThread所执行的每一个函数,所花费的时间都应该是越短越好。
而其他比较费时的工作(访问网络,下载数据,查询数据库等),都应该交由子线程去执行,以免阻塞主线程。
那么,UIThread如何和其他Thread一起工作呢?
常用方法是:
诞生一个主线程的Handler物件,当做Listener去让子线程能将讯息Push到主线程的MessageQuene里,以便触发主线程的handlerMessage()函数,让主线程知道子线程的状态,并在主线程更新UI。
2 页面布局模块(图形模块):
虽然有的游戏不需要不断的重新绘制屏幕,但是假设你想要的游戏需要不间断的绘制屏幕,这是个简单的概念并且你不需要去关注任何脏标记或者去关注在
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学士学位 论文 基于 飞机 大战 游戏