《基于Android平台的益智游戏的设计与现毕业论文.doc》由会员分享,可在线阅读,更多相关《基于Android平台的益智游戏的设计与现毕业论文.doc(41页珍藏版)》请在三一办公上搜索。
1、JIU JIANG UNIVERSITY毕 业 论 文题 目 基于Android平台的益智类游 戏的设计与实现 英文题目 Design and Implementation of Puzzle Games Based on AndroidPlatform 院 系 信息科学与技术学院 专 业 信息管理与信息系统 姓 名 卢璐曼琳 班级学号 A102208 指导教师 王飞鹏 二一四年五月摘 要现如今,由于日益增长的市场需求、不断创新的技术、更为成熟的盈利模式,手机游戏不断发展。作为最流行的手机操作系统,Android系统拥有者巨大的手机游戏需求者数量。目前,以学习为主要任务的学生群体是手机游戏用户
2、的主体,不少学生沉迷游戏而对学习丧失兴趣。因此在Android手机平台上开发出一款寓教于乐的手机益智游戏,使学生在愉悦的游戏过程中快乐的学习是十分必要的。本课题旨在研究如何开发出一款将经典游戏“打地鼠”与背单词结合的富有教育意义的手机益智游戏。针对目前市场中的很多在外观和功能上有着很大优势却较为缺失趣味性的背单词软件,本应用将背单词与“打地鼠”游戏融合,并从认知心理学的记忆角度出发,优化的背单词过程,从而使得学生通过益智游戏锻炼思维敏捷性,加强单词记忆。 本文从开发Android手机游戏的背景和开发环境出发,分析了手机游戏的开发环境,介绍了手机游戏开发的关键技术,设计并开发一款“打地鼠”与记忆
3、单词结合的学习型手机益智游戏。关键词:安卓平台,益智游戏,打地鼠,单词记忆AbstractNow, due to the growing market demand , innovative technology , more mature profit model, mobile games is constantly evolving . As the most popular mobile operating system , Android system has a huge number of mobile game needs . Currently, those groups o
4、f students with learning as the main task is the main mobile phone game users , many students addicted to the game and lose interest in learning . Therefore, the development of a mobile phone puzzle game based on the Android mobile platform,allows students pleasure during the game fun to learn, it i
5、s very necessary. This paper aims to study how to develop a rich educational mobile puzzle game which combines the classic game to fight rats and the vocabulary software. For vocabulary software in the current market, that many in appearance and functionality has a great advantage but more interesti
6、ng is missing, this application integrates vocabulary software and play hamster game, and from the perspective of cognitive psychology of memory and optimize the process of memorizing words, allows students to improve by playing puzzle games thinking agility and enhance word memory.This article is f
7、rom the Android mobile game development background and development environment, analyzes the mobile game development environment, introduces the key technologies of mobile game development, design and develop a mobile learning puzzle game which combines the classic game to fight rats and the vocabul
8、ary software.Keywords: Android Platform, Puzzle Games, Whac-A-Mole,The Word Memory目 录摘 要IAbstractII目 录III1 绪论1.1背景分析(1)1.2国内外相关研究现状(1)1.3开发环境介绍(2)1.4开发环境搭建(2)1.5 Android技术简介(3)1.6论文结构(5)2 游戏的需求分析2.1用户需求分析(6)2.2可行性分析(6)2.3系统功能需求(7)2.4本章小结(8)3游戏的设计3.1 游戏的策划(10)3.2 游戏的界面设计(11)3.3 数据库设计(12)3.4 各功能模块的设计(
9、13)3.5 本章小结(14)4游戏的实现4.1游戏主菜单的实现(15)4.2导入文件的实现(17)4.3学习单词模块的实现(19)4.4设置模块的实现(20)4.5错词本模块的实现(21)4.6检测单词模块的实现(22)4.7本章小结(23)5游戏的测试5.1 测试环境(24)5.2 游戏界面框架测试(24)5.3 游戏运行测试(25)5.4 本章小结(28)6 总结与展望6.1论文总结工作(29)6.2未来工作展望(29)致 谢(31)参考文献(32)1 绪论1.1背景分析目前,由于手机便携的特点,手机游戏逐渐成为了一种流行的娱乐方式14。手机游戏使得用户可以在不同的场景下利用碎片时间玩游
10、戏,因而更能满足广大用户的娱乐需求。随着互联网的发展与智能手机的普及,智能手机已经成为新的移动游戏平台。智能手机与普通手机相比具备无线接入互联网的能力、开放性、个性化、功能强大、个性化强等特点,这使得高达92.7%的手机游戏用户使用智能机1。在智能手机操作系统中,一半以上的手机游戏用户使用的手机操作平台是Android系统。1.2国内外相关研究现状1.2.1 Android系统自2007年11月5日发布以来,作为建立在Linux内核基础上的移动操作平台的Android,由于自身的平等、开放、无界、方便、硬件丰富等优点以及千元以下智能机的大量推出,Android系统及相关应用受到了越来越多的关注
11、,其市场占有的份额远超IOS。1.2.2 Android游戏开发现状目前国内的Android应用开发还是主要以应用开发为主,主要分为3类:为企业开发应用、开发通用应用以及游戏开发2。手机游戏类型繁多,分为射击类游戏、益智类游戏、竞速类游戏、体育类游戏、冒险游戏、策略游戏、经营类游戏、动作类游戏、角色扮演类游戏、养成类游戏等3。其中益智休闲类游戏最受手机游戏用户偏爱,棋牌类游戏次之。Android系统下的益智类游戏的丰富多样,如推箱子、连连看、走出迷宫、拼图、俄罗斯方块等,这些游戏画面精美、操作简单因而很受手机游戏用户欢迎。Android系统下的背单词软件也愈趋成熟,如百词斩、拓词、地铁背单词、
12、看图背单词、Anki、金山背单词等等。这些软件操作简单,通过视听结合辅助记忆、并对用户的学习数据分析统计,为用户安排学习计划,却也存在一些问题。比如,一些背单词软件只支持自身带有的词库,用户因此不能随意安排自己所要学习的词汇;有的软件为单词配有漂亮生动而幽默的图像以辅助记忆,但很多用户却反映注意力放在图片上导致看不到图片便想不起单词;再如很多背单词软件功能强大,学习形式较为现代化,却对记忆的枯燥没有适度改善。1.3开发环境介绍使用开发环境如下:1操作系统:Windows 7 系统;2开发工具: JDK1.7.0、Eclipse、Android SDK、ADT3开发语言:JAVA。1.4开发环境
13、搭建1.4.1 JDK安装打开Oracle官方网站下载JDK,完成后进行安装。安装完成JDK后在系统变量配置环境变量:1.新建JAVA_HOME变量,JDK的安装目录为变量值;2.编辑Path变量,在变量末尾输入%JAVA_HOME%bin;%JAVA_HOME%jrebin;3.新建CLASSPATH变量,变量值为.%JAVA_HOME%lib;%JAVA_HOME%libtools.jar13;完成配置后,运行cmd,输入java version以检测是否配置成功,若显示版本信息,则说明成功完成了JDK的安装及配置。1.4.2 Eclipse、SDK的安装并配置ADT打开 the SDK
14、ADTBundle for Windows”下载ADT Bundle包。ADT Bundle包是由Google Android 官方提供的集成式IDE,它包含了开发应用所需的Eclipse + ADT plugin、Android SDK Tools、Android Platform-tools、The latest Android platform、The latest Android system image for the emulator组件。包内包括两个文件夹:eclipse和sdk。Eclipse文件夹内是一个已经安装了ADT插件的Eclipse,sdk文件夹内就是SDK。下载完成
15、后将其解压。解压完成后,配置环境变量。1.设置ANDROID_SDK_HOME变量,该环境变量的值为一个已有的路径,以保存开发者创建的虚拟设备;2.编辑Path变量值,在变量值末尾添加SDK的platform-tools路径。1.5 Android技术简介 一个Android应用往往有一个或多个基本组件组成,如Activity、Service、BroadcastReceiver、ContentProvider等组件。下面,对这些组件分别作简单介绍:1.Activity和View 在一个Android应用当中,一个Activity代表一个用户能看到的屏幕即用户界面,每一个Activity都被实现
16、为一个独立的类11。一个游戏往往有多个Activity,多个Activity之间相互切换,从而形成整个游戏。Activity大致会经过活动状态、暂停状态、停滞状态、销毁状态四个状态。活动状态,即当前Activity可见,处于前台并有焦点,能够和用户的操作动作进行交互的状态;暂停状态,即当前Activity可见并同样处于前台,但是失去焦点,被其它的活动状态的Activity取代处于前台显示;停止状态,即该Activity完全不可见且没有焦点;销毁状态,即该Activity结束。Activity的生命周期不是由应用程序控制而是由Android平台管理。当创建Activity时,回调且只回调一次on
17、Create(Bundle savedStatus)方法;启动Activity时回调onStart()方法,重新启动Activity时回调onRestart()方法;恢复Activity则回调onResume()方法;暂停Activity回调onPause()方法,停止Activity回调onStop()方法,销毁Activity时回调且仅回调一次onDestroy()方法。Activity显示的内容可以通过位于res目录下的layout目录下的XML配置文件或设置为一个继承自View类的对象来声明。View组件是用户看到的部分,是UI控件与容器控件的基类。2.ServiceService也代
18、表一个单独的Android组件,它与Activity不同之处在于Service并不需要和用户进行交互,位于后台运行且没有界面。Service需要继承Service基类,一般由Activity或Context对象启动。若启动Service的Activity或其它组件的生命周期结束,Service会继续运行至自己生命周期的结束。3.BroadcastReceiver BroadcastReceiver即广播消息接收器,同Service一样并不与用户交互。BroadcastReceiver类似于普通事件监听器,它的监听事件源是Android应用中其它的组件7。发送一个广播需要创建一个Intent对象
19、,封装其信息内容及用于过滤的信息,通过调用Context.sendBroadCast()方法或sendOrderedBroadcast()方法来启动指定的BroadcastReceiver10,接收广播的时候则只需实现BroadcastReceiver子类并重写onReceive回调方法。4.ContextProviderContextProvider主要用于不同的应用程序间数据进行共享。Android平台下的每个应用的内存空间是独立的,如果一个应用要使用其它应用的数据则需采用ContextProvider对象。ContextProvider与ContextResolver配合使用,Conte
20、xtProvider负责提供数据,ContextResolver负责访问数据。5.Intent和IntentFilterIntent类可以用来实现Activity之间的切换,是Activity、Service、BroadcastReceiver组件之间进行通信的载体。Intent分为显示Intent和隐示Intent。IntentFilter用来实现判断被调用的组件是否符合隐示Intent。1.6论文结构根据本课题的内容,论文的结构安排如下:第一章为全文的绪论,在本章介绍基于Android平台的益智类游戏的研究的背景以及国内外现状,简要介绍开发环境及其搭建,对Android相关技术进行简介并大
21、体安排论文的结构。第二章为对游戏进行需求分析,分析可行性研究与系统功能需求,并介绍游戏的策划与数据库设计。第三章为游戏的设计,根据游戏的需求分析进行游戏的策划、游戏的界面设计以及数据库的设计等。第四章为游戏的实现。根据游戏的设计实现预期的功能,通过分析部分核心代码并展示效果图来体现实现。第五章为游戏的测试。通过测试数据,测试游戏能否正常运行。第六章为总结与展望。在本章进行对论文的总结工作。2 游戏的需求分析本章主要进行程序编码前十分必要的工作,即从研究的内容出发并从不同角度对游戏进行需求,是程序的设计与策划的前提。2.1用户需求分析 背单词是学生群体不可避免的一项学习活动,如何利用碎片化的时间
22、进行学习、怎样高效而较为轻松地记忆单词是学生最为关注的问题。随着智能手机的普及,许多学生用户开始使用智能手机并使用记忆单词的软件。这些软件操作简单,界面美观、使用便捷等优点使得学生的单词记忆得到辅助。然而对于容易沉溺游戏而对学习感到烦躁的学生,这些软件并不能满足其需求。基于此情况,本游戏以辅助记忆为出发点考虑如何将记忆单词这一过程赋予一定的趣味性。2.2可行性分析可行性研究是为了综合分析在项目实施开发前,在当前的经济、技术、操作、法律下所定义的系统目标和规模是否允许进行,是否可以被接受,以及一些当前所存在的问题是否可以解决4。以下从四个不同方面进行可行性研究分析:1经济可行性经济可行性是从经济
23、角度进行成本效益分析,确定系统是否可以实施开发5。本游戏使用的开发工具如Eclipse、 Android SDK等都是免费开源的。本游戏的开发与实现在经济上是完全可行的。2技术可行性技术可行性是基于系统的功能、性能、约束条件等,分析根据资源及技术的现状能否使得系统的设计与开发完成6。本应用采用JAVA语言在Android平台开发并实现。显然,技术上也是可行的。3操作可行性选择背单词软件主要考虑的是其稳定性、功能的完备性、辅助记忆单词的有效性。为了在这些方面做到最佳,在经济、技术允许的情况下,在开发时结合认知心理学的记忆部分的相关理论,对记忆过程中的细节进行改进的同时充分考虑引入趣味元素,使记忆
24、单词过程中的检测单词部分与经典益智游戏“打地鼠”相融合。在当前的技术下,在此方面的开发和实现是完全可行的。因此,本研究及开发实现在操作上也是可行的。4法律可行性本记忆单词游戏是运用于单个用户的学习活动,并不涉及用户的隐私,并未涉及法律不允许的范围。因此,在法律上,本研究的开发与实现也是可行的。综上分析,总体认为本研究的开发与实现是可行的。2.3系统功能需求通过对用户使用Android背单词软件情况的调查,以及对多个基于Android平台的背单词软件进行比较,如:Anki,地铁背单词,看图背单词等。总结出Android记忆单词游戏主要功能需求有:学习单词、检测单词、设置、错词本、导入文件、退出等
25、五大功能模块。1学习单词实现选择需要学习的单词单元,提供中英文释义、英文美式发音及时间控制的功能。2检测单词以打地鼠游戏的形式检测单词,并自动将错误单词存入错词本。3设置实现导入文件,并对是否进行自动朗读、是否开启音效、每个单词记忆所需时间值以及每次学习的单词数量进行设置。4错词本实现用户查看错词记录或删除错词的功能。5. 导入文件实现用户导入文件的功能。6退出退出游戏。2.3.1系统功能需求1系统功能结构图根据功能性需求,将系统结构划分为五大模块:学习单词模块、检测单词模块、设置模块、错词本模块、导入文件模块、退出模块,如图2-1。图2-1 系统功能结构图2.4本章小结本章进行了可行性研究分
26、析和系统功能需求与游戏的策划以及数据库的设计。其中可行性分析主要包括经济可行性分析、技术可行性分析、操作可行性分析等9。通过可行性分析,判断游戏是否是可做的,游戏开发的启动是否是有益的。通过功能需求分析对游戏要实现的功能进行详细的分析。3 游戏的设计本章根据需求分析,进行游戏设计。本章分为四个部分进行,首先是游戏的策划,接着是游戏的界面设计、数据库设计,最后对各功能模块进行设计。3.1 游戏的策划游戏的策划主要包括游戏的情节、目标受众、运行的目标平台、操作方式、游戏界面等几个方面12。下面针对本游戏对其进行介绍:1. 游戏情节本游戏为轻量级的益智类游戏,情节简单。这方面的工作为设计地鼠的大小与
27、位置。2. 目标受众游戏受众为学生,基于此,应将操作方式设计简单化,画面清新简洁。3. 运行的目标平台本游戏的目标平台为Android 4.0。4. 操作方式游戏的操作方式为触屏操作。5. 音效设计 为了增加游戏用户的体验,本游戏根据界面的效果添加了地鼠被击打的音效。 6.游戏界面:点击应用程序的游戏图标后进入游戏主菜单,主菜单选项有学习单词、检测单词、设置、错词本、导入文件、退出五个选项。点击“学习单词”选择需要学习的单元,选择后开始单词的学习;点击“检测单词”选择需要检测的单元,选择后开始进行游戏;选择“设置”进行音效、是否开启自动朗读等的设置;点击“错词本”查看错词记录;点击“导入文件”
28、选择存储词汇的文件将其导入;点击“退出”则退出游戏。3.2 游戏的界面设计游戏的界面是人机交互的桥梁,它的作用是十分重要的。Android应用多采用压缩比高的png格式的图片为游戏素材。本应用的界面有欢迎界面、主菜单界面、游戏主界面、设置界面等。以下为重要界面设计的介绍:3.2.1 游戏的主菜单界面设计该界面包含六个按钮:(1)学习单词按钮,点击后进入需要学习的单词单元选择界面而后进入学习单词界面;(2)检测单词按钮,点击后进入需要检测的单词单元选择界面而后进入游戏主界面;(3)设置按钮,点击后进入设置界面;(4)错词本按钮:点击进入错词记录界面;(5)导入文件按钮,点击后进入文件选择界面;(
29、6)退出按钮,点击后退出应用。主菜单界面设计如图3-1所示。3.2.2 游戏主界面设计 该界面顶部显示英文单词或中文释义,其余为地鼠区域。游戏主界面设计如图3-2所示。 图3-1 主菜单界面设计图 图3-2 游戏主界面设计图3.2.3 学习界面设计该界面显示英文单词、中文释义以及点击后进入下一个单词学习的按钮。学习界面设计如图3-3所示。3.2.4设置界面设计该界面显示设置是否自动朗读、音效等的两个文本框及两个单选按钮。设置界面设计如图3-4所示。 图3-3 学习界面设计 图3-4 设置界面设计3.3 数据库设计本应用采用SQLite数据库存储用户数据,需要存储的数据包括单词表、错词表、单词本
30、信息、单词单元。1.单词表用于保存单词的信息,包括单词的ID、英文单词、中文释义及其所属单元。错词表用于保存错词的各项信息,其结构与单词表相同。结构如表所示。表3-1 单词表序号字段类型是否允许为空说明1idINTERGER不允许单词ID2spellingTEXT允许英文单词3meaningTEXT允许中文释义4list_idINTERGER允许单元ID2.单词本信息表用于保存单词本的各项属性信息,包括单词本ID、单词本名称、单词本所含单元数、单词本所含单词数。其结构如下表所示。表3-2 单词本信息表序号字段类型是否允许为空说明1idINTEGER不允许单词本ID2nameTEXT允许单词本名
31、称3numofwordINTEGER允许所含单元数4numoflistINTEGER允许所含单词数 3.单元信息表用于保存单元的各项属性信息,包括单元ID、所属单词本ID等。其结构如下表所示。表3-3单元信息表序号字段类型是否允许为空说明1idINTERGER不允许单元ID2learnedTEXT允许是否已学习3book_idINTERGER允许所属单词本ID3.4 各功能模块的设计根据需求分析,应用的功能模块设计如下:1导入文件访问SD卡目录并将用户选择的需要导入的TXT格式的单词本文件写入数据库,并根据用户设置的每次学习单词数目进行单元划分。2.学习单词从数据库获取当前单词本的单元列表,用
32、户选择单词列表,则获取单词列表内的单词,将单词返回。用户若在限定时间内未进行下一个单词的记忆,系统自动读取下一个单词的信息。3.检测单词从数据库获取当前单词本的单元列表,用户选择单词列表,则获取单词列表内的单词,将单词返回。用户若打中显示正确结果的地鼠,自动读取下一个;若未打中,将错误单词的信息写入数据库。4.错词表从数据库读取错词表记录,并返回列表。3.5 本章小结在本章主要对游戏的设计进行介绍,主要包括游戏的策划、游戏的界面设计、游戏的数据库设计以及各功能模块的设计。4 游戏的实现本章根据之前游戏的需求分析以及游戏策划及设计完成游戏的各功能模块的实现工作。启动Eclipse,新建一个名为K
33、MouseMemo的Android工程。创建目录如下图所示。图4-1工程目录结构图4.1游戏主菜单的实现1.欢迎界面的实现在XML布局文件中将使用login.png图片作为游戏欢迎界面的背景图片。布局文件采用线性布局,组件的布局高度与宽度均为match_parent,效果如下图所示。图4-1 欢迎界面效果图2.主菜单的实现在XML布局文件中添加Button组件,定义该子组件的布局高度与宽度均为wrap_content并位于布局容器的水平居中,在UI界面生成学习单词按钮。以此方式分别添加检测单词、错词本、导入文件、错词本、设置、退出等按钮。其效果如图4-2所示。在Activity中获取界面上的B
34、utton组件:learnWordsButton=(Button)myView.findViewById(R.id.learnWordsButton);并分别为Button组件的onClick事件事件绑定事件监听器。当用户单击按钮时,按钮会触发onClick事件跳转到相应的界面。onClick事件部分代码如下:learnWordsButton.setOnClickListener(new OnClickListener()public void onClick(View v) Intent intent=new Intent();intent.setClass(MainActivity.thi
35、s,LearnList.class );startActivity(intent););图4-2 主菜单界面效果图4.2 导入文件的实现1.在XML布局文件中定义一个列出当前路径下所有文件的ListView,该子组件的布局高度与宽度均为wrap_content,并设置List列表项的分隔条为黑色。2.利用File的listFile来列出指定目录的全部文件,部分代码如下:currentParent = root;currentFiles = root.listFiles();inflateListView(currentFiles);为ListView的列表项的单击事件绑定监听器,若用户单击了文
36、件,将该文件写入数据库:OOB.ImportBook(ImportText.this, path,name, numOfEachList);上代码中OOB为类OperationOfBook的实例化对象,OperationOfBook类实现了初始化词库的功能,部分代码如下:DataAccess data = new DataAccess(context,kmousememo.db,1);.data.initBook(FileName, mylist,String.valueOf(listnum);. DataAccess类用于处理查询词库、查询单词、添加单词等操作,在initBook方法中通过h
37、elper.CreateTable(context, bookID)在数据库建表,helper.Insert(context, bookID, cv)插入数据。若用户单击文件夹,则通过inflateListView(currentFiles)获取用户点击的文件夹下的所有文件。图4-3 导入文件界面效果图4.3 学习单词模块的实现1.在XML布局文件中定义一个列出当前单词本所有单元的ListView,定义该组件的布局高度为match_parent,布局宽度均为wrap_content。界面效果如图。图4-3 单元列表效果图并且在learnwords.xml文件中添加两个分别显示英文单词和中文释义
38、的文本框以及一个按钮。界面效果如图4-4所示。2.当用户点击“下一个”按钮,自动朗读当前单词以形成回放强化记忆。为“下一个”按钮绑定事件监听器,onClick事件中:tts.speak(list.get(currentnum).getSpelling(),TextToSpeech.QUEUE_ADD,null)进行自动朗读并更新界面并调用UpdateView()方法进行下一个单词的学习,部分代码如下:spelling.setText(list.get(currentnum).getID()+.+list.get(currentnum).getSpelling();meaning.setText
39、(list.get(currentnum).getMeanning();当用户完成此次学习,返回主菜单界面:Intent intent = new Intent();intent.setClass(LearnWords.this, MainActivity.class);startActivity(intent);图4-4 学习单词界面效果图4.4 设置模块的实现1.在XML布局文件中添加两个用于接受用户输入的文本框,分别定义该组件的布局高度为match_parent,布局宽度均为wrap_content,以及两个单选按钮,分别定义该组件的布局高度与宽度均为wrap_content并水平排列。
40、界面显示效果如图4-5所示。2. 在Activity中获取只能被本应用读写的SharePreferences对象:sharedPreferences = this.getSharedPreferences(Mdata,MODE_PRIVATE); editor = sharedPreferences.edit();分别获取界面上的EditText组件、radioGroup组件:EditText inputNumber1 = (EditText) this.findViewById(R.id.inputNumber1);接着分别为EditText组件及的onCheck事件绑定事件监听器。当用户单
41、击按钮时,用SharedPrefences保存信息,部分代码如下: if(checkedId=R.id.open1)read=true; elseread=false; editor.putBoolean(read, read);图4-5 设置界面效果图4.5 错词本模块的实现1. 在XML布局文件中定义一个列出所有错词的ListView,定义该组件的布局高度为match_parent,布局宽度均为wrap_content。2. 在Activity中配置ListvView的适配器,查询并获得WrongWords表中数据:list=data.QueryWrongWords(null, null)
42、;ArrayList showlist = new ArrayList();for (int i=0;ilist.size();i+)showlist.add(i+1)+.+list.get(i).getSpelling()+n+list.get(i).getMeanning();this.setListAdapter(new ArrayAdapter(this, R.layout.file_row, showlist);错词本界面显示效果如下图所示。图4-6 错词本界面效果图4.6 检测单词模块的实现1.在XML布局文件中定义一个列出当前单词本所有单元的ListView,定义该组件的布局高度
43、为match_parent,布局宽度均为wrap_content。界面效果同图4-3单元列表效果图所示。2.在Activity中获取当前选择的list: list = dataAccess.QueryWord(LIST= + wordListInt + , null);绘制测试文字背景及测试文字:canvas.drawBitmap(mouseText,0,0, null);canvas.drawText(testWord0, 10, 5 , paint);绘制地鼠及地鼠文字:canvas.drawBitmap(littleMouse,i*100+width,j*100+height, null
44、);canvas.drawText(testWordk, 21, 76 , paint);3.当地鼠被击中,若地鼠文字与正确答案相同,则进入下一单词测试,若不相同先查询错词本,错词本无此单词便将当前单词写入错词本,进入下一单词测试:ArrayList wrongWords = new ArrayList(); wrongWords=data.QueryWrongWords(SPELLING =+list.get(rand1currentId).getSpelling()+, null); if (wrongWords.size()=0)data.InsertIntoWrongWords(lis
45、t.get(rand1currentId);4.7 本章小结本章从游戏的需求分析与设计出发,实现在设计的工作中提出的各功能。5 游戏的测试本游戏是让用户轻松有效记单词的游戏,实现了基于SQLite的数据存取。游戏测试的目的在于测试是否实现了各模块的功能,运行的效果是否良好、性能是否稳定8。5.1 测试环境本游戏的测试环境为由Android提供的模拟器AVD。5.2 游戏界面框架测试运行程序,首先出现游戏的欢迎界面,之后进入游戏的主菜单界面,主菜单界面有学习单词、检测单词、错词本、导入文件、设置、退出等六个按钮。 图5-1游戏欢迎界面截图 图5-2 游戏主菜单界面截图 5.3 游戏运行测试1.设置模块测试 设置“每个单词记忆所需最大秒杀”为6,“每次学习单词数量”为50,开启自动朗读,开启游戏音效