基于安卓的2048益智游戏的设计与实现

基于安卓的2048益智类游戏的设计与实现

摘要:现如今随着社会日新月异,人们越来越离不开智能手机所提供的灵活性与便携性。安卓系统是在这股手机发展迅猛的潮流中其市场占有率过半的手机平台,基于安卓系统的游戏开发有着不可估量的前景。
本论文提出一款基于安卓系统的“2048”游戏设计,并对其具体开发与实现进行剖析,决定了系统的相关功能要求,设计了游戏等级设置、菜单接口、图像和布局。在一定安卓理论的基础上对每个板块的功能实现作出了详细的阐述,最后完成游戏测试。此款游戏为益智类游戏,其内容主要包括游戏登陆、用户登陆、关卡选择、呈现游戏界面、重新开始游戏、当前分数和最高分数、游戏帮助、排行榜等板块。
本论文为安卓系统解决"2048"的开发问题,开发安卓游戏提供理论依据和指导。简单的益智类游戏可以使玩家在娱乐中不断的开发大脑,必将在我们以后的快节奏生活中发挥着重要的缓解压力作用。

关键词:安卓,游戏,益智,系统

Design and Implementation of 2048 Games Based on Android

Abstract:Nowadays, with the changing society, people are increasingly dependent on the flexibility and portability provided by smart phones. Android is the mobile platform with more than half of the market share in the rapid development of mobile phones. The development of games based on android system has an inestimable prospect.
This paper proposes a “2048” game design based on android system, and analyzes its specific development and implementation, determines the system’s relevant functional requirements, and designs the game level Settings, menu interface, graphics and layout. On the basis of certain android theory, the function realization of each plate is elaborated in detail, and finally the game test is completed. This game is a puzzle game, its content mainly includes the game login, user login, level selection, show the game interface, restart the game, the current score and the highest score, game help, leaderboard and other parts.
This paper provides theoretical basis and guidance for android system to solve the development problem of “2048” and to develop android games. Simple puzzle games can make the players in the entertainment of continuous brain development, will play an important role in our future fast-paced life to relieve stress.

Key words: Android, Game, Puzzle, System

目 录

第1章 绪 论 1
1.1研究背景和意义 1
1.1.1 2048游戏市场的背景分析 1
1.1.2 本课题的研究意义 1
1.2 国内外研究现状 2
1.3本课题研究的主要内容 2
第2章 开发环境的介绍和搭建 3
2.1 开发环境的介绍 3
2.1.1 JDK的介绍 3
2.1.2 Android Studio的介绍 3
2.1.3 Android SDK的介绍 3
2.2 开发环境的搭建 3
2.2.1 JDK的安装与环境变量配置 3
2.2.2 Android Studio与Android SDK的安装与配置 4
2.2.3 创建模拟器 4
第3章 系统的需求分析和概要设计 8
3.1系统需求分析 8
3.1.1系统功能需求分析 8
3.1.2游戏基本规则 9
3.2系统概要设计 9
3.2.1系统流程的设计 9
3.2.2系统模块设计 11
第4章 系统实现 14
4.1 游戏框架搭建 14
4.2 登陆界面的实现 14
4.3游戏界面的实现 15
4.3.1 游戏布局的实现 15
4.3.2 游戏的初始化 15
4.4 游戏滑屏卡片移动的实现 17
4.5 计分与关卡的实现 19
4.5.1 游戏计数的实现 19
4.5.2 游戏关卡的实现 19
4.6 游戏排行榜的实现 22
第5章 系统测试 24
5.1测试目的和意义 24
5.2 测试方法 24
5.3 测试用例 27
第6章 总结与展望 29
6.1 论文总结 29
6.2 展望 29
参考文献 30
致 谢 31

第1章 绪 论

1.1研究背景和意义
1.1.1 2048游戏市场的背景分析
随着4G的人气不断提高,从便携式和便携式的观点来看,手机应用程序的丰富和智慧的不断改进,电脑的体验是不能和手机相比的,智能手机甚至超过了电脑[1]。安卓和苹果平台基本上占领了整个手机市场,更多的应用程序将登场,但是移动游戏应用程序占据了主要的位置。随着安卓智能手机的人气和游戏类型的多样化,安卓移动游戏用户的数量正在稳步增长[2][3]。
目前,2048游戏最大的缺点就是单一。玩家长时间玩一个由数字组成的游戏会觉得很无聊。同时,当你习惯了游戏的方式之后,你会知道下一个数字是缺少推理的。如果游戏缺乏挑战和乐趣,就注定要失败。在当今炙手可热的Android市场,如果对现有的2048游戏进行改进,将会在未来的游戏市场上大放异彩。
1.1.2 本课题的研究意义
如今,移动游戏已占据我们生活的一席之地,并逐渐成长。换句话说,由于它的迅猛发展,今天的移动游戏不仅是一种解压工具,也是一种文化现象。随着游戏软件在市场上的开发,相关文化也在扩散。
2048游戏是电子游戏的益智游戏,实现娱乐、乐趣和教育的统一。益智游戏就是通过玩家动用大脑开始思考以赢得游戏。通过简单的益智游戏,玩家可以在娱乐活动中持续开发大脑。这样,在娱乐中学习才得以实现。
我们需要创新,开发2048游戏的不同版本。如果玩家厌倦了号码,他们可以有各种选择。2048的另一个缺点是,游戏将在玩家拼写到“2048”时结束,不利于玩家长时间游玩。因此,我们需要创造一个永无止境的游戏,让玩家不断超越自己。
1.2 国内外研究现状
目前,安卓在国内外基于应用开发主要分为企业应用、普通应用和游戏应用三个类别。最初种类的应用程序开发,主要是几个大企业为了自己公司的品牌而开发的。第二种类型的应用主要是由一些新兴企业或独立开发者开发的收益较高的应用。第三种类型的应用程序与第二种类型相同[4]。
2048小游戏是一款在全世界享有超高人气的移动游戏。简单模式和有趣的游戏风格已得到多数游戏爱好者的认可,在游戏下载排行榜前十名中连续出现了多次。
1.3本课题研究的主要内容
本文将分为以下五章:
第1章是对课题的概述。包括背景和意义、研究现况及价值。
第2章主要介绍Android应用的开发环境及其构建方法。
第3章主要分析系统需求。简单介绍各模块的基本规则和游戏规则,然后介绍系统的总体设计。
第4章主要详细说明各主模块的具体实现。
第5章主要测试系统的功能。通过安卓模拟器测试方法,判断游戏的各种功能能否正常运行。

第2章 开发环境的介绍和搭建

2.1 开发环境的介绍
2.1.1 JDK的介绍
Java Development Kit(JDK) 是Java语言的软件开发工具包。JDK是Java的核心部分,主要包括Java基础级库、Java运行环境和Java工具。主要是用于Java程序设计的免费开发工具[5][6]。
2.1.2 Android Studio的介绍
Android Studio 是一个由谷歌发明的Android集成开发工具,基于IntelliJ IDEA.,Android Studio 提供了集成的Android 开发工具用于开发和调试。使用Android Studio比起使用Eclipse开发有如下好处[7]:
(1) Android Studio使用v7库及设计库等,只需添加组件即可,Eclipse使用这些库,需要参考整个项目。
(2)高版本的SDK与NDK只支持Android Studio,不支持Eclipse。
(3)更多的新功能,如自动存储、多通道包装、统一版本管理、支持预览平板图像文件等,只能在Android Studio中使用。
2.1.3 Android SDK的介绍
SDK(software development kit)是Android应用的编译器,即是软件开发工具包。Android SDK 指的是Android专属的软件开发工具包[8]。
2.2 开发环境的搭建
2.2.1 JDK的安装与环境变量配置
(1)从网上下载JDK1.6或者JDK1.7版本。
(2)双击文件安装JDK。
(3)环境变量的配置:用鼠标右键点击“我的电脑”->“属性”->“高级系统配置”->“环境变量”[9]。点击创建新的系统变量,在变量名称中输入“JAVA HOME”[10],在JDK安装路径中输入安装路径;接着新建classpath变量,变量值设为:.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar,然后双击“系统变量”中存在的path在弹出的对话框中添加变量值:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin,最后运行->cmd,输入javac,如果出现用法说明,则表示成功[11][12]。
2.2.2 Android Studio与Android SDK的安装与配置
国内开发者可在Android Studio官网下载Android Studio,详细的下载页面是https://developer.android.google.cn/studio/index.html,在这里可以找到Android Studio的使用教程。
在Android Studio主界面上,依次选择tools→SDK manager菜单,出现Android SDK管理界面。在窗口的右边有大量的SDK配置信息。在Android SDK的location列中,您可以单击右侧的modify链接,然后选择下载后录制SDK的路径。下面的三个选项卡显示默认的SDK平台,它们是每个SDK平台的版本列表。在列表中每个元素的左侧勾选框,指示下载此版本的SDK平台,然后单击OK下载按钮并自动安装SDK。您还可以单击中间的SDK tools选项卡,然后单击以切换到SDK tools管理列表。在这个工具管理界面中,您可以升级构建工具、平台工具和开发人员需要的其他工具。
2.2.3 创建模拟器
模拟器是指在计算机上构建一个演示窗口,以模拟应用程序在移动屏幕上的操作效果。编译应用程序后,必须选择要执行的访问外设,依次选择菜单Run→Run ‘app’,Android Studio会弹出新窗口 Select Deployment Target,如图2.1所示[13]。
基于安卓的2048益智游戏的设计与实现_第1张图片

图2-1 模拟器设置界面
对于初学者,模拟器在开始时是不可用的,你必须创建一个新的模拟器,点击Create New Emulator按钮,模拟器的配置界面就会出现[14],如图2-2所示。按照默认配置即可,单击 Next按钮。
基于安卓的2048益智游戏的设计与实现_第2张图片

图2-2 模拟器设置界面
下一个界面是SDK版本的选择界面,如图2-3所示。
基于安卓的2048益智游戏的设计与实现_第3张图片

图2-3模拟器设置界面
单击第三个选项卡Other Images,并从列表中选择第一个Lollipop,表明随后创建的模拟器是基于Android 5.1系统的。然后单击下一个按钮以访问最终确认界面。单击确认界面右下角的finish按钮,等待模拟器创建。
创建模拟器后,再次选择Run→Run ‘app’菜单,您刚刚创建的模拟器将出现在窗口中。由于模拟器的初始启动时间较长,您必须耐心等待[15]。成功打开后,如图2-4所示:
基于安卓的2048益智游戏的设计与实现_第4张图片

图2-4 模拟器界面图

第3章 系统的需求分析和概要设计

3.1系统需求分析
3.1.1系统功能需求分析
系统主要有以下功能模块:用户登陆、关卡选择、呈现游戏界面、重新开始游戏、当前分数和最高分数、游戏帮助、排行榜等。
用户登陆是游戏的初始界面,玩家首先需要输入用户名和密码注册属于个人的专属帐号,进入游戏主界面前需要输入用户名和密码,验证正确后方可进入游戏主界面。
等级选择,玩家单击这个按钮,游戏就会从主界面切换到等级选择界面。如果玩家选择了对应的等级,首先要判断等级是否打开。等级没有打开的情况下,显示对话框,通知玩家等级没有打开。等级已经打开的情况下,游戏进入主界面,开始等级。
所谓重新开始游戏,是指在玩家不能应对现在的问题的情况下重新开始游戏。如果玩家处于不同级别,保持当前关卡并重新启动游戏。
当新手在玩游戏时不知道游戏玩法时,游戏帮助是一个提醒。
游戏界面是在主界面正中生成一个4×4矩阵,并在矩阵中随机生成两张“2”或“4”牌。
现在的分数和最高的分数表示在这个回合中玩家取得的分数和历史最高的分数。现在的分数超过最高分数的情况下,最高分数表示现在的分数。
综上需求可做出系统功能图,如图3-1所示。
基于安卓的2048益智游戏的设计与实现_第5张图片

图3-1 系统功能图
3.1.2游戏基本规则
游戏开始后,通过使画面滑动来控制卡片的移动方向。卡片在滑动时使用相同的两张卡片,如果中间没有不同的卡,两张卡在滑动过程中结合,显示为两张卡片的合计。相同的卡片有3张的情况下,只合并滑动方向的2张卡。如果在滑动方向上有两张相同数值的卡片与之相邻的是一张其数值为其两倍的卡片,则只合成两张相同且相邻的两张卡片。
3.2系统概要设计
3.2.1系统流程的设计
点击游戏图标进入登陆页面。一旦玩家注册了一个帐户,输入用户名和密码,进入主游戏界面,开始正常启动。从主界面开始,玩家可以重新启动游戏,显示帮助,显示排名,显示关卡选择界面。当玩家单击重新启动开始按钮时,会弹出玩家可以选择的对话框。当玩家选择确定时将游戏继续。当玩家选择取消时,返回游戏界面。按钮时会弹出等级选择界面,当玩家点击对应的等级时,最高分会决定等级是否打开。如果没打开,对话框就会显示出来,显示“在此级别未打开”,如果打开了会显示与等级界面相关联的所有卡片。当您按下启动界面上的返回按钮时,您将退出游戏。游戏的流程图如图3-2所示:
基于安卓的2048益智游戏的设计与实现_第6张图片

图3-2(a) 系统流程图
基于安卓的2048益智游戏的设计与实现_第7张图片

图3-2(b) 系统流程图
3.2.2系统模块设计
从总体上看,该系统分为三个模块:“菜单设计”,“界面设计”和“算法设计”。
(1)菜单设计
菜单显示在游戏主界面下方,有“重新开始”,“选择关卡”,“排行榜”,“游戏帮助” 四个模块,如图3-3所示:
在这里插入图片描述

图3-3 菜单设计
(2)界面设计
界面设计有“登陆界面设计”,“游戏界面设计”,“关卡界面设计”,“排行榜界面设计”四个部分,如图3-4所示:

基于安卓的2048益智游戏的设计与实现_第8张图片

(c)关卡选择界面 (d)排行榜界面
图3-4 界面设计
(3)算法设计

  1. 当滑动方向上两张卡片数值相等时,滑动后卡片将移动到边缘,合成一张为合成前数值两倍的卡片,并随机在空白格生成一张“2”或“4”卡片,如图3-5所示:
    基于安卓的2048益智游戏的设计与实现_第9张图片

图3-5 简单卡片合成
2. 当滑动屏幕向可以碰撞的方向上有两张卡片相同且有一张卡片是它们的总和并在同一方向时,相同一张卡片将移动到不能移动的位置,并生成一张为数字2倍的卡片,但合成卡片不会与数字2倍的卡片合并号码,并且生成一个“2”或“4”的卡片,如图3-6所示:
基于安卓的2048益智游戏的设计与实现_第10张图片

图3-6 复杂卡片合成
3.当界面上没有空位并且两两相邻的卡片不相同时游戏结束。如图3-7所示:
基于安卓的2048益智游戏的设计与实现_第11张图片

图3-7 游戏结束

第4章 系统实现

4.1 游戏框架搭建
(1)AnimLayer类:游戏动画类。主要负责创建动画和游戏移动动画。
(2)Card类:游戏卡片实现类。主要负责游戏卡片,卡片数字和样式的实现。
(3)Config类:游戏关卡配置类。主要负责储存游戏关卡等级信息。
(4)GameView类:游戏中最主要的类。游戏中的操控以及相应的事件都包含在该类中。
(5)LoginActivity类:游戏登陆实现类。主要负责实现用户登录注册功能。
(6)MainActivity类:游戏主要功能实现类。主要负责实现重新开始、选择关卡、排行榜、游戏帮助、当前分数、最高分数功能。
4.2 登陆界面的实现
游戏的登录界面存储在login_main.xml中,其主要逻辑存储在LoginActivity中。用户信息使用了安卓4大存储中的SharedPreferences,在键值对中存储私有原始数据。数据的键为SP_KEY_USERINFO,并存储json格式的用户数据。当玩家输入用户名和密码与存储的数据相等时会让页面跳转到游戏界面开始游戏,如图4-1所示:
基于安卓的2048益智游戏的设计与实现_第12张图片

图4-1 开始界面
4.3游戏界面的实现
4.3.1 游戏布局的实现
(1)游戏的主布局存放在activity_main.xml中。
(2)在GameView类中,通过自行设计实现了一个继承于GridLayout网格布局的布局实现。其三个构造方法都要实现初始化界面的操作,其中定义了一个二维数组用来记录GameView初始化的16个卡片类。使用了一个安卓内部的point对象用来构建空点的数组。
(3)Card类中其继承自FrameLayout祯布局,其中通过构造方法生成了一个Label,卡片的背景为label的背景,卡片显示的文字为label显示设置的文字。默认的卡片数值为0。并通过卡片的数值设置卡片的背景颜色。
(4)游戏的主主布局是一个4×4的网格布局,其中游戏初始化时就已经有了16张卡片,并且每张卡片的数值均为0。
4.3.2 游戏的初始化
(1)游戏在MainActivity类中进行初始化,其中oncreate方法中分别初始了下方4个选择按钮和游戏主要布局,包括最高分以及分数计数的布局。布局初始化时,执行GameView中的构造方法。
(2)在GameView中,游戏初始化时执行InItgameview方法,其主要调用了图4-2中的几个方法,其中添加卡片方法,通过在x和y方向向上分别遍历,通过new card对象生成卡片,并将卡片的初始值设置为0,将卡片添加到卡片的二维数组中。其中开始游戏方法,主要执行图4-3中四个过程。
主界面实现效果图如4-4所示。
基于安卓的2048益智游戏的设计与实现_第13张图片

图4-2 初始化主要方法

基于安卓的2048益智游戏的设计与实现_第14张图片

图4-3 开始游戏方法步骤
基于安卓的2048益智游戏的设计与实现_第15张图片

图4-4 主界面
4.4 游戏滑屏卡片移动的实现
当玩家移动屏幕时,玩家的指头滑行方向主要由initGameView方法来监控。先知道起始坐标和结束坐标,然后比较结束坐标和起始坐标之间的差值,以确定屏幕的滑动方向。在评估了玩家的滑轨之后,通过调用swipeLeft、swipeRight、swipeUp、swipeDown方法来移动卡片。
下面以向左回滑动为例进行讲解,首先通过两个for循环从行到列进行遍历,当遍历到第1行第1个格子的时候,以第1个格子为起点,从第2个格子进行遍历,如果其后的格子的数字大于0,在此条件下,如果第1个格子的数字小于等于0。则需要移动第2个格子。并且将第1个格子的值设置为第2个格子的值,第2个格子的值清零。此时继续固定这个格子。并进行下次检查。如果第1个格子与第2个格子的值相等,则设置第1个格子的值为原来的两倍。并且设置第2个格子的值为0。并且在此处调用添加成绩的方法,添加的数值为当前第1个格子的数值。后续循环以此类推。其他向上,向下向右滑动操作依次类推。其中设置了一个参数flag:merge合并,如果一旦发生了数值合并,就要随机添加一个新的格子数,并且在此时检查游戏是否成功或者是结束(调用check方法)。代码如图4-5所示,实现效果如图4-6所示。
基于安卓的2048益智游戏的设计与实现_第16张图片

图4-5 swipeLeft方法代码
基于安卓的2048益智游戏的设计与实现_第17张图片

图4-6 卡片移动
4.5 计分与关卡的实现
4.5.1 游戏计数的实现
(1)在GameView内中可以调用主活动Main activity中的添加成绩方法。
(2)在MainActivity类中设置了添加成绩,存储成绩和显示成绩的几个方法。并且添加了存储最高成绩,显示最高成绩,获得最高成绩的方法。
最高成绩的存储使用了安卓4大存储中的SharedPreferences,在键值对中存储私有原始数据。
4.5.2 游戏关卡的实现
不同的游戏关卡有不同的起始卡片界面,解锁相应的关卡等级需要达到与之要求的最高分数。其实现步骤如下:
(1)通过在config中存储数组常量,来存放游戏的等级信息。通过创建一个二维数组,按照行和列的方式,分别存储每一个位置的数字数值。如图4-7所示。
基于安卓的2048益智游戏的设计与实现_第18张图片

图4-7 数组常量
(2)游戏关卡等级通过创建一个button group,在里面存储所有的button,通关判断最高分的数值开通相应的关卡。如图4-8所示。
基于安卓的2048益智游戏的设计与实现_第19张图片

图4-8 游戏关卡代码
关卡实现效果如图4-9所示:
基于安卓的2048益智游戏的设计与实现_第20张图片

图4-9 关卡功能
4.6 游戏排行榜的实现
游戏的排行榜数据也使用了安卓4大存储中的SharedPreferences,在键值对中存储私有原始数据。数据的键为SP_KEY_SORT,并存储json格式的排行榜数据。
排行榜数据在每次退出游戏时,通过调用MainActivity其中的on destroy方法。在其中进行存储,先通过获得游戏排行榜数据方法,获得一个Json arr数组,通过创建一个json object,在object中分别存储当前游戏者的用户名,成绩。并将其存放到原来的数组中,转化为json格式的字符串,按照数据的键进行存储。
每次获取排行榜数据,点击排行榜时获取新的排行榜数据,取得原来的节省格式字符串,并且将其转化为节省object格式,通过创建一个map数组获取所有的排行榜数据。
排行榜的界面显示,布局存储在list view中。通过创建一个list view的数据适配器,向其中填放数据,并弹窗显示最终的排行榜数据。实现效果如图4-10所示。
基于安卓的2048益智游戏的设计与实现_第21张图片

图4-10 游戏排行榜

第5章 系统测试

5.1测试目的和意义
系统测试用于检测错误的程序执行。一个成功的测试是检测出没有搜寻到的错误。测试的目的是用最小的精力发现各种潜在的错误和缺陷。
系统测试是保证系统质量和可靠性以及系统分析、设计和开发的最终检查的重要环节。根据测试的概念和目的,提出了测试系统应遵循的基本原则。测试需要尽快实行并继续进行。一旦开发完成,应用系统就不会被测试。由于原始问题的复杂性、发展阶段的多样性以及参与者之间的协调性,所有发展阶段都可能出现错误。因此,为了尽快纠正错误,需要在整个开发阶段进行测试。
5.2 测试方法
此次测试方法采用安卓模拟器测试,在Android studio中创建名为Nexus 5X、Android 9.0系统、x86 CPU的安卓模拟器,并运行2048游戏的APK。
运行成功后对系统主要模块进行测试。测试结果如下:
1.用户的登陆和注册:
测试要求:在登录注册界面中输入用户名和密码,并且要求密码以密文形式显示,注册后并登陆能进至游戏主界面。测试结果如图5-1所示。
基于安卓的2048益智游戏的设计与实现_第22张图片

图5-1 登录注册测试
2.划屏卡片移动:
测试要求:分别向上下左右四个方向滑动屏幕,每次划屏都能生成新卡片,合成两张数字相同卡片时能生成一个两倍数字卡片并在分数框中加分。测试结果如图5-2所示。
基于安卓的2048益智游戏的设计与实现_第23张图片

图5-2 划屏卡片移动测试
3.游戏关卡:
测试要求:点击选择关卡按钮出现关卡列表,通过判断最高分开启相应的关卡,并能加载相应关卡的卡片。测试结果如图5-3所示。
基于安卓的2048益智游戏的设计与实现_第24张图片

图5-3 游戏关卡测试
4.排行榜:
测试要求:点击排行榜显示每个用户结束游戏时的分数并做排序,最高分为第一名分数。测试结果如图5-4所示。
基于安卓的2048益智游戏的设计与实现_第25张图片

图5-4 排行榜测试
5.3 测试用例
通过以下的测试用例进行对游戏其他各个功能模块进行测试并加以修改。
(1)登录模块测试用例如表5-1所示:
表5-1 登录测试用例
测试编号 测试输入 期望结果 实际结果
001 测试用户名输入“abc”,密码输入“123”,点击注册按钮 弹出提示框显示“注册成功,请登陆!” 用户名输入“abc”,密码输入“123”,点击注册按钮后,弹出提示框显示“注册成功,请登陆!”。
002 测试用户名输入“abc”,密码输入“123”,点击登陆按钮 跳转到游戏主界面并弹出提示框显示“欢迎您,abc!” 用户名输入“abc”,密码输入“123”,点击登陆按钮后跳转到游戏主界面并弹出提示框显示“欢迎您,abc!”。
(2)主界面功能模块测试用例如表5-2所示:
表5-2 界面功能测试用例
测试编号 测试输入 期望结果 实际结果
001 测试点击重新开始按钮 游戏重新开始当前游戏关卡 点击重新开始游戏按钮后游戏重新开始当前游戏关卡。
002 测试点击游戏帮助按钮 弹出信息框显示游戏规则与操作说明 点击游戏帮助按钮后弹出信息框显示游戏规则与操作说明。
003 测试点击排行榜按钮 弹出信息框显示等级、用户名、分数,并按分数排序 点击排行榜按钮后弹出文本信息框显示等级、用户名、分数,并按分数排序。
004 测试点击选择关卡按钮 弹出列表框有多个关卡可供选择并按难度排序,只有最高分达到要求方可解锁相应关卡 点击选择关卡按钮后弹出列表框有多个关卡可供选择并按难度排序,只有最高分达到要求方可解锁相应关卡。
(3)检测游戏结束/通过测试用例如表5-3所示:
表5-3 游戏结束测试用例
测试编号 测试输入 期望结果 实际结果
001 测试当格子全满且相邻的格子没有相同数字 弹出提示框提示游戏结束并可选择重新开始游戏 当格子全满且相邻的格子没有相同数字时弹出提示框提示游戏结束并可选择重新开始游戏。
002 测试在关卡模式下任意一个格子数值达到10倍开局最大数值 弹出提示框提示“你赢了”并可选择重新开始游戏 在关卡模式下任意一个格子数值达到10倍开局最大数值时弹出提示框提示“你赢了”并可选择重新开始游戏。

第6章 总结与展望

6.1 论文总结
本文介绍了Android平台上开发2048小游戏的设计与实现。先是对安卓开发平台优点与特点进行分析,然后对整个系统框架进行精密设计和对其功能逐步实现,最后在安卓模拟器上成功测试整个系统。
本次毕业设计至此接近尾声,通过此次毕业设计令我收获良多,初期起步阶段对安卓开发一筹莫展,令我十分困惑,通过花费大量的时间精力进行阅读文献资料,对安卓开发语言有疑点的地方积极请教老师与同学,并在他们的帮助下搭建了好开发平台并设计游戏框架,对此我懂得了如何设计好一个良好的界面,也明白了如何设计好一个精简的游戏算法,在实现游戏功能的过程中遇到很多意料之外的困难,对此唯有不断的思考、反复的测试、与他人交流找出自己的错误并加以改正,明白了实事求是的重要性和纸上得来终觉浅得知此事要躬行的大道理,通过毕业设计后,我对安卓开发有了更加深入的了解,这对我今后从事计算机开发行业奠定了良好的基础。
6.2 展望
该系统的开发为用户提供了一个优秀的娱乐交流平台,但仍有许多领域需要进一步改进和研究。
(1)新模式选择
这个游戏只有数字。当玩家经常面对数字时,他们会感到疲劳。由于显示的卡片可以填充中文字符、图像等,玩家的选择范围更广。当他们感到疲劳的时候,有很多方法可以改变他们的情绪。
(2)难度游戏设计
这个游戏里玩家可以有很多时间来思考。在以后的阶段,可以设想一个时间有限的说明。当倒计时结束玩家将不能移动,此时游戏结束,增加游戏难度。

参考文献

[1]黄彬华.Android手机/平板电脑程序开发教练[M].北京:水利水电出版社,2012:58-65.
[2]李嘉诚.Android应用程序开发研究与应用[J].软件导刊,2014,13(11):65-67.
[3]崔浩然.基于Android平台的手机游戏的设计与实现[D].西安科技大学,2011.
[4]王亮.基于Android平台冒险类手机游戏的设计与实现[D].北京工业大学,2013.
[5]孙宏明.Android手机程序设计入门、应用到精通[M].北京:中国水利水电出版社,2012:78-89.
[6]郭少豪.创意之钥:Android手机交互应用开发[M].北京:中国铁道出版社,2011:230-256.
[7]杨丰盛.Android技术内幕[M].北京:机械工业出版社,2011:134-165.
[8]孟晓龙.Win7系统下Android开发平台的搭建[J].科协论坛,2011,1(08):72-73.
[9]吴想想.基于Android平台软件开发方法的研究与应用[D].北京邮电大学,2011.
[10]王琳.基于Android平台音频播放系统的设计与实现[D].吉林大学,2013.
[11]李宁.Android开发完全讲义[M].北京:中国水利水电出版社,2012:89-102.
[12]王明超.基于Android游戏模式研究与设计[J].电脑知识与技术,2012,8(36):8776-8779.
[13]韩超.Android经典应用程序开发[M].北京:电子工业出版社,2012:79-97.
[14]杨云君.Android的设计与实现[M].北京:机械工业出版社,2013:323-341.
[15]陈淮.基于Android游戏开发中常用类库的设计与实现[D].西安电子科技大学,2010.

致 谢

这篇论文花了将近两个月的时间才完成。在写这篇论文的过程中,我遇到了很多困难和障碍,我在同学和老师的帮助下度过了这段时间。感谢我的论文指导老师刘老师,感谢您无私的建议和帮助,感谢您耐心地修改和完成我的论文。
感谢所有参与本文的研究人员。这篇文章引用了许多研究人员的研究文献。没有研究人员的研究成果的帮助和激励,就很难完成这份报告。
感谢我的同学和朋友在我写论文的过程中给了我很多信息。
最后,我要感谢我的家人和朋友。你们的关心和爱是我的动力。

你可能感兴趣的:(java,java)