当前位置:文档之家› 毕业论文范文

毕业论文范文

毕业论文(设计)正文

题目:基于Android的三国塔防游戏程序设计与实现

学院:

专业:

班级:

学号:

学生姓名:

指导教师:

二○一三年十一月

基于Android的三国塔防游戏程序设计与实现

摘要:

随着智能手机与平板电脑等移动设备的不断普及与性能的不断提升,移动设备已经不再局限于通讯,而是集通讯、娱乐、办公等多功能于一身,逐渐发展成为人们可随身携带的信息处理平台。而Android系统,作为一款流行的移动设备操作系统,由于其开放性和低成本,已得到越来越多移动设备厂商的支持,成为当前使用率最高的移动操作系统之一。

本项目的最终目标是让用户体验一款新型益智休闲的塔防游戏,既提供良好的游戏操作界面,又通过优美的游戏画面和高效平衡的敌我对抗模式提高游戏的可玩性,激发玩家的游戏兴趣。同时,通过在游戏中尝试推送广告、设置游戏等级权限等来创造收益,实现一定的经济价值。最后,该项目的顺利实施,对于培养我们的项目开发能力,提高我们的就业竞争力都具有非常好的促进作用。

关键字:Android;游戏;塔防;中国特色;三国

The tower defense game of Three Kingdoms based on Android program design and implementation

Abstract:

With the growing popularity of continuous improvement and performance smartphones and tablet computers and other mobile devices, mobile devices are no longer limited to communication, but the set of communication, entertainment, office and other functions in one, and gradually developed into one can carry The information processing platform. As a popular operating system for mobile devices ,the Android system, has been more and more support for mobile device manufacturers whit its openness and low cost, and become one of the highest rates of mobile operating systems.

The ultimate goal of this project is to let player experience a new type of puzzle casual tower defense game, both the game provides a good operating interface, but also improves the playability of the game to excite the players’ interest in the game by a beautiful picture of the game and the adversarial mode of friend or foe. Finally,it has very good role in training our development capabilities and improving our employment competitiveness with the smooth implementation of the project.

Keywords: Android; Game; Tower Defence; Chinese characteristics; Three Kingdoms

正文目录

一、绪论 (6)

(一)研究背景和意义 (6)

1、手机游戏的发展现状 (6)

2、Android 手机平台的发展现状 (7)

3、Android 手机平台游戏的市场价值 (8)

(二)国内外研究现状 (9)

1、保卫萝卜 (9)

2、燃烧的蔬菜 (10)

3、口袋战争 (11)

4、植物大战僵尸2 (11)

5、坚守阵地2 (12)

6、龙穴塔防2 (13)

二、Android基础知识 (14)

(一)环境的搭建 (14)

1、 JAVA JDK的安装 (14)

2、 eclipse和ADT (15)

3、 Android SDK的安装 (16)

4、创建AVD模拟器 (16)

三、游戏技术 (21)

(一)点击操作 (21)

(二)画面绘制 (24)

1、双缓冲技术 (24)

2、 SurfaceView (26)

(三) A*算法 (28)

四、程序设计 (30)

(一)模块分析 (30)

(二)关键代码分析 (35)

1、图片缩放 (35)

2、游戏帧数的控制 (35)

3、游戏的暂停恢复 (37)

4、游戏的BGM和音效 (38)

5、炮弹轨迹 (39)

6、 Enemy、Fighter和Tower (40)

7、 AStar算法和数字地图 (41)

8、攻击策略 (44)

五、展示 (45)

(一)欢迎界面 (45)

(二)封面 (46)

(三)关卡选择界面 (46)

(四)战斗界面 (47)

(五)失败与胜利界面 (49)

六、性能优化 (49)

(一)资源体积的优化 (49)

(二)代码的优化 (50)

七、总结与展望 (50)

(一)论文总结 (50)

(二)个人展望 (51)

八、致谢 (51)

参考文献 (52)

一、绪论

(一)研究背景和意义

1、手机游戏的发展现状

手机游戏,顾名思义就是运行在手机上的游戏。随着科技的发展,现在手机的功能也越来越多,越来越强大。而手机游戏也远远不是我们印象中的什么“俄罗斯方块”捕鱼达人“贪吃蛇”之类画面简陋,规则简单的游戏,进而发展到了可以和掌上游戏机媲美,具有很强的娱乐性和交互性的复杂形态了。又由于手机的便携性,游戏可以随时随地的进行玩耍,手机游戏市场也随之迅速发展[1]。

这些年来,手机游戏市场有了很大的发展,手机游戏已成为使用率最高的手机娱乐应用,占到各种手机娱乐应用比例的78.4%。

2010Q4-2012Q3中国手机网游市场规模图1

中国手机网游用户2012年第三季度达到了4120万人,增长幅度为64%。2012年第一季度环比增长8.7%,第二季度环比增长12.1%,第三季度环比增长17%。从12年开始中国手机网游用户规模呈现加速增长的态势,手机网游市场处于快速成长中。又在2013年8月28日,全球领先的移动互联网第三方数据挖掘和整合营销机构艾媒咨询(iiMedia Research) 发布了《2013Q2中国手机游戏市场季度

监测报告》。报告显示,2013Q2我国手机游戏市场规模达到27.6亿元,同比增长63.3%,环比增长21.1%[2]。

2、Android 手机平台的发展现状

Android一词的本义是指“机器人”,同时也是是Google于2007 年11 月5 日宣布的基于Linux平台的开源手机操作系统名称,该平台由操作系统、中间件、用户界面和用户软件组成,号称是首个为移动终端打造的真正开放和完整的移动软件。自从Google发布智能手机Android操作系统平台(2008 年9 月首款Android智能手机G1 上市)以来,Android平台一直以惊人速度挺进,并支持Android智能手机迅速进入领先行列。迄今Android是智能手机市场上最大的赢家,是销售增长最快、最成功的竞争者[3]。

Garter数据显示,2013年Q2Android系统全球市场占有率为79%,总销量为1.77亿部,2012年同期则仅为8000万部,市场份额不足60%。

2013Q1-Q3全球智能手机市场三大主流操作系统市场份额走势图2

2013Q1 Android系统市场份额为74.4%,Q3则达到了81.9%,超过八成。Gartner监测数据显示,由于中国市场突飞猛进的发展,使得Android 在Q3突破了80%的市场份额[4]。

3、Android 手机平台游戏的市场价值

手机游戏作为娱乐产业中的重要组成部分,更是取得了骄人的业绩。根据Google Play Store的统计情况,Android智能手机与平板之上,游戏的下载量在全部应用中占到了37%的比例[5]。

Google Play Store 2013年9月份各应用下载比例图3

游戏作为 Android 平台最主要的应用,预示着随着Android 手机用户数量

的增多,基于Android 平台的手机游戏在未来将有巨大的市场潜力,虽然现阶

段在国内研究开发Android 手机游戏的人数并不多,但移动互联网业界的许多

人士都对Android 手机游戏未来的发展表示乐观态度,更有业界精英表示,

Android 手机游戏是游戏产业的下一个阶段,也是手机游戏的未来。

随着人们生活水平的提高和智能手机的普及,娱乐产业得到了快速的发展。

手机游戏作为娱乐产业中的重要组成部分,更是取得了骄人的业绩。三国塔防游

戏,作为具有浓郁的中国本土特色的一类手机游戏,受到玩家的极力追捧,研究

具有新的玩法、新的智能攻防模式的三国塔防游戏,不但能够为玩家贡献一款精

美游戏,对于塔防游戏的发展也具有一定的促进作用。Android占据智能机市场

份额越来越重,基于Android平台的游戏良莠不齐,且并未出现强大的游戏公司

来瓜分市场;同时,Android游戏市场正在蓬勃发展并且需求量巨大,此时研究

和开发Android游戏十分有助于抢占市场先机。

(二)国内外研究现状

1、保卫萝卜

保卫萝卜[6](Carrot Fantasy)是一款包装精美、可爱范儿的塔防游戏,极易上手、灵活多样、搞笑至极!你的任务就是保护好可爱的萝卜,别让怪物吃掉它哦!游戏中每关地图中散布着大量的道具,不同主题配有各自特点的道具,比如在天际主题中,散布在地图上的云朵、彩虹、热气球等,不要因为其萌系卡通的造型,就不忍心清理,要知道清理这些道具后不但扩充可用地形,还会获得50或者更多的金币。每轮游戏清理掉所有道具,还会有更高的成绩。它以精美的画面、创意的角色设计、搞怪的音效打破了大多数玩家对国产游戏的看法,不得不说,这是一款相当有诚意的作品。

特点:

◆冒险模式和Boss模式

◆精美的画面,创意的角色设计,搞怪的音效

◆操作简单,采用网格式布置炮塔

◆丰富的各类功能炮塔

保卫萝卜图4

2、燃烧的蔬菜

燃烧的蔬菜[7] (grow away)是一款极具创意的策略类休闲塔防游戏,剧情令人忍俊不禁,首创弹射类塔防玩法让你体验全新的游戏感受。游戏操作极易上手,战斗节奏明快,游戏画面精致,角色造型清新可爱,个性鲜明,游戏内容丰富多样,更有大量关卡等着您挑战!蔬菜们为了抵御变异者的入侵,奋起反击。不同的蔬菜都会在战斗中展现出不同的价值和作用,加上丰富的道具,让战斗异常华丽刺激。游戏中会有多个模式,任务模式中会有几十个关卡和BOSS等着你去挑战。而生存模式,则会让你在休闲时刻体验到不一样的爽快感。

特点:

◆玩法新颖,射击类塔防游戏

◆画面细腻,特效华丽无比,主角形象丰富可爱

◆操作手感舒适,体验非凡

◆游戏内容丰富,战斗乐趣无限,专业的音乐音效

燃烧的蔬菜图5

3、口袋战争

口袋战争[8]是一款休闲互动游戏!游戏中你作为军团首领,不仅需要建设经营基地,还将带领你的军团与全球玩家进行激烈的竞争与对抗!建设发展、造兵打仗;保卫阵地、掠夺资源!游戏初期你可以选择世界中的原住民进行军事演练,在吸收到足够的作战技巧之后,就可以向其他玩家的要塞发起进攻了!

特点:

◆攻守合一的塔防游戏

◆简单方便的游戏操作

◆3分钟一场的激烈战争

◆建设强大的军事要塞

◆互惠互助的军事联盟

口袋战争图6

4、植物大战僵尸2

植物大战僵尸2[9](Plants vs Zombies2)这款游戏想必大家已经是无比熟悉。游戏中包含了冒险、挑战模式和无尽模式,以及成就解锁系统。《植物大战僵尸2》的玩法非常简单。一群僵尸想要冲入你的房子,你所要做的就是种植各类植

物来阻止僵尸的入侵。《植物大战僵尸2》成功地借鉴了一些战略游戏的要素——采集资源并利用资源建造其它单位。甚至有一些玩家在拿星际的战略往这款游戏中套用,以阐述这款游戏需要在何时发展“经济”,何时发展“兵力”。

特点:

◆题材新颖,玩法丰富

◆植物种类繁多,功能不一,趣味无穷

◆卡通的风格,细腻的画面,丰富的游戏音效

◆延续了前作的故事背景,通过关卡获得新的防御植物

◆内购模式不仅改变了游戏的玩法,还改变了产品本身的定位

植物大战僵尸2 图7

5、坚守阵地2

坚守阵地2[10]是一款自由度和可玩性非常高的塔防类游戏,与之前Android 平台出现的《机器人塔防》类似,但是画面更加细腻漂亮。玩家需要建造不同的塔进行布阵,让敌人尽可能在进军自己的基地之前挂掉,需要玩家拥有很强的战略才能顺利过关。依赖堡垒的建造位置,来使得红卫兵的行进路线加以改变,并通过这种方法使得输出最大化,用更加合理的资源达到最大的效果,通常在现实生活中我们叫做资源合理配置与优化。这一点几乎奠定了这款游戏的地位。并

且通过不同的堡垒的特效来达到更加优化的配置,这一点是游戏最突出,最诱人的地方,诚然,这也是最考验我们能力水平的地方,不仅仅是塔塔成群,不断升级,放个技能,继续游戏这样的节奏,使得塔防类游戏更加注重策略和思考。特点:

◆卡通的画面,绚丽的风格

◆节奏感不错的音乐,营造了刺激的氛围

◆游戏的操作上非常地完善,放大、缩小、点击非常精确

◆游戏关卡由简单到复杂,难度渐渐加大

◆界面上非常的空旷,如何建造,如何让敌人走更远,如何打击更大

的路,耐人寻味,可玩性高

图8 坚守阵地2

6、龙穴塔防2

《龙穴塔防LD: Shrine》[11]是一款画面非常出色的塔防类型游戏,它的操作与玩法是那种较为传统的塔防游戏,都是通过在道路两旁不断的建立防御塔来攻击敌人,守卫自己的家园。在遥远的古代,人类和龙在这个世界上一直和平生存,但是当人类的皇帝听说吃一颗龙蛋以后就能长生不老,所以派人去搜寻龙蛋,也因此人类和龙的战争就开始。在这款游戏中,你需要帮助正义的龙,来阻止贪婪的人类偷窃龙蛋。

特点:

◆游戏画面精致,剧情内容丰富

◆龙作为炮塔,并带有各种魔法,富有魔幻色彩

龙穴塔防2 图9

二、Android基础知识

(一)环境的搭建

1、 JAVA JDK的安装

Oracle官网下载:Java SE Development Kit 8 Downloads下载安装即可。安装完后需配置环境变量(可参考JAVA环境变量配置)

配置完后检查是否正确:按WIN + R 键,输入CMD,在打开的窗口中输入javac回车,可以看见类似下面的画面:

2、 eclipse和ADT

Eclipse的选择有两种:

第一种:可以去Eclipse官网下载:Eclipse IDE for Java EEDevelopers。安装好后,在菜单中的"Help" -> "Install New Software" 点击ADD按钮,Name:ADT,Location输入https://www.doczj.com/doc/a56694968.html,/android/eclipse,如下图

之后按提示一步一步next就好。

第二种(推荐):直接去ANDROID官网下载GOOGLE官方已经整合了ADT 的eclipse,并且带有最新版Android SDK:Get the SDK ADT Bundle for Windows。打开安装即可。

3、 Android SDK的安装

打开eclipse,点击菜单中的”Windows”->”Android SDK Manager”,勾选Android 2.3.3(API 10),然后点击”Install 5 packages”下载。

4、创建AVD模拟器

在Android SDK安装完后,再打开Eclipse,点击菜单中

的”Windows”->”Android Virtual Device Manager”。配置参数如下图:

小技巧:开启模拟器后,按Ctrl + F11 可将屏幕切换至横屏。

(二) Android生命周期

Android生命周期即Android APP整个不同状态的过程,包括创建,暂停,恢复,退出等不同的状态。在游戏开发中是一个重要的知识点,它会影响整个游戏框架的设计。下图为Activity的七个生命周期接口

Android 生命周期相关的方法

protected void onCreate(Bundle savedInstanceState);

在Activity被第一次加载时(即用户点击图标后),当启动程序的第一个窗口时,就会调用onCreate()方法。在Activity调用onDestroy()方法后(即完全退出后),重新进入,onCreate方法也会被重新调用。

◆protected void onStart();

Activity出现在屏幕上可见时调用。

在调用onCreate()方法后应用会直接调用onStart()方法。或者应用被切换到后台并且已经调用了onStop()方法,当用户重新查看这个应用(界面)时,应用会从stop状态,调用onRestart()方法,并且跳过onCreate()方法,直接执行onStart()方法。因为此时应用的窗口和进程并未被销毁,只是被切换到了后台,仍然还在内存中。

◆protected void onRestart();

在onStop()方法执行后调用。如果应用在被切换至后台,但窗口和进程违背销毁之前,用户又重新切换到了这个界面,那么onRestart()会被调用,而调用onRestart()方法后会跳过onCreate方法直接去执行onStart()方法。

◆protected void onResume();

Activity开始与用户有交互时调用(无论是第一次启动还是重新启动,都会调用这个方法)。

在调用onStart方法后直接调用onResume()方法。或者应用被切换到后台,但未调用onStop()方法之前,用户又重新查看这个应用(界面)时,应用会跳过onCreate()和onStart()方法,直接执行onResume()方法。

◆protected void onPause();

Activity被暂停时调用次方法,用于保护现场。

当前界面被切换到后台时调用。

◆protected void onStop();

Activity被停止,并且不可见时被调用。

在onPause()方法执行后被调用。应用被切换到后台并在一段时间内用户没有重新查看这个界面,那么onStop()方法会被调用;或者用户直接按了返回键,则这个界面在销毁之前会调用onStop()方法。

◆protected void onDestroy();

Activity在被完全从内存中移除时调用次方法,被调用时可能是直接调用onFinish()方法退出程序或者是在资源紧缺时系统会停止一些应用并释放它们的资源。Android会在内存不足的时候根据进程的重要性,移去重要性最低的进程,重要性由高到低为:前台进程> 可见进程> 服务进程> 后台进程> 空进程。

Android应用生命周期图

根据上述的七个生命周期方法,在四个阶段中的顺序:

①开始Activity:onCreate() -> onStart() -> onResume()

②Activity失去焦点:onPause() -> onStop()

③Activity重新获得焦点:onRestart() -> onStart() -> onResume()

④关闭Activity:onPause() -> onStop() -> onDestroy()

相关主题
文本预览
相关文档 最新文档