基于ANDROID系统的游戏APP设计毕业论文.docx

上传人:b****4 文档编号:6582975 上传时间:2023-05-10 格式:DOCX 页数:33 大小:2.36MB
下载 相关 举报
基于ANDROID系统的游戏APP设计毕业论文.docx_第1页
第1页 / 共33页
基于ANDROID系统的游戏APP设计毕业论文.docx_第2页
第2页 / 共33页
基于ANDROID系统的游戏APP设计毕业论文.docx_第3页
第3页 / 共33页
基于ANDROID系统的游戏APP设计毕业论文.docx_第4页
第4页 / 共33页
基于ANDROID系统的游戏APP设计毕业论文.docx_第5页
第5页 / 共33页
基于ANDROID系统的游戏APP设计毕业论文.docx_第6页
第6页 / 共33页
基于ANDROID系统的游戏APP设计毕业论文.docx_第7页
第7页 / 共33页
基于ANDROID系统的游戏APP设计毕业论文.docx_第8页
第8页 / 共33页
基于ANDROID系统的游戏APP设计毕业论文.docx_第9页
第9页 / 共33页
基于ANDROID系统的游戏APP设计毕业论文.docx_第10页
第10页 / 共33页
基于ANDROID系统的游戏APP设计毕业论文.docx_第11页
第11页 / 共33页
基于ANDROID系统的游戏APP设计毕业论文.docx_第12页
第12页 / 共33页
基于ANDROID系统的游戏APP设计毕业论文.docx_第13页
第13页 / 共33页
基于ANDROID系统的游戏APP设计毕业论文.docx_第14页
第14页 / 共33页
基于ANDROID系统的游戏APP设计毕业论文.docx_第15页
第15页 / 共33页
基于ANDROID系统的游戏APP设计毕业论文.docx_第16页
第16页 / 共33页
基于ANDROID系统的游戏APP设计毕业论文.docx_第17页
第17页 / 共33页
基于ANDROID系统的游戏APP设计毕业论文.docx_第18页
第18页 / 共33页
基于ANDROID系统的游戏APP设计毕业论文.docx_第19页
第19页 / 共33页
基于ANDROID系统的游戏APP设计毕业论文.docx_第20页
第20页 / 共33页
亲,该文档总共33页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

基于ANDROID系统的游戏APP设计毕业论文.docx

《基于ANDROID系统的游戏APP设计毕业论文.docx》由会员分享,可在线阅读,更多相关《基于ANDROID系统的游戏APP设计毕业论文.docx(33页珍藏版)》请在冰点文库上搜索。

基于ANDROID系统的游戏APP设计毕业论文.docx

基于ANDROID系统的游戏APP设计毕业论文

基于Android系统的游戏APP设计毕业论文

第1章绪论1

1.1选题背景及意义1

1.2Android手机游戏APP的市场现状2

1.3本文主要容2

第2章Android系统平台概况3

2.1Android操作系统3

2.2Android操作系统特性3

2.3Android操作系统框架结构4

2.3.1Application4

2.3.2ApplicationFramework4

2.3.3LibrariesAndAndroidRunTime5

2.3.4LinuxKernel5

2.4Android应用程序构成5

2.4.1Activity5

2.4.2BroadcastReceiver6

2.4.3Service6

2.4.4ContentProvider6

2.5Android应用程序的生命周期6

第3章系统的整体设计8

3.1数独游戏简介8

3.2游戏策划9

3.2.1欢迎界面的策划9

3.2.2游戏界面的策划9

3.2.3相关资源10

3.3游戏的架构10

3.3.1各类的介绍10

3.3.2游戏的框架简介11

第4章软件的实现13

4.1欢迎界面的实现13

4.1.1KLSDActivity实现13

4.1.2WelcomeView类的实现13

4.1.3WelcomeViewDrawThread类和WelcomeViewGoThread类的实现14

4.1.4HelpView类和AboutView类的实现16

4.2游戏界面相关类的实现17

4.2.1GameView的实现18

4.2.2TimeThread的实现18

4.3数独算法类的实现19

4.3.1数独算法基本逻辑20

4.3.2检测填充结果21

4.4游戏的测试和运行22

4.4.1游戏测试概述22

4.4.2测试环境23

4.4.3游戏运行结果23

结论27

致谢28

参考文献29

第1章绪论

1.1选题背景及意义

2007年,Android手机操作系统横空出世,并以开源的特点迅速占领手机操作系统的市场。

据调查,在当今智能手机操作系统中,Android系统的智能手机所占的比例已经高达到62%,越来越多的用户选择安卓手机。

占据着如此巨大的市场份额,所带来的利益也是极其诱人的,随着移动互联网的发展以及智能手机的普及,对于手机APP发展越来越快,其中,手机游戏APP的开发更加具有诱人的利益。

手机游戏APP吸引用户最大的特点就是因为方便,用户可以随时随地使用,正因为这个特点,手机游戏APP已成为用户最喜欢的移动应用之一,不管在iPhone还是在Android,发展速度都极其迅速[1]。

常见手机游戏APP的特征可概括如下:

(1)潜在用户群巨大:

据调查。

目前全球有20亿人使用移动,并且每天这个数字都在增加。

甚至除了一些发达国家外,各国的手机用户都远远超过计算机用户。

由此可以想象,手机游戏的潜在价值是十分巨大的。

(2)移动性与便携性:

相比于传统的控制台游戏,手机游戏APP具有可以随身携带,用户可以随时随地进入游戏,去参加一些限时活动或者购买装备等特点。

因为这个特点使得手机游戏APP早已成为人们日常生活中用于消遣时间的选择。

用户可以在等车、休息时进行游戏。

调查显示,适当的玩玩游戏可以让人释放压力,因而手机游戏APP已慢慢变成人们日常生活中一种普遍的娱乐方式。

(3)支持网络:

手机是一种网络设备,在某些时候可以让多个用户同时在线游戏。

而随着移动互联网的发展,用户越发渴望移动游戏,为了满足用户的这一要求,Android平台游戏的开发将之运用在了实际中。

本文以数独游戏APP为例,详细介绍了在Android系统平台上开发的优势。

数独又被称之为九宫格,来源于中国古代,但那时的规则更加复杂,那时的规则不是数字不能重复,而是要求每行、每列以及斜向上的各数字之和为15。

《易经》中的九宫图也是由此而来。

数独真正被世人所了解是在2004年英国《泰晤士报》的封面上刊登了一个数独的游戏。

由此数独游戏开始广泛传播。

数独的游戏规则十分简单,用户只需在空格处填上1-9的数字,并使该数字在每行、每列以及每个小的九宫格都只能出现一次,这种推理性的游戏操作极其简单,不需要数字运算,而且有助于开发大脑,锻炼思维,因而很受用户喜爱。

1.2Android手机游戏APP的市场现状

Android是由Google开发的一种基于Linux平台的开源操作系统。

它包含移动手机工作的全部软件,集操作系统、界面展现及软件应用程序于一体,并且解决了以往产业创新的专有权问题[2]。

Google与30多家在技术和无线应用方面的知名企业共同开发出了Android系统。

并且通过与开发商、运营商以及制造商等合作伙伴建立良好的合作伙伴关系,共同建立一个开放式,标准化的生态系统。

在Android系统上开发的游戏软件,无需进行市场划分,更加不需要为用户进行量身定制等需求。

因为用户的核心需求都是娱乐和打发时间,这样的要求依附于社会发展层次,与地区限制等因素无关,甚至可以打破文化的限制。

考虑到这一因素,游戏在开发时都会考虑它的普遍性及其传染性,如何让推出的一款游戏点燃用户周围玩家的激情,从而占领整个市场,这是每个商家需要考虑的问题。

而在当今社会,每一个使用Android手机的用户都有可能是游戏需求的潜在用户,而随着移动时代的到来,Android手机的用户量也是每日剧增,在这种利益的驱使下,Android手机的市场越发壮大,其所带来的潜在影响就是游戏市场将得到巨大的发展空间[3]。

1.3本文主要容

本文由五个部分组成,各部分容如下:

第一章绪论。

详细介绍了本文的选题背景及意义,以及Android手机游戏的市场现状。

第二章Android系统平台概况。

这一章主详细介绍Android智能手机系统的市场现状、功能特征、特点以及体系结构等方面的容。

第三章系统的整体设计。

这一章主要介绍了对游戏APP的一系列策划,所要实现的功能以及架构的介绍。

第四章软件的实现。

这一章对整个游戏APP的界面、游戏过程中可能会出现的问题的处理以及游戏的修改和整合做了详细介绍。

总结。

对本文所描述的加以总结并表达对未来的期望。

第2章Android系统平台概况

这一章将对Android开发平台做出详细的介绍,包括Android操作系统、特性、系统框架、程序的各个模块以及系统的生命周期。

2.1Android操作系统

Android手机操作系统是基于Linux平台实现的一种开放源码的手机操作系统,由谷歌于2007年推出的,为了占据移动终端的头把交椅,谷歌不惜花费巨力将Android打造成为真正意义上的开放源码的移动平台,在移动终端的基础上,让Android在拥有移动手机所需要的一系列软件的基础上,能够更进一步加快移动互联网的前进步伐,并且能够在原有基础上得到创新。

由于Android的前景及其存在的巨大利益,谷歌为此可以说是花费了巨大的精力和成本。

开发Android系统初期,通过和全球30多家在手机应用和移动开发项目上的领军人物的合作,使得Android在一开始就有了一个良好的基础。

后期为了依靠Android系统的良好优势创建一个开放性、标准化的移动软件平台,谷歌更是与开发商、制造商以及运营商等形成了长期友好的合作伙伴关系。

为了让每一个Android系统的移动手机用户可以在任何时间和地点都能够被提供所需要的信息[4],谷歌甚至将Android操作系统当做是公司企业战略之一。

2.2Android操作系统特性

Android操作系统特性如下所示:

(1)框架及特性:

Android操作系统有4大组件及各式的控件,用于软件开发,其有两个主要的特性,分别是复用性和替代性。

(2)虚拟机Dalvik:

在开发软件过程中,免不了需要检测软件运行情况,而这就离不开虚拟机的作用,在Android操作系统中所使用的虚拟机是一种由谷歌开发的Java虚拟机,不同于市面上所推行的其他虚拟机,谷歌自主开发的虚拟机更加适用于Android系统,而且运行效率较其他的更快,资源占用率更小。

(3)SQLite数据库:

在移动设备中存在大量的数据,如何管理这些数据是十分重要的一个环节,而SQLite数据库的出现有效解决了这一问题,SQLite可以进行层次化的存储数据并且它的占用存少,处理速度快,此外SQLite还可以支持事务处理。

(4)多媒体:

支持各种格式的音视频文件

(5)全球移动通讯系统:

简称GSM,为了实现全球标准化网络,使得一部移动设备不受区域限制而推出的第二代移动通信技术。

(6)蓝牙:

蓝牙是一种在短距离实现语音和数据传输的无线连接技术。

(7)全球定位系统:

简称GPS,是由覆盖全球的24颗卫星组成的卫星系统。

(8)开发环境:

以Eclipse集成开发环境为核心,调试工具,设备模拟器,存及性能检测为辅。

2.3Android操作系统框架结构

Android系统操作平台主要分为四个部分,依次为:

Application、ApplicationFramework、LibrariesAndAndroidRunTime、LinuxKernel。

如图2.1所示。

图2.1Android操作系统平台的架构模型

2.3.1Application

与传统的操作系统不同,谷歌为了用户能够更好地体验Android系统,对于一些传统的应用仍会保留。

但与其特有的应用一样,所有应用都将基于Java语言进行编写。

但这并不妨碍用户的使用,因为所有应用都可以通过网络嵌入,在同等条件创建,可以并行运行[5]。

2.3.2ApplicationFramework

Android移动设备上的每一个应用程序都是各个组件组成,而Android系统主要有4大组件,分别是Activity、BroadcastReceiver、Service以及ContentProvider,这些组件通过ApplicationFramework提供的API组成了一个个应用程序的框架。

有了这样一个大的框架,再加上一些控件的添加,就组成了一个个移动设备中所使用的应用程序。

2.3.3LibrariesAndAndroidRunTime

Android之所以能被不同组件相互使用,主要是由于它有自己的一套核心库,通过核心库的容,程序员在开发是可以省去不少麻烦。

由于Android是基于Java语言开发的,因而在Android核心库中包含了大部分Java语言核心库的容。

Android系统中所用到的虚拟机Dalvik就是以Linuxkernel为基础实现的,Dalvik和JavaVM不同,Dalvik执行的.dex格式的文件,而JavaVM执行的是标准的字节码。

此外Dalvik是Register-based[6]的虚拟机,可以最大限度的实现优化,更加实用于移动设备,而JavaVM是Stack-based虚拟机,远不如Dalvik。

2.3.4LinuxKernel

正如每个人都需要一个大脑一样,每一个操作系统也需要一个核心,对于Android操作系统而言使用Linux核来作为系统的核心处理事务。

其中包括机制的安全、存及进程的管理以及网络堆栈等。

Android操作系统的运行离不开移动设备的驱动程序,其中主要的有DisplayDriver、FlashMemoryDriver、CameraDriver、AudioDriver、Wi-FiDriver、KeyBoardDriver、BluetoothDriver以及Android所特有的驱动BinderIPC驱动[7]等。

2.4Android应用程序构成

与其他计算机开发平台不同,在Android平台上开发的程序都有一个唯一的入口启动程序,正如前面所说到的,程序的开发是由各个组件之间的相互组合而成,Android操作系统有四大组件,这些组件通过Intent来传递数据。

在一个程序中并不是都需要Activity、Service、BroadcastReceiver和ContentProvider等全部的组件,有时可能只需要几种组件相互组合就可以了。

另外,正如每个公司都需要在工商局注册一样,每一个组件的使用也需要在清单文件中注册[8]。

清单文件是一个xml文件,就如一个国家的法律一样,清单文件是每个程序都不可或缺的。

2.4.1Activity

作为四大组件之一的Activity应该是程序员用的最多的一个组件,也是最好用的的一个组件。

在一个程序中,每一个Activity就是一个手机界面。

而在这个界面中程序员可以添加很多视图,如:

Button、EditText、ListView等。

通常情况下一个应用程序可能包含多个Activity,而每一个Activity之间也可以相互跳转。

当然Activity之间的跳转也是可以返回的,这种返回机制在多个Activity之间的跳转是非常有效的。

用户可以通过这种机制继续之前的操作。

这些Activity之间的相互跳转都离不开Intent的作用。

Intent主要有两个数据结构组成,action及data。

Action的种类很多,常见的有:

main、view、edit等,而action所需数据都是url的形式[9]。

2.4.2BroadcastReceiver

当程序需要处理外部事件时,需要利用BroadcastReceiver来完成,用户并不能看见BroadcastReceiver,用户只能通过NotificationManager来了解发生了什么事件,BroadcastReceiver也需要注册才能使用,只不过这个注册可以是在清单文件也可以在代码中进行[10]。

只要完成注册,一旦事件发生,应用程序可以直接启动。

2.4.3Service

Service也是程序的一种,它可以长时间运行,和BroadcastReceiver一样,Service也没有用户界面,不仅没法交互,而且不能自己运行。

只有通过Activity或Context对象来调用[11]。

比如说用户在使用音乐播放器时,突然想要上网,此时,用户的手机虽然跳转到了网页界面,但是音乐播放器并没有停止工作,而是等待用户的唤醒继续使用。

而这正是由于Service在执行。

如果用户有需要也可以强行停止Service的运行。

2.4.4ContentProvider

不同于其他的操作系统,Android操作系统在文件类型、数据库类型以及其他类型等数据存储方面是独立的,这就有效的避免了某些病毒或不正常程序运行所带来的影响。

虽然数据存储是独立的,但是却并不影响数据在程序之间的交换。

为了方便数据的共享,Android系统提供了ContentProvider,一个程序如果想要获得另一个程序的数据,只需在该程序中实现ContentProvider接口,此时只要其他程序有访问权限,就可以获取该程序的数据并对其进行修改[12]。

2.5Android应用程序的生命周期

程序的运行是指从开始到结束的过程,每一个程序都有一个生命周期。

不同于其他系统,在Android平台上开发的程序的生命周期与自身无关,不受自身的约束,而是通过Android系统来决定的,一个程序的生命周期长短是由系统的负载和应用程序来决定的。

Android系统程序进程如图2.2所示。

图2.2Android应用程序进程优先级

(1)前台进程:

在程序运行过程中前台进程是极其重要的,是与用户进行交互所必不可少的。

前台进程主要有四种情况。

正如上文提及到一样,系统在运行过程中可能涉及多个进程同时运行的情况,这会导致系统存被极大的占用,此时如果设备的存不足,则会导致某些进程无法继续运行,此时需要清除一些长时间未曾使用的进程以释放存资源,保证其他进程的正常运行。

(2)可见进程:

可见进程顾名思义就是指用户可以看见的页面,但是却不与用户进行交互,对于程序的运行没有任何影响。

此外与该进程相关的其他进程如果正被可见进程调用,则该相关进程同样被视为可见进程。

Android系统正常情况下不会存在大量可见进程,但有时为了前台进程的正常运行,系统会清除一部分可见进程,释放存,为前台进程提供资源。

(3)服务进程:

服务进程就是指系统正在运行的程序。

服务进程同样是不可见的,一般情况下,服务进程会一直在后台运行,但有时为了前台进程和可见进程的正常运行,系统也会结束一些服务进程,释放资源。

(4)后台进程:

后台进程是指所有已启动的进程之外的进程,在Android系统的移动设备中存在大量的后台进程,这些后台进程会占据大多的存资源,所以优势为了保障其他进程的正常运行,系统会优先考虑结束后台进程。

(5)空进程:

空进程是一个没有任何组件的进程,用户同样看不见,但在释放资源时,空进程会第一个被清除,空进程与其他进程存储地址不同,空进程储存在系统存中,设备被重新启动时,空进程依然会运行。

设备在运行过程中会涉及到释放资源方面的问题,当系统资源紧的时候,系统会优先释放优先级低的进程,一个进程的优先级取决于该进程中组件的优先级最高的那个[13]。

如果一个进程需要获取另一个进程的数据,那么这两个进程会保持相同的优先级。

第3章系统的整体设计

3.1数独游戏简介

数独的游戏规则很简单,用户在运行游戏之后,设备的界面上会出现一个9×9的表格,总共81个格,其中有些格有数字,用户只需在其他空格处填上1-9的数字,并且使得每个数字在每行、每列以及每个3×3的格子中都只有一个。

游戏框架如图3.1所示。

图3.1游戏框架图

数独游戏是一款非常容易上手的游戏,下面我简单介绍一下该游戏的运行步骤。

(1)用户在自己的移动设备上点击游戏图标,首先进入眼帘的便是游戏的欢迎界面,用户可以点击任意位置进入主菜单。

(2)在菜单界面有四个选项,用户可根据提示进行不同的操作。

(3)在进入游戏时,用户可以看见在下方有四个按钮以及一个计时区,用户可以查看游戏运行时间,也可以通过点击按键进入不同的操作。

(4)当用户将设备界面上所有的空格全部填满时,系统会自动进行比对,如果全部正确,则会跳转到胜利的界面,反之,弹出游戏失败。

(5)不管是胜利还是失败,用户都可以点击任意位置返回欢迎界面。

(6)在主界面点击退出游戏即可结束游戏。

3.2游戏策划

3.2.1欢迎界面的策划

用户在运行游戏后,首先进入的是开机动画界面,这一功能的实现主要是利用图片的刷帧效果。

用户在开机动画界面任意点击即可进入游戏的主菜单界面,根据提示点击相应位置即可实现相应的功能。

如图3.2所示。

图3.2菜单界面

这里选取480×320的手机屏幕分辨率,当y位于()时,程序开始游戏;当y位于(180230)时,程序会进入游戏介绍界面;当y位于(230280)时,程序会跳转到游戏帮助界面;当y位于(280330)时,程序直接退出。

3.2.2游戏界面的策划

当用户进入游戏时,在游戏界面下方会有四个功能键以及一个计时区。

如图3.3所示。

图3.3游戏主界面

游戏主界面分为三个区域,游戏区域是用户需要操作的区域,计时区是用于提示用户游戏进行了多久,四个按钮可以让用户实现相应操作。

3.2.3相关资源

程序自身并没有音乐及图片等资源文件,所需资源都需要程序员自行添加,程序所需资源如表3.1所示。

表3.1所用图片资源

图片名

像素

用途

图片名

像素

用途

a1-a9.png

21×21

输入数字

key_background.png

100×100

数字键盘

b1-b9.png

21×21

默认数字

change2.png

50×30

按下换题

icon.png

150×80

游戏图标

change1.png

50×30

未按下换题

fail.png

150×80

游戏失败

select.png

24×24

选中单元格

win.png

150×80

恭喜过关

drop1.png

50×30

未按下放弃

go_on.png

150×80

暂停中

drop2.png

50×30

按下放弃

time0.png

21×21

实践中的0

help1.png

50×30

未按下提示

help2.png

50×30

按下提示

stop1.png

50×30

未按下暂停

stop2.png

50×30

按下暂停

background.jpg

320×480

背景

heart.png

25×25

提示图标

small_background.png

100×100

背景方框

time.png

31×31

时间冒号

about.jpg

320×480

关于背景

exit.png

×86

退出提示

help.jpg

320×480

帮助背景

menu.jpg

320×480

菜单单元

w1-w30.gif

320×244

欢迎动画帧

在Android操作系统中,非代码类的文件存放于res文件夹下,图片等资源则存放于drawable文件夹下。

3.3游戏的架构

3.3.1各类的介绍

1.共有类

KLSDActivity类继承父类Activity并重写里面的方法,是整个程序的核心和入口,通过与其他类的交互获取消息,并通过对收到的消息的处理跳转到其他界面[14]。

这是整个程序唯一的公共类。

2.欢迎界面相关类

(1)WelcomeView类:

游戏欢迎界面类,即用户运行游戏所展现的界面。

(2)WelcomeViewDrawThread类:

该类是欢迎视频界面的刷帧线程。

(3)WelcomeViewGoThread类:

欢迎界面的服务线程。

(4)AboutView类:

游戏介绍界面的绘制。

(5)HelpView类:

游戏帮助界面。

3.游戏界面相关类

(1)GameView类:

介绍游戏的规则及模型,同时生成游戏过程中的各个画面及用户的交互。

(2)GameViewDrawThread类:

执行刷帧操作。

(3)TimeThread类:

刷新游戏运行时间。

(4)DrawKeyThread类:

改变键盘透明度,执行渐变处理。

(5)ShuDuSuanFa类:

存放数字的二维数组。

3.3.2游戏的框架简介

游戏框架图如图3.4所示。

图3.4游戏框架

下面将通过对程序的使用分别详细讲述每个类的作用,步骤如下。

(1)用户运行游戏后,在KLSDActivity中首先会初始化WelcomeView,之后设备将会跳转到WelcomeView界面。

然后通过WelcomeViewDrawThread与WelcomeViewGoThread来生成欢迎界面及刷新界面。

(2)当用户进入游戏首页之后,通过点击提示的帮助按钮,系统会自动调用HelpView类来显示帮助界面。

同理,当用户点击关于按钮时,系统会通过AboutView类显示关于界面。

(3)当用户开始游戏时,系统进入GameVew类,同时GameViewDrawThread会被启动并刷新界面。

(4)当用户在游戏过程中可以通过点击任意空白位置,系统会自动调用DrawKeyThread线程来生成数字键盘。

(5)用户在开始游戏时,系统会在自动启动TimeThread线程,来更新时间。

(6)用户在游戏开始前,系统会通过ShuDuSuanFa类生成数独数组,生成的数组将作为评判用户输入数字是否准确的

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 幼儿教育 > 幼儿读物

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

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