基于Android平台的24点游戏设计与实现
Android平台24点游戏设计与实现
摘要
随着移动设备的普及以及移动设备的硬件的提升,移动设备的功能越来越完善,移动设备的系统平台也日渐火热起来。目前国内最常见的移动开发平台有Symbian,iPhone,Windows Phone以及当下正在逐步兴起的Android,目前为止国内已经有很多Android系统的用户。
在80年代流行一种数字游戏,我们称之为“24点”。用扑克牌实现24点,就是从扑克牌中任意抽出4张(数字表示为1-13),用加、减、乘、除的方法是结果成为24。程序实现由系统随机产生4张牌,玩家输入表达式,然后判断表达式是否合法且等于24。
借鉴网上的多种游戏,我用Android手机平台开发设计了24点游戏,并在eclipse模拟平台环境下实现基本功能的游戏程序(类似于纸牌游戏)。其开发开发包括较多的计算机技术(多媒体技术、程序设计、数据结构、计算机网络、数据库技术、人工智能和软件工程等),作为本科毕业设计选题,具有较强的综合性,达到综合锻炼所学知识的价值。
关键词:Android eclipse 手机模拟平台 24点游戏
Abstract: With the growing popularity of mobile devices and mobile device hardware upgrade, mobile devices become more perfect system platform for mobile devices are increasingly picking up. At present, the most common mobile development platform for the Symbian, the iPhone, Windows Phone, as well as the current is gradually emerging Android, so far the country has a lot of users of the Android system.
In the 1980s a popular numbers game, which we call the \point\24 points, with playing cards and poker in any out of four (numerals 1-13), with addition, subtraction, multiplication, in addition to the methods, results become 24. The program randomly generated by the system of four card players enter the expression, and then determine the expression is valid and equal to 24.
Learn from the online variety of games, I use the Android mobile platform designed a 24-point game, eclipse simulation platform environment to achieve the basic functions of the game program (similar to a card game). Development to develop more computer technology (multimedia technology, programming, data structures, computer networking, database technology, artificial intelligence and software engineering), as a graduate design topics, with a strong integrated to achieve a comprehensive exercise learned the value of knowledge.
Key words: Android eclipse phone simulation platform 24-point game
目 录
=
1 绪论
1.1引言
随着3G时代的来临和高性能手机的普及,单一的通信功能已经不能满足人们对手机的需求,人们对高质量的、丰富的手机游戏的需求正在不断增强。目前,手机的开发平台主要包括苹果的IOS、Google的Android、微软的Win7和诺基亚的Symbian等,其中Google的Android操作系统因其稳定性、开发性、低成本等特点,受到广大手机游戏开发者关注。Android系统作为最近几年才涌现的智能手机操作系统,Android操作系统无疑是一个新手,多家智能手机制造商不断推出基于Android操作系统的智能手机,使Android操作系统的市场份额以及影响力与日俱增,其前景正被越来越多的人看好。本文侧重于Android的应用软件开发。主要的研究内容是Android操作系统平台下的游戏软件开发应用。本文从实际的开发案例出发,从一个开发者的角度,独立的从游戏需求分析、游戏功能设计、游戏开发设计、游戏运行测试等角度来进行分析和阐述。最终完成了”24点游戏”的移植和开发,重点在于实用性和应用性。
本文的内容主要有以下五个方面:
1、智能手机研究现状以及几种操作系统的研究分析,Google Android系统平台和其他系统平台的比较。
2、系统分析阐述,包括主要研究内容、研究目标等其他性能分析
3、Android操作系统以及开发平台的相关研究,主要是Windows开发平台下Android开发平台的搭建。
4、基于Android操作系统的“24点游戏”的设计,包括模块设计、界面设计及流程图等内容。
5、“24点游戏”程序开发,包含文件结构、关键代码等。
6、”24点游戏”运行的测试,在真实智能手机上的安装、运行、卸载等相关测试。 7、论文的总结和对未来的展望。
本文解决了风行一时的经典“24点游戏”在Android系统下的开发问题。通过对Android的详细介绍,开发人员可以从中了解到其自身的作用,两三年来,随着Android手机的诞生,其无可替代的灵活性与轻便性致使Android手机成为智能手机市场的又一
=
亮点,它的前景无可限量,必将在我们以后的生活中发挥着重要的作用。
1.2文献综述
1.2.1国内外研究现状述评和发展趋势
目前国外各软硬件厂商已经推出过多款手机操作系统,下面简单介绍一下现主流手机操作系统。
现阶段使用较广泛大家也相对熟悉的手机操作系统是由诺基亚公司主导推出的Symbian操作系统。Symbian是为手机而设计的操作系统,它是一个实时性,多任务的纯32位嵌入式的操作系统,具有低能耗,内存占用较少等特点。现在流行的Symbian系统有以下四个版本,分为S40,S60(第二版),S60(第三版)和S60(第五版)为触摸手机版本。
iOS是由苹果公司为iPhone开发的操作系统。它主要是给iPhone、iPod touch以及iPad使用。就像其基于的Mac OS X操作系统一样,它也是以Darwin为基础的。iOS的系统架构分为四个层次:核心操作系统层(the Core OS layer),核心服务层(the Core Services layer),媒体层(the Media layer),可轻触层(the Cocoa Touch layer)。系统操作占用大概240MB的存储器空间
Windows Mobile 系列操作系统是从微软计算机的Windows操作系统演化而来的。Windows Mobile系列操作系统功能强大,而且支持该操作系统的智能手机大多数都采用了英特尔嵌入式处理器,主频比较高,在其它硬件配置(如内存、储存卡容量等)上也比采用其它操作系统的智能手机要高出许多,因此性能比较强劲,速度比较快。
PalmOS属于Palm公司开发,是一种32位的嵌入式操作系统,是一套专门为掌上电脑编写的操作系统,是一种轻量级、比较开放的操作系统,占用的内存非常小。现在多用Paml公司生产的手机上。该系统允许用户在其基础上编写和修改相关软件,使支持的应用程序更加丰富多彩。Palm系统与其他手机系统相比在其它方面也还存在一些不足,如Palm操作系统本身不具有录音、MP3播放功能等,但是可以通过加入第三方软件或硬件设备来实现。
相对国外手机系统百花齐放的局面,国内手机操作系统则处于刚起步的阶段。目前国内还没有自主研发并商品化的手机操作系统。当然近些年来国内企业和我国政府在这方也投入了大量的人力和物力。同时也取得了一定成果。
=
在2009年8月,由中国移动所主导开发OPhone平台面世。OPhone平台采用开源的Linux作为系统内核,借鉴并兼容Android平台,集成灵活高效的Java应用框架,充分借鉴当下主流手机操作系统所具有的良好用户体验,提供了一套完整的电话解决方案和各类移动数据业务解决方案。
据Gartner最新数据显示,2010年第二、三季度全球智能手机销售继续大幅增长,其中第三季度安卓占全球智能手机市场的25.5%,仅次于塞班,成为第二大智能手机系统。2010第二、三季度与去年同期相比,增度分别是15.4%及22%,增势迅猛。而塞班系统较09年的市场份额,尽管终端销量有大幅度提升,但增势下滑10%,形势非常严峻。其他操作系统的表现则要平稳很多。
图1-1手机系统比较
安卓是首款开源代码的操作系统,采用Linux内核,开放手机联盟(OHA)成员可以任意使用和修改安卓的SDK软件包。系统的开源性使其具有良好的拓展性,一方面,为众多移动应用开发者提供了良好的系统性平台,有利于移动应用的集合;另一方面,终端厂商可以针对自身的特殊需要“定制化开发”。与此相比,尽管2010年2月,塞班基本完成开源工作,但由于代码臃肿,用户界面设计缺失,塞班的开源并无实际意义,错失发展良机。
据Informa预测,2012年,安卓手机销量将超过诺基亚塞班手机,届时安卓将成为全球最大的智能手机平台。谷歌表示目前安卓手机每日平均激活量为20万部,销售速度加速上涨。
我们认为,安卓在全球市场的成长壮大,塞班市场份额不断下跌已成不争事实。安卓操作系统发展迅猛主要得益于免费、开源和良好产业运作策略,这三点为安卓在智能手机市场赢得更多的发展机遇。系统的免费让更多的厂商加入,推动了份额的上升;代码的开源让更多的开发者进入应用开发;应用的丰富吸引了更多用户选择,这也是谷歌
=
值得众多厂商学习的地方。此外,谷歌通过OHA联合众多厂商进行系统研发,不断更新版本,将系统应用推广到更多的终端产品中,确保用户体验持续改善。
1.2.2选题的意义和价值
随着经济的日益发展,人们的生活水平不断提高,生活质量也在渐渐的改善。适当的娱乐游戏对人们的业余生活是不可必缺的,它给人们的业余生活添加了很多乐趣。我用Android手机平台开发设计了24点游戏,使其在android手机系统风行的今天更满足人们对手机游戏的追求。
同时,作为本科毕业论文设计,其具有较强的综合性,游戏开发过程中运用多种计算机技术(多媒体技术、程序设计、数据结构、计算机网络、数据库技术、人工智能和软件工程等)。在进行毕业设计的整个过程,学习或运用的不仅仅是四年的学校知识,更多的来自于前沿的学术理论思想,与前沿科技接轨,达到综合锻炼所学知识的价值。
1.2.3研究内容
根据近段时间学习Android平台游戏设计经验和参阅大量关于Android运用文献,结合现有技术,基于游戏动画设计的基本原理。设计一个基于Android平台24点的游戏应用。主要包含随机发牌模块、输入求解表达式模块、判断求解表达式正误、计算表达式模块和判断表达式的正误模块。
1.2.4研究方案和技术路线
利用网络查阅国内外Android系统及Android平台开发、游戏设计原理等相关资料和浏览大量的期刊与文献,进行深入分析与研究,借鉴其开发经验和经典开发案例。同时,了解国内外Android系统开发者社区,与前沿Android开发者接触交流,获取更多信息与技术。
Android是一个开源的系统,它底层是基于Linux的操作系统,本文拟采用Android开源系统技术,利用Java语言和eclipse模拟平台进行24点游戏的编写,实现模块化结构,独立开发各个功能模块,尽量降低各模块之间的耦合,在各个功能模块实现的基础上构建灵活方便的界面。
=
2 系统分析
2.1 研究目标
我所做的基于Android智能手机的平台的24点游戏设计和实现,采用java语言作为编程语言,用eclipse作为开发平台,android_sdk作为运行环境,,结合实际用户的实际需求,实现24点游戏的AI算法,即相关的界面美化。并且,需避免在市场常见24点重算法界面不友好的实现,给予用户更好地操作感受,同时,在程序结构上需要应用充分采用面向对象的思想,以便后期对游戏功能的增加,以及对于在其他嵌入式设备开发提供方便。
当看着自己把功能一个个实现,把错误一个个调试的这个过程,都会收获很多东西,成为今后学习中一笔不可或缺的财富。也让我明白:真正的“好程序”不只是运行了,还要满足一大堆条件的(可读性、健壮性、可维护性、高效性)等等。
2.2 基本功能描述
24点游戏是一种是用一种使用扑克牌进行的益智游戏,游戏内容是:从一副扑克牌中抽去大小王后剩下52张,任意抽取4张牌,把牌面上的数运用加、减、乘、除和括号等进行运算得出24点。每张牌都必须使用一次,但不能重复使用。在不同版本中,对J、Q和K的处理有细微的差异。一个常见的版本是把J、Q和K去除,或当成10处理;还有一个版本是把J、Q和K对应表示为11、12和13.本次设计采用将J表示11、Q表示12和K表示13,使4张牌在1-13这13张牌中随机抽取。 2.2.1系统功能用例描述 2.2.2 功能需求(时序图)分析 2.2.3输入输出要求
输入的运输符只能是+、-、*、/、(、)六个,输入的数字为程序随机产生的四个数,而且每一个数都只能用一次。
2.3 性能分析
模拟平台启动速度慢、程序响应速度快、信息处理速度快。
=
2.4运行环境需求
操作系统:Android手机基于Linus操作系统 支持环境:Android 1.5 - 2.3版本 开发环境:Eclipse 3.5 ADT 0.95
2.5小结
本软件是一个Apk应用程序,启动程序后可进行开始游戏选项、排行榜选项和游戏模式选项,可以通过按钮选择进行不同选择。进入游戏主界面后随机生成四张数字卡片,并在按钮上显示随机数字。用户通过数字和运算符组成24点的正确解与错误解,同时计时开始。用户输入后点击确定按钮如正确可提示信息“恭喜你,回答正确”,输入错误信息后则提示“很遗憾,答案不正确”,用户也可选择“查看答案”或“无答案”按钮或进入下一题。
从上面的描述中可以基本了解软件的功能需求: (1) 启动Apk应用程序;
(2) 选择游戏模式:默认模式为争分夺秒,可选择题海无边;
(3) 显示界面:通过随机生成数字并在按钮显示当前随机数字,且有运算符和其它按钮用户输入表达式后求解并显示正确与错误
(4) 详细界面:用户输入表达式后求解并显示正确与错误或进入下一题
=
3 系统开发环境及相关技术
3.1 Android开发环境介绍
Android的上层应用程序是用Java语言开发,同时还需要基于Dalvik虚拟机,所以,Google公司推荐使用主流的Java继承开发环境Eclipse。只有Eclipse还不够,因为是使用Java语言进行开发,还应该有由SUN公司提供的Java SDK(其中包括JRE:Java Runtime Environment)。此外,Android的应用程序开发和Java开发有较大区别的,所以还需要有Google提供的Android SDK。同时,还需要在Eclipse安装ADT,为Android开发提供开发工具的升级或者变更,是Eclipse下开发工具的升级下载的工具。
简言之,需要以下软件,才能搭建Android开发环境,从而进行Android应用程序的开发。
(1)Java SDK (2) Eclipse (3) Android SDK (4) ADT
3.2 Android开发平台搭建
Android开发平台搭建步骤:
(1)首先到http://www.eclipse.org/downloads/下载Eclipse集成开发环境并且解压,这里推荐下载Java EE 集成版本,可以为平台的搭建省下不少工作。接着再去http://java.sun.com/javase/downloads/index.jsp 站点下载SDK后安装,下载http://dl.google.com/android/android-sdk-windows-1.5_r1.zip,Android SDK1.5后解压。第一步下载工序就结束了。
(2)双击Eclipse解压后目录中的eclipse.exe然后启动,选择Eclipse菜单中的Help-> Install New Software-> 选项卡上的Available Software,点击右侧的“Add”输入http://dl-ssl.google.com/android/eclipse/后确定,然后在“Work with”下拉菜单中选择刚才输入的网址。过一会就会出现一个Developer Tools选项,勾上以后
=
点击Next以后Eclipse会自动网上查找Android 开发工具插件,然后找到Android DDMS和Android Development Tools,选中这两个点击Finish,Eclipse就会自动下载并安装Android插件了,最后会提示重启Eclipse。
(3)重启后选择Eclipse菜单中的Windows-> Preferences 在左侧的Android项目中SDK Location中填入Android SDK解压后的目录,然后点击Apply。
(4)在WindowsXP的系统变量中的path变量中添加一个值,该值指向解压后的Android SDK目录下的tools文件夹。
另外其它安装: (1)JDK
下载JDK,按照安装提示一步一步走。设置环境变量步骤如下:
(a) 我的电脑->属性->高级->环境变量->系统变量中添加以下环境变量: (b) JAVA_HOME值为:D:\\Program Files\\Java\\jdk(你安装JDK的目录); (c)CLASSPATH值
为:.;%JAVA_HOME%\\lib\\tools.jar;%JAVA_HOME%\\lib\\dt.jar;%JAVA-HOME%\\bin;
(d) Path:在开始追加%JAVA_HOME%\\bin;
(e) NOTE:前面四步设置环境变量对搭建Android开发环境不是必须的,可以跳过。 安装完成以后,可以在检查JDK是否安装成功。打开cmd窗口,输入java-version查看JDK的版本信息。出现类似以下的画面表示安装成功:
图3-1Android SDK安装
下载android-sdk_r12-windows,下载完成后解压到D盘:
运行SDK Setup.exe,点击Available Packages。如果没有出现可安装的包,,请点击Settings,选中Misc中的\https://...\这项,再点击Available Packages;
选择希望安装的SDK及其文档或者其他包,点击Installation Selected、Accept
=
All、Install Accepted,开始下载安装所选包。
在用户变量中新建PATH值为:Android SDK中的tools绝对路径(本机为D:\\AndroidDevelop\\android-sdk-windows\\tools)。
图3-2环境变量设置
“确定”后,重新启动计算机。重启计算机以后,进入cmd命令窗口,检查SDK是不是安装成功。运行android_h如果有类似以下的输出,表明安装成功:
图3-3验证Android SDK是否安装成功
=
(2)ADT安装
打开Eclipse IDE,进入菜单中的 \, 点击Add...按钮,弹出对话框要求输入Name和Location:Name自己随便取,Location输入http://dl-ssl.google.com/android/eclipse。如下图所示:
图3-4ADT的安装
确定返回后,在work with后的下拉列表中选择我们刚才添加的ADT,我们会看到下面出有Developer Tools,展开它会有Android DDMS和Android Development Tool,勾选他们。 如下图所示:
图3-5下拉列表选项
然后就是按提示一步一步next。
完成之后:选择Window > Preferences...,
在左边的面板选择Android,然后在右侧点击Browse...并选中SDK路径,本机为D:\\AndroidDevelop\\android-sdk-windows,
点击Apply、OK。配置完成。 (3)创建AVD
为使Android应用程序可以在模拟器上运行,必须创建AVD。
1. 在Eclipse中。选择Windows > Android SDK and AVD Manager
=
2. 点击左侧面板的Virtual Devices,再右侧点击New
3. 填入Name,选择Target的API,SD Card大小任意,Skin随便选,Hardware目前保持默认值
4. 点击Create AVD即可完成创建AVD
=
4 程序设计
4.1 程序首页界面设计
根据需求分析可以知道,应用程序首页应包含三个主要的用户模块界面,这里需要进一步分析每个用户模块界面中应该包括哪些显示内容。
在“开始游戏”按钮中,则直接进入游戏主界面。在“英雄榜”中,显示在不同游戏模式下当前的具体数据,主要包括争分夺秒模式下名次、正确题数及创建时间;题海无边模式下名次、答题用时和创建时间。
4.2 程序模块设计
从功能需求上分析可以看出,整个应用程序应划分为4个模块,分别是程序启动、用户界面、后台服务和数据库适配器,各模块之间的关系如图4-1所示。
24点游戏算法 随机发牌 输入求解表达式 判断表达式是否合法 计算表达式 判断表达式正误
图4-1系统模块
从模块结构图中不难看出,后台服务是整个应用程序的核心,主要是“数据获取模块”,负责随机产生数字。后台服务在程序启动时就由AppWidgetProvider启动,也可由用户界面通过startService()进行启动,启动后的后台服务将一直保持运行状态。
4.3流程图
4.3.124点游戏算法流程图
=
启动程序不符合判断输入表达式是否符合要求符合否判断表达式的结果是否为24是是输出“你输了”输出“你赢了”是否继续否结束
图4-2算法流程图
4.3.2后缀表达式转换的流程图
=
开始*p!=’\\0是否将算术表达式转换为后缀表达将op中未扫描的字符存到postexp中结束
图4-3后缀表达式转换的流程图
4.3.3 计算后缀表达式的流程图
开始*q!=’\\0是否计算后缀表达结束
图4-4计算后缀表达式的流程图
=
5 程序开发
5.1 文件结构与用途
在程序开发阶段,首先确定“Android平台24点”的工程名为No.24,据程序模块设计的内容,建立No.24工程。No.24工程源代码的结构如图5-1所示。
图5-1No.24工程的源代码文件
为了使源代码文件的结构更加清晰,No.24工程设置了多个命名空间,分别用来保存用户界面、数据库、后台服务和工具实体的源代码文件,源代码文件的名称以及说明如表5.1所示。
=
表5.1 No.24工程的文件用途说明
包 名 称 Cn.edu.fjut.no24.activty Cn.edu.fjut.no24.activity Cn.edu.fjut.no24.activity Cn.edu.fjut.no24.service Cn.edu.fjut.no24.date Cn.edu.fjut.no24.impl Cn.edu.fjut.no24.domain Cn.edu.fjut.no24.util Cn.edu.fjut.no24.util Cn.edu.fjut.no24.util 文 件 名 appActivity.java MainActivity.java RankActivity.java GameService.java RankDAO.java ForecastWidget.java WebServiceHelper.java computeUtil.java Databasehelper.java DateUtil.java 说 明 “程序首页”的Activity “程序主页面”的Activity “排行榜”的Activity 后台进程内服务 后台时间服务 实现AppWidget组件,并启动服务 网络数据获取模块 计算表达式工具类 数据库访问工具类 日期工具类 Android的资源文件保存在/res的子目录中。其中、/res/anim目录中保存的是产生动画效果的XML文件,/res/drawable/目录中保存的是图像文件,/res/values目录中保存的是用来自定义字符串和颜色的文件,/res/xml目录中保存的是XML格式的数据文件。所有在程序开发阶段可以被调用的资源都保存在这些目录中,具体每个资源文件的用途可以参考表5.2:
致 谢
天下没有不散的宴席,虽然大四的生活多半时间还是呆在学校里,但是论文致谢语写就的那一刻也真正标志着我与这所学校就此别离了,没有伤感,更多的是遗憾,但是总归不如意事十有八九,过去的不能挽回,人应该勇敢地向前看,所以这段文字应该像它的标题一样充满感恩和致谢,感谢四年来在我的成长道路上扶持过我,指点过我的人。
我首先要感谢我的论文指导教师张顺吉老师。他在论文的选题、研究思路
的确定、资料的收集到论文的撰写、修改以及最后的定稿这一过程中,都对我严格要求、悉心指导,并给予了切实的建议,不厌其烦的帮助进行论文的修改和改进。
此外,我还要感谢许多计算机科学与工程学院的其他老师,在我四年的本科学习期间,正是他们辛勤的传授、不倦的教诲,才为我最终完成毕业论文打下坚实的基础。感谢08级的各位同窗好友,你们的关系和爱护让我在这个集体里备感温馨,一起走过的日子将成为我美好的回忆。感谢关心、帮助、支持过我的所有人!感谢文中所引用文献的编、著、译者。
最后感谢各位评委老师对我毕业设计的审评。
2012年5月
百度搜索“70edu”或“70教育网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,70教育网,提供经典综合文库基于Android平台的24点游戏设计与实现需求分析在线全文阅读。
相关推荐: