毕业设计(论文)-基于Android植物大战僵尸游戏设计.doc_第1页
毕业设计(论文)-基于Android植物大战僵尸游戏设计.doc_第2页
毕业设计(论文)-基于Android植物大战僵尸游戏设计.doc_第3页
毕业设计(论文)-基于Android植物大战僵尸游戏设计.doc_第4页
毕业设计(论文)-基于Android植物大战僵尸游戏设计.doc_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

毕业设计(论文) 摘要摘要 手机游戏,顾名思义就是指在手机上运行的游戏软件。目前用来编写手机程序使用 最多的是 Java 语言。随着科技的发展,手机的硬件更新速度越来越快,功能也越来越 强大。现在的手机游戏具有很强的娱乐性和交互性的复杂形态。 安卓版本的游戏有三大优势。第一:技术优势。一方面是其稳定性,现在已有公认 最稳定版本的操作系统Gingerbread。另一方面是程序员技术入门快,特别是对有一 定 java 语言基础的人来说。第二: Android 手机操作系统的市场优势: Android 系统在 诞生短短的 3 年时间就占据全球智能机市场 48%的份额,跃居全球第一,至今仍是当 今主流的手机操作系统。第三:开发周期短,这是一个很大的优势。 游戏采用面向对象的方法进行设计,在对象设计过程中将程序中各种事物都看成是 对象,复杂的对象可以由比较简单的对象以某种方式组合而成。把对象划分为对象类, 为他们定义数据与方法。建立子类与父类的结构关系。 创建游戏的实现方法,需要使用到 SurfaceView 游戏框架,它主要是用来开发复杂 的游戏,在要求程序执行效率很高时,例如对速度要求很高,还可以使用双缓冲来显示。 关关键键词词:手机 安卓 Java 语言 面向对象 毕业设计(论文) Abstract Nowadays, Java language is prevalent in writing cell phone programs. With the booming of science and technology, the hardware updated speed of cell phone is becoming faster and faster, meanwhile, the function of it is becoming stronger and stronger. Today, mobile game has extreme complex forms which mix entertainment with interaction. The Android version has three advantages, firstly, for its technical advantage. For one thing, it is stable, it is widely acknowledged that Gingerbread is the most stable operating system. For another, programmer can operate easily, especially for those who have some basic knowledge of Java language. Secondly, for its market superiority. It has accounted for 48% in the global smart phones market shares just in three years since its birth, ranking No.1 in the world; it is still the leading mobile operating system. Thirdly, for its short development cycle, it is the biggest strength. Mobile game employs the way of object-orientation to design. It regards everything in procedure as objects during the design process. Complex objects can be assembled by some kind of way through simple objects. The objects can be divided into object class, defining data and methods and building the structural relationship between subclass and superclass. The realization method of setting up games need use SurfaceView framework game, which mostly develop complex games. It can be showed by double buffering when the efficiency of the program requires high. Keywords: Oell phone Android Java language Object-orientation 毕业设计(论文) 目目 录录 第 1 章 绪论1 1.1 手机游戏行业概述1 1.2 开发工具的介绍1 1.2.1 Eclipse1 1.2.2 ADT 1 1.2.3 Android SDK1 1.2.4 Fireworks2 1.3 技术介绍2 1.3.1 SurfaceView2 1.3.2 双缓存2 第 2 章 需求分析3 2.1 项目概述3 2.2 项目概述3 2.2.1 常规模式3 2.2.2 夜晚模式3 2.2.3 无尽模式4 2.2.4 游戏设置4 2.2.5 关卡选择4 2.2.6 查看帮助5 第 3 章 概要设计6 3.1 游戏设计6 3.1.1 游戏背景6 3.1.2 游戏逻辑6 3.1.3 僵尸作战单位6 3.1.4 植物作战单位6 3.1.5 每关进攻的僵尸及可以种植的植物说明6 3.1.6 关卡说明7 3.1.7 碰撞逻辑说明7 3.1.8 状态播放规则7 3.2 软件架构7 3.3 软件功能结构图8 3.4 软件具体功能模块基本介绍8 3.4.1 主要模块选择功能8 3.4.2 游戏声音开关功能8 3.4.3 模式选择功能9 3.4.4 关卡选择功能9 3.4.5 查看帮助功能9 第 4 章 界面设计10 4.1 结构设计10 4.2 交互设计10 毕业设计(论文) 4.3 视觉设计10 第 5 章 详细设计与实现12 5.1 搭建游戏基本骨架12 5.1.1 SurfaceView 框架12 5.1.2 Welcome 类13 5.1.3 Menu 类 13 5.1.4 Option 类13 5.1.5 Help 类13 5.1.6 Select 类 13 5.2 游戏 model 包14 5.2.1 TouchAble 接口14 5.2.2 Plant 接口14 5.2.3 BaseModel 类15 5.2.4 Config 类15 5.3 游戏具体实现及相关的实体类 15 5.3.1 太阳花种植及产生阳光实现 15 5.3.2 豌豆射手种植及射击实现 18 5.3.3 生成僵尸的实现18 5.3.4 游戏大管家18 5.3.5 根据有无僵尸判断是否射击 21 5.3.6 过关奖励21 5.3.7 游戏失败21 5.3.8 游戏胜利22 5.3.9 无尽模式22 5.3.10 僵尸碰到植物停止当吃掉植物后继续前进22 5.4 调试23 5.4.1 吃掉植物后僵尸不前进23 5.4.2 僵尸生命值丢失异常23 5.4.3 concurrentModificationexcEption 异常23 5.4.4 游戏正常结束后重新进入游戏直接失败23 5.4.5 Bitmap size exceeds VM budget 异常24 5.4.6 不显示奖励24 总结25 致谢26 参考文献27 毕业设计(论文) 1 第第 1 章章 绪绪论论 1.1 手手机机游游戏戏行行业业概概述述 手机游戏,顾名思义就是指在手机上运行的游戏软件。目前用来编写手机程序使 用最多的是 Java 语言。随着科技的发展,现在手机的 硬件更新速度越来越快,功能也 越来越强大。而现在的手机游戏也不是当初八九十年代风靡全球的那些依托于掌上游戏 机的“俄罗斯方块”、“贪吃蛇”等画面简陋,规则简单的游戏,进而发展到了可以和掌上 游戏机媲美,具有很强的娱乐性和交互性的复杂形态了。作为运行 在手持移动终端设 备上的应用程序,手机的硬件特征决定了手机游戏的特点:首先是其庞大的潜在用户群, 据统计全球在使用的移动电话已经超过 10 亿部,而且这个数字每天都在不断增加。 在除美国之外的各个发达国家,手机用户都比计算机用户多。手机游戏潜在的市场比其 他任何平台都要大。其次是其便携性,在控制台游戏时代, 掌上游戏机热销的一个原 因就是便携性人们可以随时随地沉浸在自己喜欢的游戏中。和游戏控制台或者 PC 相比,手机虽然可能不是一个 专业的游戏设备, 但毕竟人们总是随时随身携带,这样 手机游戏很可能成为人们消遣时间的首选。更重要的是其支持网络,由于手机是网络设 备,在一定限制因素下可以实现多人在线游戏。 为什么要开发 Android 版本的游戏。一是源于其技术优势 :一方面是其稳定性,现 在已有公认最稳定版本 Android 2.3 操作系统 Gingerbread (姜饼)。另一方面是程序 员技术入门快,对有一定 Java 语言基础的人来说,学习和掌握 Android 开发技术非常 快。二是源于 Android 手机操作系统的市场优势:自 Google 在 2008 年 9 月正式发布 Android 1.0 系统以来,Android 系统在短短的 3 年时间就占据全球智能机市场 48%的 份额,并在亚太地区市场占据统治地位,终结了 Symbian(塞班系统)的霸主地位,跃 居全球第一,至今仍是当今主流的手机操作系统。 更需要特别说明的一点:开发周期 短,是一个很大的优势。熟悉手机游戏市场的人都知道,手机游戏形式更新换代的周期 很短,如果一旦错过了最佳 发布时间,即使开发出来的产品再好,也只能成为废品。 1.2 开开发发工工具具的的介介绍绍 开发此款游戏主要使用到的工具有四种: Eclipse,是一个开放源代码的、基于 Java 的可扩展开发平台;ADT,是 Eclipse 平台下用来开发 Android 应用程序的插件; Android SDK,是 Android 专属的软件开发工具包; Fireworks,是 Adobe 推出的一款图 形编辑软件。 1.2.1 Eclipse Eclipse 是著名的跨平台的自由集成开发环境( IDE)。其本身只是一个框架平台, 但是众多插件的支持使得 Eclipse 拥有其他功能相对固定的 IDE 软件很难具有的灵活性。 许多软件开发商以 Eclipse 为框架开发自己的 IDE,因此得到了众多组织定力支持。 1.2.2 ADT 这是 Eclipse 插件,作用是关联 Android SDK,使 Eclipse 能够新建 Android 工程。 1.2.3 Android SDK 毕业设计(论文) 2 Android SDK 全称为 Android Software Development Kit,它提供了在 Windows/Linux/Mac 平台上开发 Android 应用的开发组件。包含了在 Android 平台上开 发移动应用程序的各种工具集,主要是由以下 5 个部分组成: Andriod 模拟器(AVD Manager.exe):运行在计算机上的虚拟移动模拟器,可以 使用模拟器来在一个实际的 Android 运行环境下设计,调试和测试应用程序。 调试监视服务(ddms.bat):它集成在 Dalvik(Android 平台虚拟机)中,用于管理 运行在模拟器或设备上的进程,并协助进行调试。可以用它来去除进程,选择一个特定 程序来调试,生成跟踪数据 ,查看堆和线程数据,对模拟器或设备进行屏幕快照等。 Android 调试(adb.exe):它用于向模拟器或手机设备安装应用程序的 apk 文件和 从命令行访问模拟器或手机设备 .也可以用于将标准的调试器连接到运行在 android 模 拟器或手设备上的应用代码。 SQLite3 数据库(sqlit3(sqlite3.exe):Android 应用程序可以创建和使用 SQLite 数据 文件,开发者和使用者也可以方便的访问这些数据文件 创建 SD 卡工具(mksdcard(mksdcard.exe) 1.2.4 Fireworks Fireworks 是 Macromedia 公司发布的一款专为网络 图形设计的图形编辑软件,它大 大简化了网络图形设计的工作难度,无论是专业设计家还是业余爱好者,使用 Fireworks 都不仅可以轻松地制作出十分动感的 GIF 动画,还可以轻易地完成大图切割、 动态按钮、动态翻转图等。 1.3 技技术术介介绍绍 该设计主要使用了 SurfaceView 游戏框架,采用双缓存技术避免屏幕出现闪烁。 1.3.1 SurfaceView SurfaceView 可以直接从内存或者 DMA 等硬件接口取得图像数据,是个非常重要 的绘图容器。 它的特性是:可以在主线程之外的线程中向屏幕绘图上。这样可以避免画图任务繁 重的时候造成主线程阻塞,从而提高了程序的反应速度。在游戏开发中多用到 SurfaceView,游戏中的背景、人物、动画等等尽量在画布 Canvas 中画出。 1.3.2 双缓存 窗体在刷新时,总要有一个擦除原来图象的过程,它利用背景色填充窗体绘图区, 然后再调用新的绘图代码进行重绘,这样一擦一写造成了图象颜色的反差,造成闪烁。 闪烁是图形编程的一个常见问题。需要多重复杂绘制操作的图形操作会导致呈现的图像 闪烁或具有其他不可接受的外观。当数据量很大时,绘图可能需要几秒钟甚至更长的时 间,闪烁现象会更加严重,为了解决这些问题,可采用双缓冲技术来绘图。 毕业设计(论文) 3 第第 2 章章 需需求求分分析析 2.1 项项目目概概述述 本项目分为五个主要部分:常规、夜晚、无尽三个模式进行游戏,和游戏设置与查 看帮助。用例图如图 2.1。 图 2.1 系统用例图 2.2 项项目目概概述述 2.2.1 常规模式 此部分主要实现玩家在游戏背景为白天的情况下 玩游戏。该部分具体情况如表 2.1。 表 2.1 常规模式 用例名称常规模式 功能简述在常规模式下进行游戏 前置条件玩家进入游戏 后置条件进入常规模式开始游戏 基本流1、点击主菜单页面“常规模式”按钮,进入常规模式开始游戏 2、点击“返回”按钮,用例终止 毕业设计(论文) 4 2.2.2 夜晚模式 此部分主要实现玩家在游戏背景为夜晚的情况下玩游戏。该部分具体情况如表 2.2。 表 2.2 夜晚模式 用例名称夜晚模式 功能简述在夜晚模式下进行游戏 前置条件玩家进入游戏 后置条件进入夜晚模式开始游戏 基本流1、 点击主菜单页面“夜晚模式”按钮,进入夜晚模式开始游戏 2、 点击“菜单”按钮游戏暂停并进入主菜单 3、 点击“夜晚模式”回到游戏 4、 点击“返回”按钮,用例终止 2.2.3 无尽模式 此部分主要实现游戏玩家在常规或者夜晚模式通关的情况下玩游戏。该部分 具体 情况如表 2.3。 表 2.3 无尽模式 用例名称无尽模式 功能简述在无尽模式下进行游戏 前置条件玩家在常规或者夜晚模式通关 后置条件进入常规模式开始游戏 基本流1、 点击主菜单页面“无尽模式”按钮,进入无尽模式开始游戏 2、 点击“菜单”按钮游戏暂停并进入主菜单 3、 点击“无尽模式”回到游戏 4、 点击“返回”按钮,用例终止 2.2.4 游戏设置 此部分主要实现对游戏背景音乐、效果音的开启和关闭。该部分具体情况如表 2.4。 表 2.4 无尽模式 用例名称游戏设置 功能简述打开、关闭游戏背景音乐或者效果音 前置条件想要对游戏进行设置 后置条件游戏属性改变 基本流1、 点击主菜单页面“选项”按钮,进入“游戏设置”界面 2、 在游戏设置界面中,根据需要进行设置 3、 设置之后自动返回主菜单或者不设置点击“返回”按钮,用例终止 毕业设计(论文) 5 2.2.5 关卡选择 此部分主要实现玩家根据自己喜好选择在哪个游戏关卡下玩游戏。但是不能选择没 有通过的关卡。 2.2.6 查看帮助 此部分主要实现游戏玩家查看帮助。 毕业设计(论文) 6 第第 3 章章 概概要要设设计计 3.1 游游戏戏设设计计 3.1.1 游戏背景 人类与僵尸之间的仇恨由来已久,为了争夺生存空间,僵尸一有机会就向人类发起 攻击。但是人类也不会束手就擒,他们培养出了可以对僵尸造成伤害的植物, 当僵尸 进攻时这些植物就是人类捍卫家园的武器。 3.1.2 游戏逻辑 (1)僵尸是进攻方,人类通过种植培育出的各种进攻,防御型植物来抵抗僵尸的 进攻。想要植物成长来攻击,防御僵尸需要相应的阳光值。 (2)不同的关卡中,供选择的植物不同,僵尸进攻的单位也不同。例如第一关只 有普通僵尸进攻,第二关就会出现两种僵尸。 (3)在交战区,玩家要种植进攻,防御单位是需要植物的,所以还需要种植产生 阳光的生产单位。 (4)每关都有相应的敌人数量,全部消灭之后过关。如果有敌人穿过交战区域到 达人类后方,则判定游戏失败。 3.1.3 僵尸作战单位 (1)普通僵尸。移动速度 1px/帧,生命值 3,吃掉植物需要 3s。 (2)戴帽子僵尸。移动速度 1px/帧,生命值 4,吃掉植物需要 3s。 (3)戴铁桶僵尸。移动速度 1px/帧,生命值 5,吃掉植物需要 3s。 (4)运动员僵尸。移动速度 2px/帧,生命值 3,吃掉植物需要 3s。 (5)佩戴铁网僵尸。移动速度 1px/帧,生命值 6,吃掉植物需要 3s。 3.1.4 植物作战单位 (1)向日葵。消耗阳光值 50,能够生产阳光,每 10s 生产的阳光值为 50,没有 攻击力。 (2)普通豌豆射手。消耗阳光值 100,每 5s 发射一颗子弹,攻击力为 1。 (3)冰冻豌豆射手。消耗阳光值 175,每 5s 发射一颗子弹,攻击力为 1。 (4)加强型豌豆射手。消耗阳光值 200,每 5s 发射两颗连续的子弹,每颗子弹攻 击力为 1。 (5)土豆卫士。消耗阳光值 50,可以抵挡僵尸 3s,为其他攻击植物争取时间。 3.1.5 每关进攻的僵尸及可以种植的植物说明 毕业设计(论文) 7 第一关,进攻的僵尸有普通僵尸,可以选择种植向日葵,普通豌豆射手。 第二关,进攻的僵尸有普通僵尸,戴帽子僵尸,可以选择种植向日葵,普通豌豆射 手,冰冻豌豆射手。 第三关,进攻的僵尸有普通僵尸,戴帽子僵尸,戴铁桶僵尸,可以选择种植向日葵, 普通豌豆射手,冰冻豌豆射手,加强型豌豆射手。 第四关,进攻的僵尸有普通僵尸,戴帽子僵尸,戴铁桶僵尸,运动员僵尸,可以选 择种植向日葵,普通豌豆射手,冰冻豌豆射手,加强型豌豆射手,土豆卫士。 第五关,进攻的僵尸有普通僵尸,戴帽子僵尸,戴铁桶僵尸,运动员僵尸,佩戴铁 网僵尸,可以选择种植向日葵,普通豌豆射手,冰冻豌豆射手,加强型豌豆射手,土豆 卫士。 3.1.6 关卡说明 总共有五条防御路线。每条防御路线最多可以放九个单位 。僵尸在屏幕之外生成, 随机出现在五条路线中的一条,之后缓缓向人类后方前进。 每关都有相应的僵尸数量, 全部消灭之后就过关。如果敌人穿过交战区域到达人类后方,则判定游戏失败。 3.1.7 碰撞逻辑说明 僵尸从屏幕右方向左移动,当僵尸 生成之后,如果该条路线种植了攻击性植物, 将开始发射子弹。子弹,植物与僵尸碰撞大小区域即为图片大小区域,当 两者发生接 触后即发生碰撞。子弹与僵尸碰撞之后随即消失,僵尸生命值随即相应减少。子弹超过 屏幕右边界后消失。 3.1.8 状态播放规则 所有植物素材均为 8 帧,僵尸素材为 7 帧。每 100ms 播放一帧,播放完毕之后自 动从第一针开始重新播放,如此循环。 3.2 软软件件架架构构 根据前面的需求分及用户的基本要求,软件的总体结构设计包括 有软件加载、主 界面、主要功能选择、模式选择、开始游戏、游戏设置等。 软件的总体架构如图 3.1。 毕业设计(论文) 8 图 3.1 软件总体架构图 软件加载:用户打开游戏后进行游戏加载欢迎用户使用该软件; 主界面:主要展现游戏整体的功能界面; 模式选择:玩家根据自身喜好决定并选择在何种模式下进行游戏; 开始游戏:实现植物大战僵尸的功能; 游戏设置:实现对游戏各种属性进行设置的功能。 3.3 软软件件功功能能结结构构图图 根据总体设计例图,分析出程序功能主要包括:游戏加载、游戏模式选择、关卡选 择、游戏设置、游戏帮助。主要根据软件基本设计模块来设计这些功能,软件总体功能 结构如图 3.2。 图 3.2 软件功能结构图 3.4 软软件件具具体体功功能能模模块块基基本本介介绍绍 根据游戏的具体功能模块:主要功能选择、游戏 音效开关、模式选择、关卡选择、 查看帮助帮助等功能模块。 植物大战僵尸游戏功能模块有以下功能: 3.4.1 主要模块选择功能 该模块其实就相当于植物大战僵尸游戏的主菜单,在该模式下,玩家可以对游戏属 性进行设置,根据自己的喜好选择如何开始游戏,以及查看游戏帮助等所有该游戏提供 给玩家的功能。游戏状态为 MENU 时激活该模块,之后根据玩家在不同位置的触屏事 件调用相关的功能模块,在玩家点击设备返回按钮时退出游戏。功能选择模块流程 如 图 3.3。 3.4.2 游戏声音开关功能 游戏默认关闭背景音效和效果音,玩家可以根据自己爱好选择是否开启背景音乐或 者游戏效果音。在主菜单中点击 “选项”按钮,玩家则进入声音设置功能,因为默认关闭 毕业设计(论文) 9 背景音,这时会显示开启音乐,如果音乐开启后再次进入声音设置功能将显示关闭音乐。 游戏效果音显示与背景音效相同。 图 3.3 功能选择模块流程图 3.4.3 模式选择功能 该游戏分三种模式,常规、夜晚和无尽模式。打开游戏后因为还没有通关(总共五 个关卡) ,所以不能选择无尽模式游戏。这时玩家可以在常规模式和夜晚模式中进行选 择,在通过所有关卡之后,将封锁常规和夜晚模式,玩家只能选择无尽模式。不管哪种 模式,选择之后自动开始游戏。 3.4.4 关卡选择功能 游戏分为 5 个关卡,每关有不同数量的僵尸且依次递增,玩家通过种植植物道具来 消灭僵尸,待本关所有僵尸均消灭之后游戏自动进入下一关,并且玩家得到的奖励将显 示在屏幕中的种子栏中,显示之后玩家就可以

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论