当前位置:文档之家› 基于安卓的手机游戏开发毕业论文

基于安卓的手机游戏开发毕业论文

学士学位论文

基于Android平台的“跳吧”游戏的设计与实现

设计人:

指导教师:

所属系部

专业班级

2014 年6月 7 日

毕业设计(论文)任务书

学院: 计算机科学与技术学院

学生姓名学号

专业班级 1 同组人无

任务下发时间2014.02 任务完成时间2014.06 设计(论文)题目基于Android平台的“跳吧”游戏的设计与实现

设计目的要求

通过毕业设计培养学生分析实际问题,利用软件系统解决实际问题的能力,具体要求如下:

1.了解系统开发环境和工具;

2.熟悉游戏设计的开发原理和步骤;

3.掌握Android游戏开发方法;

4.完成毕业论文的书写工作;

设计主要内容1.熟悉系统的开发工具和相关技术;2.对“跳吧”游戏进行需求分析;3.对“跳吧”游戏进行模块划分;4.完成“跳吧”游戏的设计和开发;5.测试并部署系统;

设计

提交资料毕业设计论文外文资料翻译

学生签名指导教师签名系主任签名主管院长签名

摘要

随着手机行业的发展,手机游戏以更简洁方便的形式深入人们的日常生活,成为人们在任何非工作场合的娱乐方式。“跳吧”是个老幼皆宜的小游戏,不仅能够让玩家放松心情、减轻压力,同时也能锻炼玩家眼力与手部灵活性。

本系统是基于Android操作系统开发的,利用Eclipse3.5环境和JA V A语言实现的。经过可行性研究,需求分析,总体设计,详细设计,编码实现和测试,从而实现了本系统的设计。本文对每一个开发环节进行了详细分析和和阐述。本系统实现的功能有主角移动功能、随机产生不同踏板和加分物品功能、血条功能、重力感应功能等。

本系统在Android SDK虚拟机和安卓真机ZTEU930HD下测试通过,界面友好,使用方便。

关键词游戏设计;Android;Java

The Design and Implementation of Jumping Game Base On

Android Platform

Author:Cao Jianqiang Tutor:Liu Aiqin

Abstract

With the development of the mobile phone industry, mobile games have more simple and convenient form in-depth people's daily lives, as people in any non-work occasions of entertainment. "Jumping game " is a small game for all ages, not only allows players to relax and reduce stress, but also to exercise player’s eyes and flexibility of player’s hand.

The system is based on the Android operating system developed, using Eclipse3.5 environment and JA V A language. After a feasibility study, requirements analysis, design, detailed design, coding and testing to achieve the design of the system.this paper have detailed analysis and elaboration for the each link of development . The system function can be achieved protagonist mobile features, randomly generated different footboard and processing of Bonus items function, blood of the function, gravity sensor function and so on.

This system has been tested under the Android SDK virtual machine and real machine ZTEU930HD ,friendly interface and easy to use.

Keywords game design; Android; Java

目录

第一章系统概述 (1)

1.1 游戏开发背景及意义 (1)

1.1.1 开发背景 (1)

1.1.2 开发意义 (1)

1.2 开发平台介绍 (2)

1.2.1 Eclipse (2)

1.2.2 ADT (2)

1.2.3 JDK (2)

1.3 Android操作系统结构 (2)

1.3.1 Android操作系统介绍 (2)

1.3.2 Android操作系统的优点 (3)

1.3.3 Android系统结构 (3)

1.3.4 Android应用程序组成部分 (4)

第二章可行性分析 (6)

2.1编写目的 (6)

2.2 可行性研究任务 (6)

2.2.1技术可行性 (6)

2.2.2经济可行性 (7)

2.2.3操作可行性 (7)

2.3 可行性研究结论 (7)

第三章需求分析 (8)

3.1需求分析的意义 (8)

3.2游戏功能需求 (8)

3.3可靠性和可用性需求 (8)

3.4 用例图 (9)

第四章总体设计 (10)

4.1 总体设计的目标和意义 (10)

4.2 功能模块的划分 (10)

4.3 时序图 (11)

第五章详细设计 (12)

5.1详细设计的目的和意义 (12)

5.2总程序流程图 (12)

5.3 随机产生踏板 (14)

5.4 血条参数的设置 (15)

5.5 加分物品的生成 (15)

5.6 主角连续动作的生成 (16)

5.7 主角与踏板关系的判断 (16)

5.8 主角与加分物品关系的判断 (16)

第六章开发平台的搭建 (17)

6.1 JA V A虚拟机的安装 (17)

6.1.1JDK的安装 (17)

6.1.2 Java环境变量配置 (18)

6.2 Eclipse的安装 (18)

6.2.1 安装SDK (18)

6.2.2 Eclipse的安装 (19)

第七章编码实现 (21)

7.1 编码的目的 (21)

7.2 游戏截图 (21)

7.3 游戏功能的实现 (22)

7.3.1主角动作的实现 (22)

7.3.2随机产生踏板 (23)

7.3.3下一个踏板的生成 (25)

7.3.4随机生成加分物品 (25)

7.3.5处理主角和踏板的关系 (26)

7.3.6判断主角与加分物品的关系 (28)

7.3.7重力感应系统 (29)

7.3.8游戏难度的提升 (29)

7.3.9 设置实现 (29)

第八章系统测试 (31)

8.1 测试的目的及意义 (31)

8.2测试步骤 (32)

8.2.1 模拟器测试 (32)

8.2.2 真机测试 (34)

8.3 测试结果分析 (35)

结束语 (37)

致谢 (38)

参考文献 (39)

附录外文翻译 (40)

第一章系统概述

1.1 游戏开发背景及意义

1.1.1 开发背景

手机游戏的出现是为了娱乐心神,并随着移动终端和移动通信网络的不断进步,手机游戏也正在经历由简单到复杂的进化过程。从全球来看,移动终端的娱乐服务被认为是带动移动数据业务快速发展的重要力量。作为手机娱乐服务的重要内容之一,近年来,伴随着移动网络和移动终端性能的不断提高与完善,尤其是智能手机的出现,手机游戏业务呈现快速增长趋势。

近几年来,手机游戏快速发展的同时按内容可分为:角色扮演类、冒险类、格斗类、体育竞技类、电影改版类、棋牌类、益智类、模拟类。手机游戏种类已成为人类线上娱乐生活的不可缺少的最主流的载体而存在,各类智能手机伴随着PC网络游戏为基础、3网络的不断变化为措施的条件下大力迅猛发展手机网络游戏。虽然手机游戏的用户越来越多,丰富多彩的游戏种类给玩家带来了更多的选择,但是我国的手机游戏行业的发展现状并不乐观,主要因素有:(1)高质量游戏软件开发公司和人才的贫乏,导致无优秀游戏打入市场。(2)游戏创意的匮乏。大多游戏都只是一味的跟风,看到某个游戏成功赢得市场,便改换场景风格,人物造型、故事背景等,其游戏核心一沉不变的思维理念会使得玩家产生审美疲劳。

随着Android游戏的商业模式越来越凸显,人们对移动终端的休闲娱乐功能需求越来越大,移动终端上的游戏已成为成为现代人们娱乐生活中不可或缺的。游戏应用服务市场促使手机平台的不断提升而日新月异。在未来的游戏产品能否脱颖而出,一切取决于你能玩出什么花样来,这将激发更多的开发商和制作人员攻坚克难创作出高质量的作品,而面对手机游戏自身的趣味性、易掌握性、可中断性、交互性、游戏商家也将面临亘古未见得激烈竞争。由此可见,手机已是人们日常生活中密不或缺的休闲娱乐方式。

1.1.2 开发意义

在人们的生活中,大多数人都已离不开手机,而大多数手机用户选择智能手机,开发Android游戏旨在为人们日常生活添加更多的娱乐方式,此次设计出一个能够在任何环境任何时间放松心情娱乐心身的单机游戏,通过简单易操作的Android游戏帮助手机

用户打发闲暇时间、娱乐心身、放松心情。

1.2 开发平台介绍

“跳吧”游戏开发平台为Eclipse4.3.2 + ADT22.6.2 + JDK1.7.0_51,模拟测试平台为Android SDK模拟器,真机测试平台为ZTEU930HD。

1.2.1 Eclipse

Eclipse是不仅仅是成为专门开发JAVA程序的IDE环境,根据Eclipse的体系结构,通过开发插件,它能扩展到任何语言的开发,甚至能成为图片绘制的工具。Eclipse是一个开放源代码的项目,任何人都可以下载 Eclipse 的源代码,并且在此基础上开发自己的功能插件。也就是说未来只要有人需要,就会有建立在Eclipse之上的C++,JAVA,Python等语言的开发插件出现。同时可以通过开发新的插件扩展现有插件的功能。可以无限扩展,而且有着统一的外观,操作和系统资源管理,这也正是 Eclipse的潜力所在。在本项目中,Eclipse正是通过第三方插件—ADT实现了开发 Android 应用。

1.2.2 ADT

ADT是英文 Android Development Tools 的简称,即Android开发工具包。

ADT是Eclipse中构建Android应用程序IDE插件,ADT扩展了Eclipse的功能,让开发人员快速建立新的Android项目、创建应用程序的用户界面。ADT可以帮助Eclipse 找到Android sdk,再加上Android框架的API组件调试使用Android SDK工具,以便APK分发给应用程序。 ADT大大减轻Android应用程序的开发工作量,工具集成XML编辑器,将给开发人员一个令人难以置信的开发Android应用环境。使用ADT之前,必须确认已经安装了Eclipse以及同Eclipse IDE兼容版本的Android SDK。

1.2.3 JDK

JDK(Java Development Kit) 是 Java 语言的软件开发工具包(SDK)。有SE、EE、ME三个版本。

没有JDK的话,无法编译Java程序,如果想只运行Java程序,要确保已安装相应的JRE。

1.3 Android操作系统结构

1.3.1 Android操作系统介绍

Android是一种基于Linux的自由及开放源代码的操作系统,主要在移动设备上工

作,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发。Android操作系统最初由Andy Rubin开发,主要支持手机。随后Google以Apache开源许可证的授权方式,发布了Android的源代码。第一部Android智能手机发布于2008年10月。Android逐渐扩展到平板电脑及其他领域上。

1.3.2 Android操作系统的优点

作为一个手机平台,Android 在技术上的优势主要有以下几点:

(1)全开放智能手机平台

(2)多硬件平台的支持

(3)使用众多的标准化技术

(4)核心技术完整,统一

(5)完善的 SDK 和文档

(6)完善的辅助开发工具

Android 的开发者可以在完备的开发环境中进行开发,Android 的官方网站也提供了丰富的文档、资料。这样有利于 Android 系统的开发和运行在一个良好的生态环境中。

1.3.3 Android系统结构

Android的系统结构如下图1.1所示:

图 1.1 Android系统结构

Android 的第 1 层次由 C 语言实现,第 2 层次由 C 和/C++实现,第 3、4 层次主要由 Java 代码实现。第 1 层次和第 2 层次之间,从 Linux 操作系统的角度来来看,是内核空间与用户空间的分界线,第 1 层次运行于内核空间,第 2、3、4 层次运

行于用户空间。第 2 层次和第 3 层次之间,是本地代码层和 Java 代码层的接口。第 3 层次和第 4 层次之间,是 Android 的系统 API 的接口,对于 Android 应用程序的开发,第 3 层次以下的内容是不可见的,仅考虑系统 API 即可。由于 Android 系统需要支持 Java 代码的运行,这部分内容是 Android 的运行环境(Runtime),由虚拟机和Java 基本类组成。对于 Android 应用程序的开发,主要关注第 3 层次和第 4 层次之间的接口。

1.3.4 Android应用程序组成部分

一般情况下,Android 应用程序由以下 4 种组件构成:

活动(Activity)、广播接收器(BroadcastReceiver)、服务(Service)、内容提供者(Content Provider)。

活动是最基本的 Android 应用程序组件,在应用程序中,一个活动通常就是一个单独的用户界面。每一个活动都被实现为一个独立的类,并且从活动(Activity)基类中继承而来,活动类将会显示由视图(View)控件组成的用户接口,并对事件(Event)做出响应。大多数的应用程序都会有多个用户界面,因此便会有多个相应的活动。Android 的一个活动一般对应界面中的一个屏幕显示,可以理解成一个界面,每一个活动在界面上可以包含按钮、文本框等多种可视的 UI 元素。

Android 系统中的不同组件具有不同的生命周期。Android 根据每个进程中运行的组件以及组件的状态把进程放入一个重要性分级(importance hierarchy)中。Android 进程的重要性分级,可以理解成执行的优先级。活动的生命周期如图 1.2 所示。

运行活动的情景:当一个活动被启动时,活动中的 onCreate()、onStart()和onResume()这 3 个方法被依次调用,活动对应的界面出现在屏幕上。

活动被“覆盖”的情景:Android 的活动一般都占据一个完整的屏幕,从当前活动启动另外一个活动时,另一个活动将被启动到前台(Foreground),当前活动转入后台(Background),这时活动的 onPasuse()方法将被调用,活动转入后台运行。如果活动变为不可见,还将调用 onStop()方法。在转入后台onStop()是否被调用取决于活动是否被完全覆盖,在新的活动有透明部分时,转入后台的活动依然“可见”,其他情况下(较多数的情况)活动均进入不可见状态(被完全覆盖)。

活动被恢复的情景:当界面上最前面的活动退出后,它所覆盖的活动将被恢复,这时 onResume()方法将被调用,活动重新转入前台运行。

活动完全退出的情景:当使用回退(Back)按钮退出活动时,onDestroy()方法将被调用,活动关闭。如果系统缺少内存时,也会杀死(kill)后台的活动,其中优先杀死不可见的活动,可见的活动一般不会被杀死。

图 1.2 活动的生命周期

第二章可行性分析

2.1编写目的

可行性研究的目的是目标系统是否值得去开发,怎样才能达到这个目的。

一个项目的开发需要仔细分析,看它在目前的情况下是否可行,如果一个项目开发它具有很好的背景和意义,但是在经济上或者是技术上是不可行的,那么它也只能称之为不能实现的项目。

2.2 可行性研究任务

2.2.1技术可行性

确保现有的技术是否能解决本该开发项目:系统采用JAVA语言开发,Eclipse作为Android开发环境。ADT插件提供了一系列图形用户界面组件进行界面编程,所以在技术上可行。Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由Sun Microsystems公司推出的Java程序设计语言和Java平台的总称。Java自面世后就非常流行,发展迅速,对C++语言形成了有力冲击。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。

Java是目前使用最为广泛的网络编程语言之一。它具有简单,面向对象,稳定,与平台无关,解释型,多线程,动态等特点。Java语言有以下几点优点:(1)面向对象的编程更符合人的思维模式,使人们更容易编写程序。

(2)内置对多线程的支持。

(3)Java程序的安全性。当你准备从网络上下载一个程序时,你最大的担心是程序中含有恶意的代码,比如试图读取或删除本地机上的一些重要文件,甚至该程序是一个病毒程序等。当你使用支持Java的浏览器时,你可以放心地运行Java的小应用程序Java Applet ,不必担心病毒的感染和恶意的企图,Java小应用程序将限制在 Java运行环境中,不允许它访问计算机的其它部分。

(4)Java 程序的基本组成单元就是类,有些类是自己编写的,有一些是从类库中

引入的,而类又是运行时动态装载的,这就使得 Java 可以在分布环境中动态地维护程序及类库,而不像 C++那样,每当其类库升级之后,相应的程序都必须重新修改,编译。

因此我觉得Java程序语言该技术已成熟,采用JAVA编程语言是可行的。

2.2.2经济可行性

由于“跳吧”游戏作为毕业设计进行开发,有本人亲自开发,成本不会太高,所以经济上是可行的。

2.2.3操作可行性

确定软件产品是否能够被最终的用户所接受,用户是否能操作最终的产品:该游戏在方便易操作的Android手机上运行,方便于玩家操作。

2.3 可行性研究结论

根据以上几个方面的研究,在技术上、经济上和操作上都是可行的,本项目可进行开发。

第三章需求分析

3.1需求分析的意义

为了开发出真正的满足用户需求的软件产品,首先必须知道用户的需求。为软件需求的深入理解是软件开发工作获得成功的前提条件,不论人们把设计和编码工作做得如何出色,不能真正的满足用户需求的程序只会令用户失望,给开发者带来烦恼。

需求分析是软件定义时期的最后一个阶段,它的基本任务是准确地回答“系统必须做什么”这个问题。

3.2游戏功能需求

游戏能够实现让玩家在游戏中放松心神、减轻压力的作用,同时要求游戏中的精灵不断变换,锻炼玩家眼力与手部灵活性的功能。

要求“跳吧”游戏能实现以下功能:

1、主角移动功能。主角移动功能就是玩家利用手机重力感应系统对其进行左右移动操作。

2、产生踏板功能。系统可以随机产生不同类型的踏板,这些踏板分为:稳定踏板、带刺踏板、左/右移动踏板、弹簧踏板、不稳定踏板,并且这些踏板能够以一定的速度向屏幕顶部移动;同时,带刺踏板可以对主角造成一定的伤害,左/右移动踏板可以将主角向左/右移动,弹簧踏板会将主角向上弹起,不稳定踏板会在主角站在上面时破碎,稳定踏板不产生任何效果。

3、产生加分物品。系统会随机产生不同类型的加分物品,物品分值随物品类别不同而不同,且物品要停留一定时间再消失。

4、设置功能。能够对游戏进行一些简单的设置,这些设置包括音效设置、震动设置、主角移动速度设置、输入玩家名称。

5、血条功能。主角在踩到带刺踏板时,血条减少一定的值,当主角掉到屏幕下方时血条值归零。

6、排行榜功能。游戏可以跟据玩家的游戏得分按由高到低顺序进行排名次。

3.3可靠性和可用性需求

在游戏开发阶段要求在windows 7操作系统、JAVA编程语言、Eclipse平台下开发,

在Android SDK虚拟机和ZTEU930HD真机下测试运行。

要求游戏能够在Android 4.0.0及其以上版本、RAM为512MB的安卓手机上稳定流畅运行,并要求游戏在运行过程中不能影响手机正常通信功能及用户手机上的其他应用功能。

3.4 用例图

在该游戏中玩家可操作游戏的功能有:通过重力感应对游戏主角进行左右移动、输入玩家名称、点击返回按钮、点击重新开始按钮、点击退出按钮、点击开始按钮、点击排行榜按钮、设置音效(开/关)、设置主角移动速度、设置震动效果。游戏用例图如图3.3 。

图 3.3 用例图

第四章总体设计

4.1 总体设计的目标和意义

经过前面的需求分析,已经确定了系统要做什么,总体设计的目的是为了实现现在怎么做。总体设计的意义是为了更好地设计游戏让后续的工作更好地高质量工作。

4.2 功能模块的划分

该游戏有人物模块、踏板模块、设置模块、加分物品模块、血条模块、排行榜模块,其中在设置模块下包含有音效设置、震动效果设置、人物移动速度模块、输入玩家名称模块,其模块划分如下图4.1。

图 4.1 功能模块图

在主角移动模块中要实现主角移动动作时显示连续的效果;踏板模块是系统随机产生的,含有不同类型的踏板;在设置模块当中玩家可以根据自己的喜好进行音效设置(包含音效的开和关)、震动效果设置、输入玩家名称和主角移动速度的设置;在加分物品模块当中,系统会随机产生8中不同类型的加分物品,当主角捡到加分物品时游戏成绩增加,血条模块当中,每当主角受到伤害时血条值将会减少一定的值;排行榜模块是为

了更好地显示玩家排名。

4.3 时序图

游戏大概操作流程为玩家点击游戏图标进入游戏主界面,然后点击开始游戏进行操作,等游戏结束后玩家在弹出的窗口输入玩家名称,然后点击结束按钮退出游戏,游戏时序图如图4.2 。

图4.2 时序图

第五章详细设计

5.1详细设计的目的和意义

详细设计的目的是为了能够确定具体地实现所要求的系统,经过前面的分析和设计,现应该对目标系统得出详细的描述,并设计出详细的方案,以便让程序员能够写出更为高质量的程序代码。

5.2总程序流程图

系统总程序流程图如图5.1所示。

图 5.1 系统总流程图

系统开始时先进行判断是否为开始游戏、是否设置游戏参数、是否查看排名、是否退出游戏,然后系统根据选择进行相应的操作,如果选择是开始游戏则做出开始游戏的动作直到游戏结束并输入玩家名称,点击返回按钮;若选择为设置游戏则对游戏的各项

参数进行设置,然后点击返回按钮;加入选择排名则系统显示玩家成绩与排名,然后点击返回按钮。

图 5.2 游戏流程图

游戏流程图如图5.2所示,当点击开始游戏时,系统判断玩家接触到的踏板类型,然后根据踏板的类型做出不同的效果,当玩家左右移动时碰到不稳定踏板时,踏板破碎;当为弹簧踏板时玩家被弹起;当为左右移动踏板时,玩家随踏板左右移动;当为带刺踏

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