首页 题目: Android游戏开发(数独)

题目: Android游戏开发(数独)

举报
开通vip

题目: Android游戏开发(数独)题目: Android游戏开发(数独) 题目: Android游戏开发(数独) 院,系, 计算机科学与技术 专 业 软件工程 届 别 2015届 学 号 1125111008 姓 名 陈镕真 指导老师 陈齐松 华侨大学教务处印制 2015年5 月 华侨大学11级计算机毕业论文 摘 要 随着信息时代的不断发展,智能手机已逐渐取代传统手机,进入千家万户。而智能手机中又有四大阵营,iOS,Android,黑莓以及Windows Phone。相比其他三种手机,Android手机又具有着独特的优势,它比W...

题目: Android游戏开发(数独)
题目: Android游戏开发(数独) 题目: Android游戏开发(数独) 院,系, 计算机科学与技术 专 业 软件工程 届 别 2015届 学 号 1125111008 姓 名 陈镕真 指导老师 陈齐松 华侨大学教务处印制 2015年5 月 华侨大学11级计算机毕业论文 摘 要 随着信息时代的不断发展,智能手机已逐渐取代传统手机,进入千家万户。而智能手机中又有四大阵营,iOS,Android,黑莓以及Windows Phone。相比其他三种手机,Android手机又具有着独特的优势,它比Windows Phone与黑莓更普及,应用也较多。但又和iPhone相比有着亲民的价格,因此受到了广大消费者的喜爱。据报道,在2015年,安卓的市场占有份额将达到84%,为全球市场占有率最大的智能手机操作系统。 时代在发展,高铁在提速,人们的生活节奏也越来越快,现在的人们,已经很难静下心来玩一款剧情繁琐,操作复杂的游戏,而像植物大战僵尸等小游戏逐渐得到了人们的青睐,小游戏占据了各大手机应用市场的前几名。本游戏就是以小游戏数独为蓝本而制作出的基于Java的Android游戏。游戏虽小,五脏俱全,能够实现数独游戏的基本玩法,还可通过玩家的需求选择不同的难度. 本文详细讲述了数独游戏的开发过程,从最初的游戏策划到游戏测试都给予了充分的说明,经过测试和使用,证明本游戏可以满足用户对数独游戏的需求。 关键词:Android;游戏;数独 1 华侨大学11级计算机毕业论文 ABSTRACT With the development of information era, intelligent mobile phone has gradually replaced the traditional mobile phone, enter thousands of households. Intelligent mobile phone and there are four camps, iOS, Android, Windows and Phone Blackberry. Compared to the other three phones. Android phone also has a unique advantage, it than Windows Phone and blackberry is more popular, or more applications. But compared to iPhone and has a reasonable price, so by the majority of consumers. According to reports, in 2015, Android's market share will reach 45.4%, will become the world's largest smart phone operating system. Era in the development, the high iron in speed, the rhythm of people's living is also growing fast, now the people, has been difficult to static under heart to play a complicated plot, complex operation of the game, and like plants vs. Zombies Game gradually obtained the people's favor, small games to occupy the major mobile application market of several. This game is a small game based on the Java Android Sudoku game based on produce. The game is small, be fullies equipped, can achieve the basic gameplay of the Sudoku game, also can choose different difficulty by the needs of the players. This paper describes in detail the Sudoku game development process, from the original game plan to test the game gave fully illustrated, after testing to prove that this game can satisfy the needs of users about Sudoku keywords:Android;Game;Sudoku 2 华侨大学11级计算机毕业论文 目 录 目录 摘 要............................................................................................................................. 1 ABSTRACT .................................................................................................................... 2 第一章 前言 ................................................................................................................... 5 1.1 选题背景 .............................................................................................................. 5 1.2 移动设备操作系统 ............................................................................................... 5 1.3 Android手机游戏发展现状 ................................................................................. 6 1.3.1国外的手机游戏发展现状: .......................................................................... 7 1.3.2国内的手机游戏发展现状: .......................................................................... 7 第二章 Android平台概述 ........................................................................................... 10 2.1 Android系统简介 ............................................................................................ 10 2.2 Android系统特性 ............................................................................................ 10 2.3 Android 操作系统框架结构............................................................................. 11 2.3.1 应用程序 ................................................................................................... 11 2.3.2 应用程序框架............................................................................................ 12 2.3.3 库与运行环境............................................................................................ 12 2.4 Android 应用程序的生命周期 ......................................................................... 13 第三章 数独游戏 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 ................................................................................................. 15 3.1 游戏功能简介................................................................................................... 15 3.2 游戏策划以及准备工作 .................................................................................... 16 3.3 游戏的架构 ...................................................................................................... 16 3.3.1 游戏中的类 ............................................................................................. 16 3.3.2 游戏中各类之间的关系 ............................................................................. 17 3.3.3 游戏的具体运行步骤................................................................................. 17 第四章 基于Android的数独游戏的实现 .................................................................... 19 4.1 主界面的设计................................................................................................... 19 4.2 难度界面的实现 ............................................................................................... 20 3 华侨大学11级计算机毕业论文 4.3 Game类的实现与作用 ....................................................................................... 21 4.4 myView类的绘制 .............................................................................................. 26 4.5 关键技术补充................................................................................................... 29 4.5.1 胜利条件的判断 ........................................................................................ 29 4.5.2 输入错误的取消 ........................................................................................ 29 4.5.3 提示功能 ................................................................................................... 29 第5章 结语和展望..................................................................................................... 31 5,1 结语 ................................................................................................................. 31 5,2 展望 ................................................................................................................. 31 参 考 文 献 ................................................................................................................. 32 后 记........................................................................................................................... 33 4 华侨大学11级计算机毕业论文 第一章 前言 1.1 选题背景 随着移动设备的不断普及,人们生活的不断发展,移动设备几乎已成人手一部,而移动设备的系统平台也日渐火热。目前常见的平台有Windows Phone,iPhone,Android 和黑莓四种,且由于移动设备的硬件配置与CPU的不断发展,Symbian系统已经几乎退出了历史舞台。取而代之的正是近年来发展迅速的Android系统,截止2015年第一季度,Android的市场占有率已接近60%,可见Android已经崛起,国内急需大量技术人才。 1.2 移动设备操作系统 国内外的厂商多年来推出了多种操作系统,下面我们介绍现在世界上主流的移动设备操作系统。 首先是iOS系统,iOS是由苹果公司为iPhone开发的操作系统。它主要是给iPhone、iPod touch以及iPad使用。就像其基于的Mac OS X操作系统一样,它也是以Darwin为基础的。原本这个系统名为iPhone OS,直到2010年6月7日WWDC大会上宣布改名为iOS。iOS的系统架构分为四个层次:核心操作系统层(the Core OS layer),核心服务层(the Core Services layer),媒体层(the Media layer),可轻触层(the Cocoa Touch layer)。系统操作占用大概240MB的存储器空间。 Windows Mobile 系列操作系统是从微软计算机的Windows操作系统演化而来的。Windows Mobile系列操作系统功能强大,而且支持该操作系统的智能手机大多数都采用了英特尔嵌入式处理器,主频比较高,在其它硬件配置(如内存、储存卡容量等)上也比采用其它操作系统的智能手机要高出许多,因此性能比较强劲,速度比较快。 BlackBerry OS是Research In Motion专用的操作系统。BlackBerry OS由 5 华侨大学11级计算机毕业论文 Research In Motion为其智能手机产品BlackBerry开发的专用操作系统。这一操作系统具有多任务处理能力,并支持特定的输入装置,如滚轮、轨迹球、触摸板以及触摸屏等。BlackBerry平台最著名的莫过于它处理邮件的能力。该平台通过MIDP1.0以及MIDP 2.0的子集,在与BlackBerry Enterprise Server连接时,以无线的方式激活并与Microsoft Exchange,Lotus Domino或Novell GroupWise同步邮件、任务、日程、备忘录和联系人。该操作系统还支持WAP1.2。 接下来介绍一下Android系统,Android是一个以Linux为基础的半开源操作系统,制作者是Andy Rubin,主要支持手机,后由Google收购后得到了迅猛的发展,2007年11月5日,Google与84家硬件制造商、软件开发商及电信营运商组成开放手持设备联盟(Open Handset Alliance)来共同研发改良Android系统并生产搭载Android的智慧型手机,并逐渐拓展到平板电脑及其他领域上。随后,Google以Apache免费开源 许可 商标使用许可商标使用许可商标使用许可商标使用许可商标使用许可 证的授权方式,发布了Android的源代码。相比其他三种手机,Android手机又具有着独特的优势,它比Windows Phone与黑莓更普及,应用也较多。但又和iPhone相比有着亲民的价格,因此受到了广大消费者的喜爱。 1.3 Android手机游戏发展现状 在科技技术与互联网高速发展的社会中,手机游戏能够给人们带来随时随地的并具有广域无线网络联机功能的休闲互动娱乐体验,以获取在现实生活中的精神与娱乐上的享受,在某种程度上满足人们本身的希冀,是一种精神世界地释放。近几年来,手机游戏快速发展的同时按内容可分为:角色扮演类、冒险类、格斗类、体育竞速类、电影改版类、棋牌类、益智类、模拟类。纷繁的手机游戏种类已成为人类线上娱乐生活的不可缺少的主流载体而存在,各类智能手机伴随着PC网络游戏为基础、4G网络的不断强化为措施的条件下大力迅猛发展手机网络游戏。 而随着近年来在世界范围内,手机的日渐普及,手机游戏已经成为整个游戏领域发展速度最快的部分。根据《2014年1,3月中国移动游戏产业 报告 软件系统测试报告下载sgs报告如何下载关于路面塌陷情况报告535n,sgs报告怎么下载竣工报告下载 》披露的数据显示,2014年第一季度,中国移动网络游戏市场实际销售收入达到了44.1亿元,环比上季度增长33.9%,同比去年增加300.9%,总量再创新高。报告分 6 华侨大学11级计算机毕业论文 析说,移动网游行业生态圈目前已基本成型,市场竞争秩序也逐渐确立。此外,随着中国移动互联网的发展,中国移动网络游戏市场规模还将继续扩大。 不仅如此,随着移动游戏市场规模扩张,中国移动游戏用户规模也在逐年增加。2014年第一季度,中国移动游戏用户数量约为3.025亿人,环比增长15.3%。 在这个背景下,我国的手机游戏在最近一年,有了长足的发展。但是就其规模而言,还远远没有达到国外的水平。这其中原因很多,但有一点是可以肯定的,我国的手机游戏前景是光明的,道路是曲折的。下面,我们就来具体 分析 定性数据统计分析pdf销售业绩分析模板建筑结构震害分析销售进度分析表京东商城竞争战略分析 一下国内外手机游戏的现状和发展前景。 1.3.1国外的手机游戏发展现状: 美国拥有1.57亿手游玩家。CPI为2.73美元,ARPU为1.96美元。非付费用户到付费用户的平均转化率为4.68%,付费用户平均月消费为21.45美元。休闲/角色扮演/益智/策略/模拟经营的受众人群稳定。 法国拥有2530万手游玩家,占比39.2%,欧洲第三。本地化特性高的游戏在法国很受欢迎。休闲游戏玩家是最大团体,偏好拼图、体育和赛车游戏。 德国拥有2730万手游玩家。70%为付费玩家,付费比例全球第一。手机游戏时间占比为15%。体育、射击、文字游戏受到玩家青睐。 2010年可谓在全平台火爆的游戏《愤怒的小鸟》,在IOS平台的App Store下载量连续数周排名榜首。依照Rivio(游戏开发商)与苹果(平台提供商)的分账 协议 离婚协议模板下载合伙人协议 下载渠道分销协议免费下载敬业协议下载授课协议下载 ,愤怒的小鸟每月能盈利约120万美元。之后《愤怒的小鸟》被移植到免费的Android(安卓)平台,在这一平台上,Rivio通过游戏内植入式广告(in-game advertising,IGA)的方式每月获利约100万美元。而《愤怒的小鸟》各种周边玩具的销量再次给产品盈利添了一把火,近期有消息称《愤怒的小鸟》将拍摄动画片„„在过去的一段时间,《愤怒的小鸟》可以说是移动终端产品成功的典范。 1.3.2国内的手机游戏发展现状: 现如今国内手机游戏的盈利方式分一下几种: 一次性下载收费模式,收费行为发生在下载行为之前。例如IOS平台上的游戏由于苹果的特殊性所有应用程序均通过App Store下载,付费也可以直接通过 7 华侨大学11级计算机毕业论文 信用卡转账进行;又如在中国移动的游戏基地平台上有2000余款单机游戏,使用者基本都是通过一次性付费下载获取游戏安装包。此类的收费下载行为多数是通过游戏平台进行的,如IOS平台上的App store,国内中移动手机游戏基地、当乐网等。 而这一模式往往还涉及上游的一次交易:即手游研发厂商将产品通过授权金或是收入分成等形式交给平台运营商。在IOS平台上,苹果与应用程序开发商有自己的分账协议,中移则是在平台上推出“G+游戏包”服务,与厂商联合“认证”精品游戏并推荐到平台做推广。在2010年底进入移动互联网棋局的第九城市也在走手游的平台化路线,并称“千万元寻找精品手机网游”。 对于手游行业中的这种平台化模式,数字顽石副总裁聂晶表示,这能让厂商“更专注于做产品研发”,有益于优秀作品的出现。 免费下载,通过激活关卡、完整版游戏等方式收费或通过游戏道具收费的模式,收费行为发生在下载行为之后。这一模式是目前国内手机游戏使用较多的。对于手机单机游戏来说,此类模式的逻辑是:用户可以免费获得产品并进行游戏试玩体验,但玩完整版游戏或是享受一些增值服务需要先付费进行激活才可以。而对手机网游来说,主流的商业模式是模仿PC网游的“免费游戏”模式:免费提供完整版游戏程序下载,在游戏中通过道具收费盈利。这也是目前国内手机游戏较稳定的盈利方式。 免费下载,通过内置广告盈利(IGA)模式。此类模式中,没有对用户的直接收费行为,而是将盈利的压力转移到其他领域。如前文中提及的《愤怒的小鸟》,IOS平台用户有一定的付费习惯,而安卓平台则是典型的免费分享平台。在安卓平台,无法通过付费下载的方式来盈利,开发商因此将盈利的压力通过合作转化到广告上。而实际结果是,由于在IOS平台的成功以及产品本身的吸引力,《愤怒的小鸟》在安卓平台的盈利并不输于IOS平台。 虽然手机游戏的用户越来越多,丰富多彩的游戏种类给玩家带来了更多的选择,但是我国的手机游戏行业的发展现状并不乐观,主要因素有:1)高质量游戏软件开发公司和人才的贫乏,导致并无特别优秀游戏打入市场。2)游戏创意的匮乏。大多游戏都只是一味跟风,看到某个游戏成功赢得市场,便改换场景风格、人物造型、故事背景等,其游戏核心一沉不变的思维理念会使玩家产生审美 8 华侨大学11级计算机毕业论文 疲劳 当然,未来我国手机游戏市场的增值空间巨大,其盈利模式也会多样化,而并非仅“游戏免费、高级服务收费”一条路可走。还有,手机网上费用仍较高,客户承受能力有限,用户付费意愿不高,制约着手机游戏产业发展。 据调查,由于用户的年龄结构和收入水平等原因,目前用户对手机网络游戏收费能够接受的程度较低,付费意愿不足。目前18-24岁的用户是我国手机游戏的第一大使用群体,份额高达70.5%。在职业分布上,学生仍然是手机游戏用户的核心力量,占比超过40%。由于以低年龄的学生群体为主,手机游戏用户的平均收入水平不高,月收入在2000元以下的占据85.3%,其中月收入1000元以下占到53.9%。另据调查,76.9%的用户不愿意玩付费游戏;即使是愿意付费的玩家,超过50%的用户月均消费额也在10元以下,而这只够维持流量支出费用。 但是,在未来几年,随着生活水平与网络水平的不断提升,手机游戏的发展前景依然十分广阔。人们能更好更直接的体验网速的顺畅给手机游戏带来的外部正效应,并且,当下手机游戏的兴起也是顺应时代的潮流,对手机游戏研发的投入与参与研发的人数都是空前的高涨。加上现在很多网络游戏都通过改进或简化直接移植到了手机上来,如植物大战僵尸、极品飞车、QQ斗地主等人们钟爱的游戏,也使得越来越多的人们开始倾向于便于携带且随时随地可玩的手机游戏。 9 华侨大学11级计算机毕业论文 第二章 Android平台概述 本章将介绍Android 这个基于Linux开发平台,首先我们会介绍 Android 操作系统,然后讲述其特性,接着讲述其系统框架,其次我们会重点介绍其应用程序的构成模块,最后会介绍其生命周期。 2.1 Android系统简介 Android 是谷歌公司发布的手机操作系统,它是基于Linux 平台的开源手机操作系统,谷歌公司将要把其打造为基于移动终端的真正开放的移动软件平台,不仅拥有移动电话所需要的工作软件,,而且在专利权方面能够不侵犯他人权利去推动移动互联网的创新。 谷歌公司为了开发Android,与开放手机联盟进行了合作,手机开放联盟由全球30 多家移动开发和手机应用的领先企业组成。谷歌公司不仅仅和运营商达成了合作关系、而且与设备制造商以及开发商保持长期合作,目的就在于利用其优势建立移动软件平台,其特点是标准化、开放式的。Android是谷歌公司未来企业战略的一部分,其目的是为了在任何时候任何地点能够提供信息. 2.2 Android系统特性 Android系统特性如下所示: 1.应用框架:Android系统组件,用于开发流程,两个特性:可重用性和可替代性。 2.Dalvik 虚拟机:在Android系统中,Dalvik虚拟机是一种Java 虚拟机,是Google公司自主开发,其代号为Dalvik,占用资源比较小,运行效率比较高。 3.集成浏览器:引擎WebKit,其特性是开源。 4.优化图形:强大的自定义二维图形库。基于OpenGL ES 1.0 标准的3D 图形功能,在移动3D 开发中有着至关重要的地位。 5.SQLite 数据库:SQLite 提供结构化的数据存储。它是一款轻型免费的且 10 华侨大学11级计算机毕业论文 开源的数据库,设计目标是嵌入式的。它具备占用资源低、需要的内存空间少、 6.多媒体支持:支持各种通用的音视频和静态图像格式(MPEG4、MP3、JPG、PNG、GIF、AAC、H.264、AMR)。 7.GSM 技术:(依赖硬件)Global System for Mobile Communications,全球移动通讯系统,俗称全球通,是第二代移动通信技术,其开发目的是让全球各地可以共同使用一个移动电话网络标准,让用户使用一部手机就能行遍全球。 8.蓝牙,EDGE,3G,and Wi-Fi:(依赖硬件)蓝牙和Wi-Fi 都是一种短距离的无线连接技术,在短距离内可以实现话音和数据的无线传输。 EDGE(Enhanced Data Rate for GSM Evolution),是增强型数据速率GSM 演进技术。 9.Camera,GPS,Compass,and Accelerometer:(依赖硬件)GPS(Global Positioning System),即全球定位系统。它是一个由覆盖全球的24 颗卫星组成的卫星系统。Compass是一个开放源代码的Java 搜索引擎框架。 10.强大的开发环境:包括一个设备模拟器,调试工具,内存和性能检测,以及Eclipse。 11.IDE的开发插件。Eclipse集成开发环境。 2.3 Android 操作系统框架结构 Android作为一个开源的移动设备的平台,其软件层次结构自上而下分为四个层次,分别是:应用程序(Application)、应用程序框架(Application Framework)、各种库(Libraries)和Android运行环境(RunTime)、Linux内核(Linux Kernel)。 2.3.1 应用程序 突破传统思维,提供更好的用户体验。Android 将会移植一系列的核心应用,包括E-mail 客户端,SMS 程序,日历,GPS 地图,浏览器,联系人等等。 所有的应用程序都是由Java语言完成的。应用程序是无界限的,可以在平等条件下创建,还可以轻松地嵌入Web,可以并行运行[5]。 11 华侨大学11级计算机毕业论文 2.3.2 应用程序框架 Android 应用程序由一个或多个组件组成,Android 的应用程序框架为应用程序层的开发者提供APIs,它实际上是一个应用程序的框架。由于上层的应用程序是以Java 构建的,因此本层次提供的首先包含了UI 程序中所需要的各种控件: 例如:Views(视图组件)包括lists(列表),grids(栅格),text boxes(文本框),buttons(按钮)等。甚至一个嵌入式的Web浏览器。 一个Android的应用程序可以利用应用程序框架中的以下几个部分:Activity(活动),Broadcast Receiver(广播接收者),Service(服务),Content Provider(内容提供者)。 2.3.3 库与运行环境 Android 包含一套C/C++库,能被系统中不同的组件使用。这些功能通过Android应用框架展现给开发人员。下面列出一些核心库: (1)System C library:从BSD 继承来的标准C 系统函数库,也是系统中最为底层的库,是专门为基于嵌入式Linux 的设备制定的。 (2)Media Framework:该库支持多种常用的音频、视频格式的回放和录制,同时支持静态图片文件,包括MPEG4、H.264、MP3、AAC、AMR、JPG 和PNG 等。 (3)Surface Manager:用于管理不同应用对图形显示子系统和2D 和3D 图形层的访问。 (4)WebKit:一个时尚的web 浏览器引擎,为Android 浏览器和内嵌的web view 提供实现。 (5)SGL:隐藏的2D 图形引擎。 (6)3D libraries:基于OpenGL ES 1.0 APIs 实现的库,该库可以使用硬件3D 加速,或者高度优化的3D 软加速。 (7)FreeType:位图和向量模式的字体绘制。 (8)SQLite:一个强大的,轻量的关系型数据库引擎,用于所有的应用。 Android 运行时Android 包含一组核心库,提供了Java 语言核心库内的 12 华侨大学11级计算机毕业论文 大部分功能。Android运行环境主要指的是虚拟机技术——Dalvik。Dalvik虚拟机依赖Linux kernel来实现一些潜在功能,例如线程和底层内存管理。Dalvik虚拟机和一般Java虚拟机(JavaVM)不同,它执行的不是Java标准的字节码而是Dalvik可执行格式(.dex)中执行文件,该格式的文件经过优化占用很小的内存。在执行的过程中,每一个应用程序即一个进程(Linux 的一个Process) 。二者最大的区别在于Java VM 是以基于栈的虚拟机(Stack-based),而Dalvik是基于寄存器的虚拟机(Register-based)[6]。显然,后者最大的好处在于可以根据硬件实现更大的优化,这更适合移动设备的特点。每个Android应用程序都在Dalvik VM的一个实例中运行,这个实例驻留在一个由Linux内核管理的进程中。 2.4 Android 应用程序的生命周期 Android 应用程序一个完整的生命周期是从应用程序的创建到结束的全过程,与其他系统不同,Android 应用程序的生命周期是不受进程本身控制的,而 系统来决定的,Android 系统会根据应用程序对用户的重要性及是由Android 当前系统的负载来决定生命周期的长短。 (1)前台进程,是Android 系统中最重要的进程,是与用户正在进行交互的进程。有以下四种情况:Activity 正在与用户进行交互;进程被Activity 调用,而且这个进程正在与用户进行交互;进程服务正在执行声明中的回调函数,如onCreate()、onStart()、onDestroy();进程的Broadcast Receiver 在执行onReceive()函数。Android 系统在多个前台进程同时运行时,可能会出现资源不足的情况,此时会清除部分前台进程,以保证主要的用户界面能够及时响应。 (2)可见进程,是指部分应用程序界面能够被用户看见,却不在前台与用户进行交互,不影响界面事件的进程。如果应用程序进程包含一个服务,且这个服务正被用户可见的Activity 调用,则此进程同样被视为可见进程。Android 进程一般存在少量的可见进程,只有在特殊情况下,Android 系统才会为保证前台进程的资源而清除可见进程。 (3)服务进程,服务进程是指包含已启动服务的进程。该进程没有用户界面并在后台长期运行。除非Android 系统不能保证前台进程和可见进程所必要的资源,否则不会强行清除服务进程。 13 华侨大学11级计算机毕业论文 (4)后台进程,后台进程是指不包括任何已经启动的服务,而且没有任何用户可见的Activity 的进程。Android 系统中一般存在数量较多的后台进程,在系统资源紧张时系统将会优先清除用户较长时间没有见到的后台进程。 14 华侨大学11级计算机毕业论文 第三章 数独游戏设计 3.1 游戏功能简介 数独(すうどく)是一种运用纸、笔进行演算的逻辑游戏。玩家需要根据9×9盘面上的已知数字,推理出所有剩余空格的数字,并满足每一行、每一列、每一个粗线宫内的数字均含1-9,不重复。 数独盘面是个九宫,每一宫又分为九个小格。在这八十一格中给出一定的已知数字和解题条件,利用逻辑和推理,在其他的空格上填入1-9的数字。使1-9每个数字在每一行、每一列和每一宫中都只出现一次,所以又称“九宫格”。 游戏框架如下图所示: 点击图标 主界面 退出 新游戏 关于 难度界面 简单 普通 困难 该游戏的运行步骤如下。 1.启动游戏后首先进入的是菜单界面。 2.在菜单界面单击“关于游戏”菜单可进入“关于”界面,在“关于”界面介绍了游戏的基本规则。 3.在菜单界面单击“开始游戏”菜单可进入难度界面。 15 华侨大学11级计算机毕业论文 4.在难度界面上点击相应难度可进入游戏界面 5.当玩家将界面中所有的空白全部填满数字时,会出现游戏胜利界面。 6.在胜利或者失败状态时,玩家可以通过点击返回按键回到菜单界面。 7.在菜单界面单击“退出游戏”便可退出该游戏。 3.2 游戏策划以及准备工作 游戏将出现各种数独模型,按照标准数独,解题规则:将数字1-9的数填入空格内, 并使每行、每列及每个3×3正方形的宫内都出现1-9且不重复。 3.3 游戏的架构 3.3.1 游戏中的类 1、About1类 该类绘制了关于界面 2、MainActivity类 该类是主窗口类,游戏进入时便会调用该类,是整个应用程序的入口,根据不同按钮的监听事件切换到不同的界面。 3、MyView类 该类主要绘制了游戏界面 4、Game类 该类存储了游戏的逻辑和算法,游戏中与计算有关的都在该类。 5、KeyDialog类 该类是窗口类,主要负责点击游戏界面时弹出的输入窗口,并将用户点击的数字传值回去刷新页面。 6、difficult类 该类是绘制了难度选择界面,并根据不同难度按钮的监听事件,生成不同的游戏界面。 16 华侨大学11级计算机毕业论文 3.3.2 游戏中各类之间的关系 3.3.3 游戏的具体运行步骤 1.启动游戏后,首先在MainActivity 中初始化main_windows,然后将用户界面切换到main_windows。 2(当玩家单击“关于”菜单时,会创建About1 并显示“关于”界面。 当单击“新游戏”时,会在difficult中初始化R.layout.difficult,然3. 后将用户界面切换到R.layout.difficult。 4.当用户单击“简单”时,会在MyViewActivity中初始化MyView,然后用户界面切换到MyView。 5.当用户单击“普通”时,会在MyViewActivity2中初始化MyView2,然后用户界面切换到MyView2。 6.当用户单击“困难”时,会在MyViewActivity3中初始化MyView3,然后用户界面切换到MyView3。 7.当用户点击MyView中的空白单元格时,会调用KeyDialog,然后调用Game类中的函数,计算出KeyDialog所能显示出的单元格。而当用户点击KeyDialog中的单元格时,会调用returnNum函数和returnResult函数,返回点击的单元 17 华侨大学11级计算机毕业论文 格所代表的值并刷新MyView。 8、MyView2与MyView3原理与MyView相同,这里就不赘述了。 9、当用户将MyView中所有的单元格填满时,会显示对话框显示游戏成功。 18 华侨大学11级计算机毕业论文 第四章 基于Android的数独游戏的实现 4.1 主界面的设计 如图,主界面我是通过layout中直接设计并调用的,分为背景图片和三个按钮。点击新游戏会进入难度界面,点击关于会弹出关于信息,点击退出会退出游戏。关于界面如图所示: 19 华侨大学11级计算机毕业论文 4.2 难度界面的实现 难度界面也是在layout中直接设计并引用的,分为背景图片和三个按钮。点击不同的难度按钮会进入不同难度的数独游戏。 20 华侨大学11级计算机毕业论文 4.3 Game类的实现与作用 要了解Game类,我们首先要了解why类中的函数; 如图所示: 我们可以看到,在why类中定义了两个String类的变量,这两个String一个存储了题目,一个存储了答案,我们在后面将会讲到。在这里先简单介绍下,str1代表题目,str1001代表str1所对应的答案。 21 华侨大学11级计算机毕业论文 接下来是why类中的两种函数,两种函数非常的简单,就是起到一个传值的作用,使Game类能够从题库中取出题目和答案。 接下来是Game类, 首先,我们要实例化一个why类对象,这样,我们就可以引用why类中的函数了,通过why类中的getString1和getString1001函数,我们将str和str2都赋值为问题数组,接下来我们会讲到为什么这么做。之后,声明三个9X9的数组,用于存放数组元素。还有一个used三维数组,用来存储某个单元格中已经使用过的数字。我们可以称呼sudoku数组为玩家解答数组。Sudoku2数组为原始题目数组。Sudoku3为答案数组。 接下来是Game类中的方法: 首先是fromPuzzleString方法 22 华侨大学11级计算机毕业论文 这个方法的作用是讲字符串中的数字拿出来,并转换为整型,存储于一个新的数组中,我们可以从图中看到,声明了一个int数组,而减去‘0’的原因是要把String类型转换为int型。最后返回一个int型的sudo数组。 接下来是getTile,这个方法非常简单,就是根据x和y的坐标,返回该坐标应该填写的数字。 getTileString方法和getTile方法其实非常类似,如果需要整型元素,就调用getTile,如果需要字符,就调用getTileString。该方法主要用于将数字绘制至单元格。 SetTileIfValid方法是用来判断用户输入的数字是否符合输入条件,之前我的设计是用户输入之后再进行判断是否是使用过或者点击了题目单元格,不过经过 23 华侨大学11级计算机毕业论文 改良后,从理论上来说来年两个判断是可以删掉的,不过为了稳健起见,还是保留了,第一个for用来判断用户输入的数字是否已经使用过,第二个判断是用户点击的单元格是否是题目单元格。大家可以看到,在该函数中,调用了setTile和calculateAllUsedTiles方法,下面我们介绍这两种方法。 setTile方法: 就是将指定坐标的解答数组的值换为指定的值的方法 calculateAllUsedTiles方法: 则是将所有的单元格中不可使用的数字都计算出来的方法,通过两层循环,遍历所有单元格,并调用calculateUsedTiles方法计算不可用数字。 calculateUsedTiles方法是数独算法的核心算法,用于取出单元格中的不可用数字。下面我们来逐一分析该方法是如何进行计算的。 24 华侨大学11级计算机毕业论文 我们先看这一部分,这一部分的作用,是用于计算在列方向上,有哪些数据已经使用了。这一个循环之后,这一列所有使用过的数字都会保存在数组c中。 接下来这一部分和上面类似,用于计算在横方向上,有哪些数据已经使用过了。并将使用过的数字保存于数组c中。 这一部分,就是计算小的九宫格中,哪些数据已经使用过了。并将使用过的数字保存于数组c中。 通过上面的三重循环,我们已经得到了一个单元格中所有已使用过的数字,但是,取出来的数字中也包括0,因此,上面这段代码的作用就是压缩数组,去掉0。到此为止,我们的Game类的主要方法也就完成了。 25 华侨大学11级计算机毕业论文 4.4 myView类的绘制 由于程序本身并不能满足我们对于数独游戏的要求,所以需要自定义View,用来描绘数独游戏的游戏界面。下面我们来介绍如何绘制自定义的View。 首先,每个View在绘制时都会调用onDraw方法,因此,我们就在onDraw里进行绘制。 首先声明四根画笔对象,并通过画图,了解所需颜色的argb。并给画笔赋上所需的颜色。 canvas.drawRect(0, 0, getWidth(), getHeight(), backgroundPaint); 这一句,使用背景色画笔绘制了整个游戏界面的背景色。 26 华侨大学11级计算机毕业论文 绘制好了背景色,就是绘制九宫格了。通过两个循环,就可绘制出如图所示的九宫格了。 绘制好了游戏界面,接下来就是将题目和用户选择的数字填入九宫格了。 27 华侨大学11级计算机毕业论文 通过上面两个循环,就可将之前Game类中保存的题目绘制进九宫格了。之所以选择两个画笔,是为了将用户填入的数字与题目原先的数字进行区分。 准备完毕,就需要为用户的点击设置监听事件了 通过系统自带的onTouchEvent方法,我们可以很方便的得到用户所选择的坐标区域,并通过计算得出用户点击了哪个单元格,并由此计算出该单元格使用过的数字,并生成一个keyDialog。 28 华侨大学11级计算机毕业论文 4.5 关键技术补充 4.5.1 胜利条件的判断 若玩家解答数组不存在0,则判断玩家成功,弹出对话框。 4.5.2 输入错误的取消 我们通过一个clear方法,如果玩家选择的不是题目数组中的单元格,则将玩 家解答数组的相应数字重置为0。 4.5.3 提示功能 29 华侨大学11级计算机毕业论文 之前我们提到过,sudoku3为答案数组,因此,只要在提示按钮的监听器上使用tishi方法,就可将答案数组中的对应数字填入到玩家解答数组中,并重新计算已使用过的数字。 30 华侨大学11级计算机毕业论文 第5章 结语和展望 5,1 结语 该程序基本上实现了设计的目标以及设计要求的主要功能,能为用户提供比较灵便,有效的游戏体验。当设计完成此模块之后,对软件工程又有了深刻的体会:编程就像盖楼房,要有框架,地基,一砖一瓦都不能马虎大意,否则极不稳定,若有风吹草动就会倒塌。经过反复的测试和使用,从一开始的构思,到实践,从处处bug到基本稳定,此软件在不断完善,个人的编程素养也得到了很大的进步。该程序虽达到了一定预期目标,实现了基本的功能,但是同时,还有一些功能和设计上的不足: 1、因为时间问题,存档功能尚未实现。 2、背景音乐还未弄清楚如何实现。 3、游戏的界面还未美化,按钮等看起来生硬不亲切。 4、题库较少。 5、提示功能还在构思。 6、横竖屏切换还未实现 5,2 展望 我觉得该程序还可继续改进,如采用回溯算法自动计算出题库,通过图片的切换来营造帧数的效果,对于时间不充分的用户可增加存档功能,对于影响系统功能的代码进行精简,研究传值,使程序更加小巧。 31 华侨大学11级计算机毕业论文 参 考 文 献 [1] 白广元.Java Web整合开发完全自学手册[M].北京:机械工业出版社,2009. [2] 王克宏.Java技术教程(基础篇)[M].北京:清华大学出版社,2006. [3] 张孝祥(Java就业培训教程[M]. 北京:清华大学出版社,2007. [4] 余志龙.Google Android SDK开发范例大全[M].北京:人民邮电出版社,2009. [5] 杨丰盛.android应用开发揭秘[M].北京:机械工业出版社,2010. [6] 郭宏志.Android应用开发详解[M].北京:电子工业出版社,2010. 32 华侨大学11级计算机毕业论文 后 记 时间荏苒,光阴飞逝,转眼间,大学四年就这样过去了,在感叹时间不留人的时刻,我的毕业设计,也到了尾声。 本课题得以顺利完成,首先要向我的导师陈齐松老师致以衷心的感谢~在本次毕业设计期间,陈齐松老师一直对我孜孜教诲、严格要求,本文从选题、撰写、修改到最终完成,陈齐松老师都给予了精心指导和帮助。 接着要感谢大学四年里对我循循善诱的辅导员,以及计算机科学与技术学院的各位同学,正是有了你们,才给了我一个精彩的大学生活。四年来,有欢笑,有悲伤,有忧愁,相信有了四年的积淀,我将会更加坚强,更加勇敢的面对未来人生将遇到的每个难题。 最后衷心的感谢在百忙之中评审本论文并提出宝贵意见的各位专家和教授。由于时间仓促与本人的水平不足,难免会有很多不足与差错,请各位见谅。 作者名 陈镕真 2015年5月19日 33
本文档为【题目: Android游戏开发(数独)】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_266065
暂无简介~
格式:doc
大小:324KB
软件:Word
页数:34
分类:初中语文
上传时间:2017-09-23
浏览量:34