当前位置:文档之家› 基于Android的迷你桌球游戏设计与实现毕业论文论文

基于Android的迷你桌球游戏设计与实现毕业论文论文

目录

摘要 (1)

关键词 (1)

绪论 (1)

1 游戏开发概述 (2)

1.1 背景 (2)

1.2 课题来源 (3)

1.3 国内外研究现状 (3)

1.4 Android应用程序构成 (4)

1.4.1 应用程序 (5)

1.4.2 应用程序框架 (5)

1.4.3 库与运行环境 (5)

1.4.4 内核 (5)

2 游戏开发平台搭建 (5)

2.1 SDK的下载与安装 (5)

2.2 Eclipse集成开发环境的搭建 (6)

2.3 虚拟设备的创建与模拟器的运行 (7)

3 游戏设计方案 (7)

3.1 游戏开发平台 (7)

3.1.1 硬件平台 (7)

3.1.2 软件平台 (7)

3.2 游戏流程图 (7)

3.3 游戏类的设计及框架 (8)

3.3.1 公共类 (8)

3.3.2 辅助界面类 (8)

3.3.3 游戏界面类 (9)

3.3.4 情景类 (9)

3.3.5 自定义控件及工具类 (9)

3.4 游戏的准备 (9)

3.4.1 图片准备 (9)

3.4.2 音效准备 (9)

3.5 主要功能的设计 (9)

4 主要技术分析 (10)

4.1 碰撞检测及处理 (10)

4.2 数据库的实现 (10)

5 游戏测试 (10)

5.1 游戏测试概述 (10)

5.2 欢迎界面的测试 (11)

5.3 主菜单 (12)

5.4 关于界面 (12)

5.5 帮助界面 (13)

5.6 开始游戏 (13)

5.6.1 倒计时模式 (14)

5.6.2 练习模式 (15)

5.6.3 排行榜 (15)

5.7 设置 (16)

5.8 退出 (17)

5.9 游戏的优化与改进 (17)

总结 (17)

致谢 (18)

参考文献 (18)

英文摘要 (19)

基于Android的迷你桌球游戏设计与实现

计算机科学与技术专业学生学生姓名:***

指导教师***

摘要:随着人们生活质量的不断提高以及手机和网络的普及,人们的业余生活要求也在不断提升,选择一款好玩,精美,画面优良的休闲手机游戏已经成为一种流行的休闲方式。休闲手机游戏作为一种发展智力,缓解紧张的神经、放松心情的娱乐活动已经成为覆盖年龄段最广的游戏类型之一。所以本论文结合以面向对象的开发语言Eclipse SDK的开发平台开发的一款基于Android的迷你桌球游戏。本游戏主要包含公共类、情景相关类、游戏界面类、自定义控件及工具类和辅助界面相关类几大类,共有三十个小类构成。游戏使用全触摸的方式,操作十分简单,容易上手。

关键词:Android;游戏;桌球;毕业设计

绪论:智能手机(Smartphone),它们具有独立的操作系统,用户可以根据个人的工作需求和娱乐需求,自己去安装一些功能强大而且免费的由各个软件开发运营商所提供的软件程序,从而让自己的手机变得如同个人电脑一样功能强大,同时还可以接入移动网络来体验各种乐趣。而现在除了手机,基于Android的平板电脑也开始在人群中普及,这些手机软件依然可以在平板上运行。当今社会,开发智能手机的开发商以及生产商几乎占有全球所有的手机开发厂商,比如Nokia、iPhone、RIM、Motorola、HTC等都是智能手机开发行业带头人。

智能手机具有五大特点:(1)拥有接入移动通信网络和无线网的能力[9],在国内所有的智能手机都可以接入移动公司的GSM网络、电信公司的CDMA网络、联通的网络中的一种或者多种网络,而现在3G网络几乎已经完成普及工作,4G 网络也已经出现,其飞速的上网速度深得大家的好感。(2)人性化,由于智能手机用户的人群基数非常庞大,每个人对于手机的功能需求和手机所拥有的软件需求更是千差万别,然而智能手机可以满足手机用户的需求来自行更改手机的非核心系统软件。(3)开放性的操作系统,Android手机基于Android操作系统开发的手机,所以它也具有Android系统的特性,那就是开源。(4)智能手机具有丰富的功能。

2003年,Android的创始人Andy Rubin 在参与到Android的传奇性发展之前曾经说过:“在开发移动设备方面存在着巨大的潜力”,他还说过:“如果开发者足够聪明的话,他们很快就会在消费类产品中使用这些位置信息”。实际上,在当时移动通信领域早晚都会发生巨大的革命,从而会催生出我们在以前未见过的功能远比移动电话强大的智能手机,只不过有些人的目光比较长远,提前发现了这个市场的庞大。

终于,在2005年7月,Google公司收购了Android,当时在普通手机用户的世界中这只是一个小消息,经常可以见到,但是在移动设备领域有很多的高层领导和开发人员都注意到了这则消息,并且认为Google公司会有一番大动作,终于这次的收购行动成为Google公司军军移动通信市场的一个标志,尽管这个当时由 Chris White、Nick Sears、Rich Miner 以及 Andy Rubin 四个人共同创建的一个小规模的移动软件开发公司。在现在看来,他们的怀疑是正确的。差

不多在两年半以后,到2007年11月5日,Google公司给当时的移动通信设备领域带来了一场非常庞大的巨型变革风暴,因为它发布了一款基于Linux的全新的Android操作系统,这款新发布的操作系统继承了Linux操作系统的特性也是开源的。G1这款拥有摄像头、导航功能等众多Google应用程序的手机是第一款搭载 Android 操作系统的手机,G1手机的上市,标志着Google公司发起了了一场移动通信设备领域的大冒险。

Android 操作系统版本

Android 1.1 (2009 年 2 月发布)

2009年5月Android 1.5 “Cupcake”发布。因为这次的升级,手机的操作界面发生了很大的改变,给予手机用户全新的体验,所以它成为Android操作系统的一个主要版本。

HTC的 Hero这款手机搭载了Android 1.6 “Donut”在2009年9月发布。这是搭载Android操作系统的手机出现以后非常成功的例子,使得原来很多没有用过Android操作系统的人都非常的关注,但是这也让Android的众多的竞争者产生警惕心,开始更加密切的关注。

Android 2.0/2.1 于2009年10月26日发布,Android又一个主要版本的升级以创纪录的速度推出。这一次,Android操作系统有了质的改变,因为它升级到了Android 2.0/2.1。又一次的将Android推向新的高峰,让世界众多的用户眼前一亮。

Android 2.0.1 SDK 于2009年12月3日发布出来,2010年1月10日又推出了Android 2.1 版本的SDK 。之后Android 2.2版本“FroYo”(冻酸奶)也跟着发布了,至此人们已经习惯了Android操作系统地命名方法,那就是以甜点的名字来命名每一款系统的版本。这一新版本的更新也让大量其他智能手机用户垂涎三尺。时间一直到了现在,Android操作系统已经更新到了Android 5.0,智能手机也已经在全世界普及,同时Android操作系统也进入了平板电脑的市场。Android的发展历程以及现状让我们相信在未来一段时间内Android依然会作为移动通信领域的主流操作系统,并且会一直持续下去。

1 游戏开发概述

1.1 背景

我们在生活中或多或少的会接触和玩一些手机游戏,但是在市场上有众多的游戏种类,每一种手机游戏的每一款游戏都会给玩家带来不同的感受。在我们的日常生活中手机游戏已经成为必不可少的娱乐项目。游戏平台经过从古老的游戏机到电视游戏一直发展到手机游戏,在这几十年中间游戏领域的发展经历了众多的变革和更新换代。随着新兴电子技术的发展和人们生活水平的不断提高,智能手机已经开始普及并基本完成普及,现今社会青少年、青年和中年人基本上每个人都拥有一部属于自己的智能手机,而其他年龄段的人也都接触过智能手机。所以基于智能手机平台的手机游戏所拥有的市场是异常巨大的。

Android操作系统是Google公司于 2007 年 11 月 5 日所发布的基于Linux平台的开源手机操作系统,号称是首个为移动终端打造的真正开放和完整的移动软件[2]。自从Google公司发布了智能手机 Android开源操作系统以来,Android智能手机迅速地进入手机电子市场的领先行列,并将持续下去。而手机游戏作为 Android 操作系统平台的最主要的应用,预示着基于 Android 开源操

作系统平台的智能手机游戏会拥有巨大的市场潜力,现阶段我国国内研究开发Android 智能手机游戏的开发人员开始渐渐地变多,移动互联网业界及其它行业的许多知名人士都对 Android 智能手机游戏在未来很长一段时间内的发展持一种乐观的态度,更有移动互联网业界精英表示, Android 智能手机游戏将会是游戏产业经济的下一个热门阶段,也将会是手机游戏的未来,并且将一直持续下去。

1.2 课题来源

随着计算机科技和移动无线通信技术的快速发展,智能手机用户的数量越来越多,手机用户在挑选移动智能手机设备的时候己经不再仅仅拘泥于基本的通话功能和短信收发功能。而日新月异的计算机技术从某种程度上大大提高了移动智能手机设备处理数据的速度,因而可以在手机上安装更多的实用的手机软件和好玩的手机游戏。手机游戏作为手机上的众多实用软件类型之一,得到了广大智能手机用户的喜爱和下载。因此智能手机的应用软件和游戏已经被越来越多的研发机构和部门开始着手于研究开发。那些操作简洁方便、剧情简单、有利于提高人们的思维和智力的小游戏更是因为手机的硬件资源有限、玩家无法长时间连续玩游戏等特点,使得手机游戏开始普及起来。

Android操作系统平台上的手机游戏相比于其它应用软件,手机游戏用户的基本和核心需求是一样的的,这些基本的需求跟时代的变更和计算机科技的发展有着密切的关系,而跟玩家在什么地方无关。因此,绝大多数种类的手机游戏具有普变适应性。因为一部分职业游戏玩家的存在,他们会带动周围的朋友、同时也开始接触手机游戏,一部分人带动另一部分的人加入到手机游戏用户的行列,而且会持续到直到市场饱和为止。

综上所述, Android操作系统平台相比于其它智能手机平台拥有更多的优势,因为Android手机用户的数量是当今世界最多的,所以为了满足广大的Android手机用户的需求,Android操作系统就要快速的持续更新和发展,而作为Android智能手机最主要的应用软件种类之一的手机游戏,它所具有非常庞大的的市场价值。所以本次毕业设计我要做的就是一款基于Android操作系统平台的小型手机游戏。

1.3 国内外研究现状

Android 操作系统是Google公司发布的一款基于Linux平台的开源手机操作系统。不存在任何阻碍移动互联网产业创新的专有权问题。Google公司通过与开发商、设备制造商、运营商和其它有关的商家签合同从而建立合作关系,希望建立一个标准化、开放式的移动软件平台,在移动互联产业内形成一个标准化、开放式的生态系统[1]。

Google 公司制定企业战略是以Android 操作系统作为中心点进行的,为了推进“随时随地为每个人提供信息”这一目标。Google公司会推广。开发一些特殊的、实用的、深受大家喜爱的移动互联服务。开放手机联盟的成立和 Android 操作系统的推出是对当时国内外手机操作系统现状的重大变革。而且Google公司将继续努力,同时社会上的其它研发机构和开发部门也会努力地去研发一些更好、更实用、更加具有吸引力服务产品。

Android 操作系统平台在市场上的优势主要体现在以下几个方面。

(1)开放性

Android 平台是一款开源的操作系统的平台,它与世界上众多的手机研发厂商和生产商即开放手机联盟合作建立了一套开放式、标准化的规则。因为这种规

则,所有的手机开发商都参照这种标准进行手机的开发,按照这样的情况继续发展下去,手机生产行业将会实现一体化。

(2)平等性

在搭载了Android操作系统的手机上,手机在出厂之初会自带一部分的应用软件,但是仅仅是这些自带的软件并不能满足人们的基本需求,所以用户会自行安装一些感兴趣的、有意思的实用型软件,安装成功后的运行状态和手机自带的功能没有任何冲突。

(3)丰富的硬件选择

因为Android操作系统是开源的,在手机研发和生产领域已经建立了一套所有Android手机共同遵守的规则,所以众多的生产商生产的手机配件都是标准化的,任何一个部件都拥有其替代产品,而且硬件的更换丝毫不会影响到手机软件的运行状态。

(4)方便性

Android系统在现在的发展特别的好,基于Android的智能手机用户数量也是最多的,因此在应用软件市场也变得非常庞大,里面的应用软件种类繁多。但是只要手机的硬件系统可以跟的上,每一款软件都可以都可以随便安装在任何一款Android手机上。

(5)无缝结合的 Google 应用

Google公司经过了数十年的历史,现在已经叱咤互联网的世界,虽然Google 已经从国内撤出,但是丝毫不会影响Google的地位。Google的服务如Google 地图、搜索、邮件等手机应用程序已经成为了连接用户和互联网的重要纽带,而Google公司所推出的 Android平台智能手机将无缝结合这些优秀的、受广大人民群众喜爱的Google服务[3]。

1.4 Android应用程序构成

图 1 Android 架构模型

Android 操作系统作为一个开源的移动设备的平台,其软件层次结构自上而下分为四个层次,分别是:Linux 内核(Linux Kernel)、运行环境(RunTime)、各种库 (Libraries)、应用程序框架、应用程序(Application)[10]。如图1为Android架构模型。

1.4.1 应用程序Android应用程序突破传统思维,它的每一个版本所带有的用户操作界面都很新颖。每个手机出厂时都带有众多的应用程序,其中有Google 自己的应用软件,也有手机市场上比较主流的应用程序。应用程序可以在平等条件下创建,还可以轻松地嵌入Web,可以并行运行[5]。

1.4.2 应用程序框架Android 的应用程序框架为应用程序层的程序开发人员提供 APIs,它实际上是一个应用程序的框架。它的上层的应用程序是用 Java 来构建的,提供了UI程序中所需要的各种控件:例如:buttons(按钮)、text boxes(文本框)、grids(栅格)、Views(视图组件)等。

一个基于 Android 平台的应用程序应该利用应用程序框架中几个部分:如Content Provider(内容提供者)、Service(服务)、Broadcast Receiver(广播接收者)、Activity(活动)。

1.4.3 库与运行环境Android 平台能被Android系统中不同的组件使用,是因为它包含一套标准的 C/C++库。这些功能将会通过 Android 应用程序框架来展现给程序开发人员。这些库如下:System C library、 Media Framework、Surface Manager、WebKit、SGL、3D libraries、FreeType、SQLite。 Android 平台在运行时包含了能实现Java 语言基本功能的核心库。 Android平台的运行环境Dalvik。 Dalvik虚拟机的潜在功能的实现依赖于Linux 内核,如底层内存管理和线程等。 Dalvik VM和一般的Java VM不同,Java VM执行的是Java 的标准字节码而Dalvik执行的是.dex可执行文件。在可执行文件运行时,每一个应用程序都是一个进程。这二者最大的区别在Dalvik是基于寄存器的虚拟机(Register-based)[6],而JavaVM 是以基于栈的虚拟机(Stack-based)。

1.4.4 内核Android平台使用的系统的核心服务是Linux

2.6 内核来提供的,例如:网络堆栈,进程管理,内存管理,安全机制等。Android更多的是需要一些与移动设备相关的驱动程序[7]。其需要的主要驱动有:Binder IPC驱动、蓝牙驱动(Bluetooth Driver)、摄像头驱动 (Camera Driver)、键盘驱动(KeyBoard Driver)、WiFi驱动(WiFi Driver)、Flash驱动(Flash Driver)、音频驱动(Audio Driver)、显示驱动(Display Driver)[11]。

2 游戏开发平台搭建

2.1 SDK的下载与安装

(1)下载JDK安装程序。https://www.doczj.com/doc/465625733.html,/javase/downloads,此网站是SUN官方网站下可以下载最新的JDK安装程序的网站,Android开发人员可以到这里下载各种版本的JDK程序。本游戏设计所用JDK版本为7.0.210.11;

(2)双击JDK安装程序,之后系统会弹出各种安装窗口,在窗口内部有提示步骤,根据提示安装就可以了;

(3)打开计算机的环境变量,在系统环境变量中新建一个JAVA_HOME,将它的值设为刚刚JDK的安装目录的路径名,编辑Path,在Path默认已经存在的值后面加上刚刚JDK的安装目录下的\bin目录的路径名;

(4)下载SDK。Android开发人员可以到官网下载最新的SDK,本游戏设计使用的版本是2.1。直接解压刚下载好的或者已经有的SDK压缩目录,我将SDK 解压到“E:\1\Android”,在系统环境变量中编辑Path系统环境变量,在其中加上SDK解压目录下的platform-tools目录路径和tools目录路径,即“E:\1\Android\android-sdk-windows-4.2\platform-tools”和

“E:\1\Android\android-sdk-windows-4.2tools”和如图2所示。

图2 修改环境变量

2.2 Eclipse集成开发环境的搭建

(1)自行下载最新版的Eclipse的集成开发环境,可以到eclipse官方网站下载。本游戏设计所用的版本为3.7。

(2)解压目录,进入并双击eclipse.exe文件,运行Eclipse,会弹出一个窗口,选择程序默认存储路径,如图3所示。

(3)安装ADT,点击Help->Install New Software,弹出Install窗口后点击Add,,Name:随意;Location:https://www.doczj.com/doc/465625733.html,/android/eclipse,如图4所示窗口。

(4)将Developer Tools选中,接着按照系统提示步骤完成设置;

(5)选择Windows->Preferences,选择左侧的“Android”,点击“Browse”按钮,选择SDK安装目录,再点击“Apply”->“OK”,即可。

图3 workspace

图4 填写ADT 地址

2.3 虚拟设备的创建与模拟器的运行 3 游戏设计方案

3.1 游戏开发平台

3.1.1 硬件平台 PC 机、华为C8813Q 智能手机。

本游戏开发采用PC 机安装所需的开发软件进行游戏代码的编写,游戏代码实现后将采用智能手机安装可执行APK 程序进行游戏的测试以及初期游戏的试玩体验。

3.1.2 软件平台 Windows 7旗舰版操作系统、Android 操作系统、Eclipse 集成开发环境、JDK 。

本游戏在Windows 7旗舰版操作系统上安装JDK 程序,并使用Eclipse 集成开发环境来实现基于Android 操作系统的桌球游戏的代码,并将其生成APK 可执行程序,去让玩家来感受桌球游戏的激情。

3.2 游戏流程图

图5 流程图

开始 欢迎界面

主菜单 关于 帮助 开始游戏

设置 退出

倒计时模式 练习模式

排行榜

3.3 游戏类的设计及框架

相比于其它类的应用软件,同等级的游戏软件的代码实现较为复杂,它拥有很多的游戏类,为了方便接下来的游戏程序开发,现在现在这里对本游戏所需的类进行概要设计,明确每个类所需实现的功能以及类之的框架。如图6所示,即为本游戏所需的类的框架图。

图6 游戏类框架图

3.3.1 公共类

(1)GameActivity 该类继承并扩展了Activity 类,作为本游戏的入口。

(2)Constant 封装游戏的常量,便于日后游戏的维护。

3.3.2 辅助界面类

(1)WellcomeView 负责欢迎界面的绘制工作,实现欢迎界面。

(2)MainMenuView 游戏的主菜单,负责本游戏主菜单中虚拟按钮的绘制以及事件监听等工作。

(3)SoundControlView 音效控制类

(4)HighScoreView 排行榜界面,读取存储在数据库中的分数和时间并且显示出来。

(5)WinView 胜利界面。

(6)FailView 失败界面。

(7)AboutView 关于界面。

(8)ChoiceView “开始游戏”的选项界面。

公共类 GameActivity Constant 辅助界面类 AboutView MainMenuView WinView WellcomeView SoundControlView FailView ChoiceView HighScoreView HelpView 游戏界面类 TimeRunningThread GameViewDrawThread KeyThread BallGoThread CueAnimateThread GameView 情景类 Ball Cue Table 自定义控件及工具类 StrengthBar

Timer SoundSwitchButton DateUtil CollisionUtil VirtualButton PicLoadUtil

ColorUtil ScreenScaleResult

ScreenScaleUtil

(9)HelpView帮助界面。

3.3.3 游戏界面类

(1)GameView主界面类,用来创建对象、控制线程、监听事件等。

(2)GameViewDrawThread游戏界面的主绘制线程,不断地绘制游戏的各个对象。

(3)TimeRunningThread倒计时线程。

(4)KeyThread触控监听线程,用来读取屏幕的触控状态。

(5)BallGoThread控制桌球滚动。

(6)CueAnimateThread绘制击球动画。

3.3.4 情景类

(1)Ball桌球类。

(2)Cue球杆类。

(3)Table球台类。

3.3.5 自定义控件及工具类

(1)StrengthBar力度条。

(2)Timer显示倒计时。

(3)SoundSwitchButton控制声音开关。

(4)VirtualButton虚拟按钮。

(5)DateUtil获取系统时间。

(6)ScreenScaleResult、ScreenScaleUtil控制屏幕。

(7)CollisionUtil球与球之间的碰撞检测。

(8)PicLoadUtil控制游戏所需的图片自动适应屏幕。

(9)ColorUtil力度条的颜色。

3.4 游戏的准备

3.4.1 图片准备如图7所示,为游戏需要用到的各种图片。

图片名用途图片名用途

aim_down 杆图标bmp0 关于

aim_up 目标图标bmp 文字背景

ball00~ball152 桌球breakmark 冒号

bg 背景choice0~choice3 选项按钮

defen 得分dukea~dukeb 欢迎背景

gang 日期分隔符go_up & go_down Go按钮

help 界面背景help0 帮助

left_up & left_down 左微调按钮lose 失败

menu0~menu4 主菜单所需按钮number0~number9 数字0~9

on & off 开关pointer 力度条指针

qiu_gan 球杆right_up &right_down 右微调按钮

riqi 日期文字ruler 力度条

table0~table12 球台构成win 胜利

yinxiao* 音效开和音效关yinyue* 音乐开和音乐关

图7 图片清单

3.4.2 音效准备backsound.mp3、ballin.mp3、hit.mp3、shoot.mp3以上为本游戏所需要的各种音效以及音乐。

3.5 主要功能的设计

本游戏要实现的功能如下:

(1)关于:帮助玩家了解游戏信息。

(2)帮助:帮助玩家了解本游戏相关设置,学会如何玩本游戏。

(3)开始游戏:在此模式下进入选项界面实现倒计时模式、练习模式、排行榜三种选项。

(4)设置:设置游戏中音乐和音效的开关状态。

(5)退出:退出游戏。

4 主要技术分析

4.1 碰撞检测及处理

对于一款桌球游戏来说,每个小球之间的碰撞处理是非常重要的,下面我们就来分析一下相应的处理。

在2D游戏中,我们可以将一个小球看作是一个圆,两个小球之间的碰撞可

以看做是两个圆的碰撞。我们先取两个圆的中心点坐标(x

1,y

1

)和(x

2

,y

2

),然后取

得两个圆的半径之和R。计算两个圆的圆心距,公式为d2 = (x

1 - x

2

)2+(y

1 -

y

2

)2,

将R与d进行比较,如果R和d相等,则认为两个小球发生了碰撞,需要进行碰撞处理。图8为两个小球碰撞前与碰撞后的速度示意图。

图8 小球碰撞速度分析

4.2 数据库的实现

SQLite是一款嵌入式数据库引擎,因为它是开源的,所以很多开发中的数据库的都是采用SQLite。它拥有处理速度快、数据存放集中、占用资源少、支持平台多的特点。

本文数据库的实现,首先获得SQLiteDatabase对象来创建和打开一个数据库,然后对创建的数据库进行初始化工作。然后对数据库进行操作,通常包括插入新纪录、删除老纪录、修改指定记录和查询记录。

5 游戏测试

5.1 游戏测试概述

当本游戏代码完全实现以后,生成APK文件,为了检验本游戏是否能实现预期设计的基本功能,因此需要进行后期的测试,以发现本游戏中存在的BUG,解决这些问题,对程序进行优化,从而让游戏的功能以及运行时的试玩体验得到完善进而提升本游戏的质量。

对程序开发工作而言,成品软件测试是整个软件开发过程中的重要组成部分,因此对本游戏的测试贯穿于整个软件开发过程中。通常,程序开发人员在程序开发过程中会随时针对已经完成模块进行集中测试,用来保证每个模块都能实现相关的功能,这样可以让软件开发工作更加顺利,也可以让开发人员知道自己犯了哪些错误并进行改正。当一款软件开发出来之后,为了确保这款软件整体的完善性,按照软件开发工作的工作流程,一般需要软件测试员对整个系统进行测试,而在本阶段的测试主要方法就是白盒测试和黑盒测试。基于白盒测试的测试方案属于低端测试,是对各种设计细节方面的测试[4],而黑盒测试就是把要测试的对象当作一个黑盒子,只对软件的相关输入和输出数据进行完整的测试。一般情况下软件测试员进行软件测试的时候,都会将黑盒测试和白盒测试相结合,对一款软件进行完整的测试。

目前游戏开发已经越来越得到软件开发行业的重视,而在游戏的开发过程中,对游戏成品的测试一般有三种方式:第一种方法是通过游戏开发公司的内部测试人员进行测试,大部分的软件开发公司都会拥有属于自己的游戏成品测试人员,他们一般都是职业玩家,对大部分的游戏都有比较深的认识,玩的游戏种类很多,可以更好地发现游戏的隐藏BUG,从而实现游戏的测试目标;第二种方法是邀请部分玩家或游戏媒体人员对游戏的外围系统进行测试;第三种方法是游戏通过大范围的内测和公测,让更多的玩家进行试玩[8]。因为本次毕业设计的游戏属于小型娱乐游戏,人力和物力有限,所以本次的游戏测试工作主要是我自己将APK安装到手机上进行试玩和改进,然后又邀请了一些关系比较好的同学帮忙试玩,并提出宝贵的意见。

5.2 欢迎界面的测试

在手机上安装APK文件,安装完成以后运行本游戏,最先进入的就是欢迎界面,因为本游戏的欢迎界面有两幅画面,所以会等时间按先后顺序出现,因为欢迎界面所采用的图片精美,刚开始就会给玩家留下一个美好的印象,这样会让玩家在玩游戏的过程中始终拥有一个比较好的心情,这样完全达到了本次游戏设计对欢迎界面的功能的设计与实现。如图9和图10为游戏的欢迎界面。

图9 欢迎界面一

图10 欢迎界面二

5.3 主菜单

当欢迎界面一和二播放完毕后,游戏会进入主菜单的选项界面,在本界面中会有五个选项:关于、帮助、开始游戏、设置、退出。如图11即为本游戏的主

菜单界面。

图11 主菜单界面

5.4 关于界面

在主菜单界面中,将“关于”选项滑到屏幕的中间位置,并且单点击“关于”

选项,将会进入关于界面,本界面主要介绍了游戏开发的相关信息。如图12。

图12 关于界面

5.5 帮助界面

在主菜单中,将“帮助”选项滑到屏幕的中央位置,并且点击“帮助”选项,将会进入帮助界面。在本界面中主要介绍了桌球游戏的最基本的玩法和每一个按

钮的作用。如图13,即为帮助界面运行图。

图13 帮助界面

5.6 开始游戏

单击“开始游戏”选项,将进入游戏选项界面,在本界面中存在三个选项:

倒计时模式、练习模式和排行榜,点击不同的选项将进入不同的模式中。如图

14为游戏选项界面。

图14 游戏选项界面

5.6.1 倒计时模式点击“倒计时模式”,将进入正式游戏模式。

图15 倒计时模式

图16 游戏胜利界面

图17 游戏失败界面

如图15为进入倒计时模式后,游戏正在运行状态,其中右上角为游戏剩余时间倒计时。当游戏胜利并且破纪录后,游戏会弹出如图16所示窗口,送上游戏的祝福:“恭喜你破纪录了!”;但是如果游戏未在规定时间内将所有的球打进洞中或者没有超过以前的记录,游戏将弹出如图17所示窗口表示遗憾和进行激励:“请再接再厉!”。当游戏结束时,如果所有的球全都进洞,系统将会算出本局的分数并将其插入数据库中,如果规定时间结束,玩家没有将所有的球打进洞的话,本局游戏得分为零分。

5.6.2 练习模式点击“练习模式”,游戏将进入练习模式,如图18。本次游戏将不限制时间,知道玩家将所有的球打进洞中。

图18 练习模式

5.6.3 排行榜点击“排行榜”,游戏将弹出如图19所示窗口,排行榜分为日期和得分两部分。在倒计时模式中,玩家每一局游戏结束时,无论失败还是破纪录,游戏系统都会获取当前手机时间和本局得分,并且将这些信息插入游戏内部的数据库中,当运行“排行榜”模块时,系统从数据库中查询数据信息,并将它们按照分数从高到低排列显示在多个界面中。

图19 排行榜

5.7 设置

在主菜单界面中点击“设置”,游戏将弹出如图20所示窗口,在本窗口中,玩家可以根据个人喜好来选择将“音效”和“音乐”打开或者关闭。

图20 设置

图21 退出

5.8 退出

如图21,将退出选项滑到屏幕的中间位置,并且点击“退出”,游戏将完全退出。

5.9 游戏的优化与改进

当游戏的基本功能实现并且可以运行后,游戏存在些许的可优化内容,但是由于时间紧迫和个人能力不足,这些优化项无法进行优化。如果其他人有兴趣的话可以对以下两方面进行优化。

(1)游戏的规则。本游戏的设计仅仅实现了最为基础的规则,那就是只要将球打进洞中即可,但是桌球的玩法和规则多种多样,比如斯诺克打法、九球打法和花式桌球打法等,各位有兴趣的话可以将这些规则算法加入游戏中,以获得更好地体验。

(2)小球粘合现象。本游戏由于制作时间短,本人能力还略有不足,以至于玩家玩游戏时有的时候会出现小球粘合现象。如图22中红框中的两个小球碰撞在一起后,两个小球没有按照预计的路线分开,而是粘在一起导致游戏无法继续运行。

图22 小球粘合现象

总结

本次毕业设计主要研究在Android操作系统开发平台上开发一款迷你桌球游戏,该游戏的主要设计目标是要实现基本的功能,保证游戏可以正常运行。在游戏主要设计目标完成的基础下,本游戏还对游戏界面进行了相应的优化,使游戏的界面更加美观。本文主要介绍了基于Android的迷你桌球游戏的整体开发过程,包括前期的概要设计,开发环境的搭建,游戏基本功能的实现和游戏开发前的资料准备,并且分析了游戏中用到的主要技术,游戏开发完成后的整体运行测试等工作的过程。经过了以上的工作,本游戏的基本开发就已经完成了,然后只要对游戏的局部进行细微的调节与优化即可。但是,软件开发工作过程中程序是不可能十分完美的,总会存在一些缺陷,而本游戏终究发现了一个缺陷,那就是游戏过程中的小球粘合现象。因为时间和能力不足,没有对其进行完美的优化,还请见谅。

因为我以前从来没有自己做过一个完整的系统开发工作,所以通过本次毕业

设计,我深深感到了一些困难,但是还是克服了这些困难完成了基本的开发工作。在开发工作完成后,我发现我对大学这几年来的知识掌握程度有了很大的提升,相信这些都会有益于我日后在社会上的工作和生活。

致谢

在这里,我衷心的感谢我的毕业设计指导老师——***老师。沈老师是我大学中嵌入式开发和Android游戏开发两门重要课程的老师,经过跟老师的课程学习让我掌握了嵌入式专业Android开发的基本知识,更是在本次毕业设计中给予了我很大的帮助。每次当我在开发过程中遇到困难的时候,老师总会及时的出现并给予指导,并且提出很多有建设性的建议让我采纳,鼓励我不要放弃,一定要坚持下去。因为沈老师的帮助,我的毕业设计和论文才能按时的完成,在这里我再一次的谢谢沈老师的帮助和指导。同时我还要感谢华清远见嵌入式学院各位老师的指导,还有我的各位同学的帮助,它们也给予了我很大的帮助。通过和各位老师和同学的探讨与分析,我学到了很多新的知识,并且加强了我对Android 开发方面的理解。

最后,我衷心的祝愿各位老师和同学身体健康,工作顺利!

参考文献

[1] 吴亚峰,苏亚光. Android游戏开发大全[M]. 北京:人民邮电出版社,2012:2~3

[2] Conti J P. The Androids are coming[J]. Engineering & Technology,2008,3(9):153~156

[3] 靳岩,姚尚朗. Google Android 开发入门与实战[M]. 北京:人民邮电出版社,2009:5~7

[4] (美)佩腾著,张小松等译. 软件测试[M]. 北京:机械工业出版社,2006:3~26

[5] Android Developers[DB]. https://www.doczj.com/doc/465625733.html,/

[6] Google Android Forum[DB]. https://www.doczj.com/doc/465625733.html,/

[7] 姚显昊,刘卫国. Android的架构和应用开发研究[M].计算机系统应用, 2008, 11(3):51~56

[8] 赵剑平等. 电脑游戏设计教程[M]. 北京:清华大学出版社,2007:11~87

[9]彭艳. 常见智能手机操作系统及其应用开发[J]. 学术期刊,信息技术2012(1)

[10]赵亮,张维.基于Android技术的界面设计与研究[D]. 徐州:徐州建筑职业技术学院,2001

[11]车叔平. 基于Eclipse的嵌入式开发平台的研究与实现[J]. 成都:电子科技大学,2007

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