基于android数独游戏毕业设计

上传人:无*** 文档编号:99863382 上传时间:2022-06-01 格式:DOC 页数:45 大小:2.56MB
收藏 版权申诉 举报 下载
基于android数独游戏毕业设计_第1页
第1页 / 共45页
基于android数独游戏毕业设计_第2页
第2页 / 共45页
基于android数独游戏毕业设计_第3页
第3页 / 共45页
资源描述:

《基于android数独游戏毕业设计》由会员分享,可在线阅读,更多相关《基于android数独游戏毕业设计(45页珍藏版)》请在装配图网上搜索。

1、毕业设计(论文)题 目:基于Android数独游戏设计37 / 45基于Android数独游戏设计摘 要移动互联网时代的到来极大的改变了我们的生活,而Android是一种以Linux为基础的开放源码操作系统迅速占领了智能机操作系统,所以在android环境下开发显得尤为必要。Android是开放性体系架构,不仅具有非常好的开发、调试环境,而且还支持各种可扩展的用户体验,包括丰富的图形组件、多媒体支持功能以与强大的浏览器。因此,对于软件从业人员来说,Android平台具有无限的吸引力。本文就在分析讨论Android手机软件开发技术原理的基础上,为用户开发出基于Android平台的数独游戏的软件。

2、通过对Android系统架构和应用开发进行初步研究,设计一款数独游戏。在对系统进行详细需求分析的基础上,确定了系统的功能和性能要求,对游戏的开机动画,菜单界面、屏幕绘制、时间控制、布局算法等进行了设计。本文详细介绍了在Android平台上以Java为语言编写游戏的过程,最终实现了一个界面友好、操作简单的手机益智游戏。关键词:Android 数独 智能机Thedesign of Sudoku game based on AndroidAbstractArrival of the mobile Internet era has greatly changed our lives, and Andr

3、oid is a Linux-based system quickly occupied the smartphone operation system, Android development is particularly necessary under the circumstances. Androids biggest feature is its open architecture, not only has a very good development and debugging environment, but also supports a variety of scala

4、ble user experience, including rich graphical components, multimedia support, and powerful browser. Therefore, for software professionals, Android platform has unlimited appeal.In this thesis, the analysis and discussion of Android mobile phone software development technology provide users with bett

5、er platform to the Sudoku based on Android meteorological software. Through the Android system structure and application development for preliminary research, we designed a Sudoku game. In the system based on the analysis of the detailed requirements, we design the game in the game menu interface, t

6、he screen rendering, time control and layout algorithm.This thesis describes the whole development process of Android based smart phone game using Google Android SDK. Finally, we have the software with friendly interface and simple operation.Key Words:Android ; Sudoku ; Smartphone 目 录摘要IABSTRACTII第一

7、章绪论11.1研究背景11.1.1 手机游戏的发展以与特征11.1.2数独游戏背景21.2 Android 手机游戏的市场价值21.3 本文主要工作与章节结构3第二章 ANDROID 平台概述42.1 Android系统简介42.2 Android系统特性42.3 Android 操作系统框架结构52.3.1 应用程序62.3.2 应用程序框架62.3.3 库与运行环境72.3.4 核72.4 Android 应用程序构成82.4.1Activity82.4.2 Broadcast Receiver92.4.3 Service102.4.4 Content Provider102.5 Andr

8、oid 应用程序的生命周期11第三章数独游戏的设计133.1游戏功能简介133.2 游戏策划以与准备工作143.3 游戏的架构163.3.1 各类的介绍163.3.2 游戏的框架简介18第四章基于ANDROID平台数独游戏的实现194.1 欢迎界面的设计和实现194.1.1 主类KLSDActivity实现194.1.2 欢迎界面WelcomeView类的实现204.1.3 WelcomeViewDrawThread类和WelcomeViewGoThread类的实现214.1.4 HelpView类和AboutView类的实现224.2 游戏界面相关类的实现234.2.1 游戏界面GameVi

9、ew的实现244.2.2 时间线程TimeThread的实现254.3 数独算法类的实现254.3.1数独算法基本逻辑264.3.2 检测填充结果274.4 游戏的测试和运行294.4.1 游戏测试概述294.4.2 测试环境304.4.3 游戏运行结果31第五章总结和展望355.1 总结355.2 展望35参考文献36致37第一章绪论1.1研究背景1.1.1手机游戏的发展以与特征手机游戏,是指用户运行在移动终端的应用程序,具有网络连接功能,能够满足用户随时随地进行游行的需求,它需要一定的硬件环境和一定的系统环境作为其运行的基础。手机游戏吸引用户最大的特点就是其便利性,由于其是移动终端,所以用

10、户可以随时随地进行游戏。正是因为其便利性,手机游戏市场有了很大的发展。在美国,手机游戏作为美国手机用户最喜欢的移动应用之一,在iPhone和Android等智能终端推出后发展迅速。手机游戏常见的特征可以总结如下:1.庞大的潜在用户群:全球在使用的移动已经超过10亿部,而且这个数字每天都在不断增加。在除美国之外的各个发达国家,手机用户都比计算机用户多。手机游戏潜在的市场比其他任何平台,比如PlayStation和GameBoy都要大。2.便携性与移动性:在控制台游戏时代,GameBoy热销的一个原因就是便携性人们可以随时随地沉浸在自己喜欢的游戏中,还可以随时随地抢购自己喜欢的装备或宠物。和游戏控

11、制台或者PC相比,手机虽然可能不是一个理想的游戏设备,但毕竟人们总是随时随身携带,这样手机游戏很可能成为人们消遣时间的首选。手机便携性、移动性的特征更能满足用户随时随地玩游戏的需求,用户利用排队、等车的时间进行游戏,手机游戏碎片化的特性凸显。调查显示,29.8%的用户在用手机玩游戏以后电脑端玩游戏的时间减少,手机游戏已经开始抢夺电脑游戏时间。22.4%的用户手机游戏时间越来越长,仅有10%的用户时间变短,手机游戏已逐渐成为一种普遍的娱乐方式。3.支持网络:因为手机是网络设备,在一定限制因素下可以实现多人在线游戏。随着移动网络的发展,移动游戏也越来越多的被大家接受,对于之前长期通知市场的掌机来说

12、造成了不少的冲击。市场研究公司IDC和App Annie报告显示2013年第一季度iOS和Android平台游戏业务营收是掌机的3倍。1.1.2数独游戏背景数独的前身为“九宫格”,最早起源于中国。但当时的算法比现在的更为复杂,要求纵向、横向、斜向上的三个数字之和等于15,而不是数字不能重复。儒家典籍易经中的“九宫图”也是来源于此。到了18世纪末,瑞士数学家莱昂哈德欧文又发明了一种叫做“拉丁方块”的游戏,之后不久,美国的一家数字逻辑游戏杂志开始刊登这类游戏,使此类游戏得到良好发展,之后又在日本得到了广泛的传播。2004年,第一个“数独”游戏被刊登上了英国泰晤士报的封面,此时开始数独游戏才真正为世

13、界所知晓。数独游戏的规则很简单,只需要在空格处填写19的数字,并保证每个数字在每个九宫格只出现一次,而一般的游戏过程是系统随机生成一个棋局,然后玩家需要在空白处填上相应的数字使其满足游戏规则。由于此类游戏操作简单,不需要特定的语言基础,也不需要进行数字运算且可玩性高、锻炼思维、开发大脑,所以很快风靡全球。1.2Android 手机游戏的市场价值Android是Google开发的基于Linux平台的开源手机操作系统。它包括操作系统、用户界面和应用程序移动工作所需的全部软件,而且不存在任何以往阻碍移动产业创新的专有权障碍2。Google与开放手机联盟合作开发了Android,这个联盟由包括中国移动

14、、摩托罗拉、高通、宏达电和T-Mobile在的30多家技术和无线应用的领军企业组成。Google通过与运营商、设备制造商、开发商和其他有关各方结成深层次的合作伙伴关系,希望借助建立标准化、开放式的移动软件平台,在移动产业形成一个开放式的生态系统。Android平台上的游戏相比应用软件,不需要进行严格的市场细分,不需要针对目标用户量身定制。这是因为游戏玩家的核心需统一的,那就是:娱乐与打发时间(乃至更高层面的竞技需求和群体认同需求),这种需求附着于特定的社会发展阶段,不受地域的限制,甚至于能够穿透文化壁垒。因此,绝大多数种类的游戏都具备传染性与普适性,每一个售出的游戏都将会点燃周围潜在玩家的激情

15、,最终吞噬整个需求市场。由此可知,几乎每一个Android手机用户都是游戏的需求者,都是潜在的顾客,现今的1000多万Android用户不过是冰山一角,随着Android手机市场进一步壮大,游戏的市场容量将具备更大的增长空间3。1.3 本文主要工作与章节结构整篇论文共分为六个部分,其主要容安排如下:第一章 引言。介绍论文的研究背景、目的和意义。包括课题的背景资料简介、国外研究现状和发展趋势、深入地介绍了课题研究的价值。第二章 Android平台概述。这部分主要是介绍了智能手机系统现状、Android的功能特征、Android系统的特点以与Android的体系结构。第三章 数独游戏的设计。对游戏

16、相关策划,功能以与架构进行介绍。第四章 数独游戏的实现。这部分主要介绍了游戏的界面、游戏中的逻辑处理以与该游戏今后的改进和优化。第五章 总结和展望。对整篇论文加以总结与回顾以与对未来的展望。第二章 Android 平台概述本章将介绍Android 这个基于Linux开发平台,首先我们会介绍 Android 操作系统,然后讲述其特性,接着讲述其系统框架,其次我们会重点介绍其应用程序的构成模块,最后会介绍其生命周期。2.1 Android系统简介Android 是谷歌公司发布的手机操作系统,它是基于Linux 平台的开源手机操作系统,谷歌公司将要把其打造为基于移动终端的真正开放的移动软件平台,不仅

17、拥有移动所需要的工作软件,而且在专利权方面能够不侵犯他人权利去推动移动互联网的创新。谷歌公司为了开发Android,与开放手机联盟进行了合作,手机开放联盟由全球30 多家移动开发和手机应用的领先企业组成。谷歌公司不仅仅和运营商达成了合作关系、而且与设备制造商以与开发商保持长期合作,目的就在于利用其优势建立移动软件平台,其特点是标准化、开放式的。Android是谷歌公司未来企业战略的一部分,其目的是为了在任何时候任何地点能够提供信息 4。2.2 Android系统特性Android系统特性如下所示:1.应用框架:Android系统组件,用于开发流程,两个特性:可重用性和可替代性。2.Dalvik

18、 虚拟机:在Android系统中, Dalvik虚拟机是一种Java 虚拟机,是Google公司自主开发,其代号为Dalvik,占用资源比较小,运行效率比较高。3.集成浏览器:引擎WebKit,其特性是开源。4.优化图形:强大的自定义二维图形库。基于OpenGL ES 1.0 标准的3D 图形功能,在移动3D 开发中有着至关重要的地位。5.SQLite 数据库:SQLite 提供结构化的数据存储。它是一款轻型免费的且开源的数据库,设计目标是嵌入式的。它具备占用资源低、需要的存空间少、处理速度较快,并且还支持事务处理功能等优点。6.多媒体支持:支持各种通用的音视频和静态图像格式(MPEG4、MP

19、3、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 forGSM Evolution),是增强型数据速率GSM 演进技术。9.Camera,GPS,Comp

20、ass,and Accelerometer:(依赖硬件)GPS(Global PositioningSystem),即全球定位系统。它是一个由覆盖全球的24 颗卫星组成的卫星系统。Compass是一个开放源代码的Java 搜索引擎框架。10.强大的开发环境:包括一个设备模拟器,调试工具,存和性能检测,以与Eclipse11.IDE 的开发插件。Eclipse集成开发环境。2.3 Android 操作系统框架结构Android 作为一个开源的移动设备的平台,其软件层次结构自上而下分为四个层次,分别是:应用程序(Application)、应用程序框架(Application Framework)、

21、各种库(Libraries)和Android 运行环境(RunTime)、Linux 核(Linux Kernel)。图 2.1 Google 手机操作系统平台-Android 的架构模型2.3.1应用程序突破传统思维,提供更好的用户体验。Android 将会移植一系列的核心应用,包括E-mail 客户端,SMS 程序,日历,GPS 地图,浏览器,联系人等等。所有的应用程序都是由Java语言完成的。应用程序是无界限的,可以在平等条件下创建,还可以轻松地嵌入Web,可以并行运行5。2.3.2应用程序框架Android 应用程序由一个或多个组件组成,Android 的应用程序框架为应用程序层的开发

22、者提供APIs,它实际上是一个应用程序的框架。由于上层的应用程序是以Java 构建的,因此本层次提供的首先包含了UI 程序中所需要的各种控件:例如:Views(视图组件)包括lists(列表),grids(栅格),text boxes(文本框),buttons(按钮)等。甚至一个嵌入式的Web 浏览器。一个 Android 的应用程序可以利用应用程序框架中的以下几个部分:Activity(活动),Broadcast Receiver(广播接收者),Service(服务),Content Provider(容提供者)2.3.3库与运行环境Android 包含一套C/C+库,能被系统中不同的组件使

23、用。这些功能通过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 提

24、供实现。(5)SGL:隐藏的2D 图形引擎。(6)3D libraries:基于OpenGL ES 1.0 APIs 实现的库,该库可以使用硬件3D 加速,或者高度优化的3D 软加速。(7)FreeType:位图和向量模式的字体绘制。(8)SQLite:一个强大的,轻量的关系型数据库引擎,用于所有的应用。Android 运行时Android 包含一组核心库,提供了Java 语言核心库的大部分功能。Android运行环境主要指的是虚拟机技术Dalvik。Dalvik虚拟机依赖Linux kernel来实现一些潜在功能,例如线程和底层存管理。Dalvik虚拟机和一般Java虚拟机(JavaVM)不

25、同,它执行的不是Java标准的字节码而是Dalvik可执行格式(.dex)中执行文件,该格式的文件经过优化占用很小的存。在执行的过程中,每一个应用程序即一个进程(Linux 的一个Process) 。二者最大的区别在于Java VM 是以基于栈的虚拟机(Stack-based),而Dalvik是基于寄存器的虚拟机(Register-based)6。显然,后者最大的好处在于可以根据硬件实现更大的优化,这更适合移动设备的特点。每个Android应用程序都在Dalvik VM的一个实例中运行,这个实例驻留在一个由Linux核管理的进程中。2.3.4核Android使用Linux2.6 核来提供系统的

26、核心服务,例如:安全机制,存管理,进程管理,网络堆栈。Android更多的是需要一些与移动设备相关的驱动程序。其主要的驱动有:显示驱动(Display Driver)、Flash存驱动(Flash Memory Driver)、照相机驱动(Camera Driver)、音频驱动(Audio Driver)、Wi-Fi驱动(Camera Driver)、键盘驱动(KeyBoard Driver)、蓝牙驱动(Bluetooth Driver)、Binder IPC驱动(Android一个特殊的驱动程序,具有单独的设备节点,提供进程间通讯的功能)7。2.4 Android 应用程序构成Android

27、应用程序与其他很多计算机平台的应用程序不同,他们没有唯一的启动入口,一个Android应用程序是由多个不同组件组合而成,组件间通过Intent实现通信。Android系统的基本组件包括Activity、Service、Broadcast Receiver和Content Provider等,要实现组件间通信,还需要Intent消息组件。并不是每个Android应用程序都必须具备这四个组件,很多时候只需要这四种中的某几种就可以了。除此之外,应用程序的所有组件还都必须在AndroidManifest.xml中声明8。这是一个XML配置文件,这个配置文件用于定义应用程序的组件、组件的功能与必要条件等

28、。这个配置文件是任何一个Android应用程序所必需的。2.4.1ActivityActivity 可以说是开发人员最常用的组件,同时也属于Android 最基本的组成部分之一。Android 程序中,一般一个Activity 代表手机屏幕上的一屏。举例来说,如果将手机比作一个浏览器,那么一个Activity 就相当于一个网页。在Activity 中,可以添加多个视图,然后为这些视图添加一些事件处理。这些视图可以是按钮、文本框、列表等。可以看到,Activity 的概念和网页的概念相当类似。一般一个Android 应用是由多个Activity 组成,同时这些Activity 相互之间可以进行跳

29、转,例如,按下某个Activity 中的Button 按钮后,可能会跳转到一个其他的Activity。不过和网页跳转稍有不同,Activity之间的跳转可以有返回值,例如,在Activity A 跳转到Activity B 后,那么当Activity B运行结束时,可能会返回给Activity A 一个值。在多个Activity 交流的过程中,这种返回机制是相当实用的。当用户进入一个新的屏幕时,之前的屏幕会转入暂停状态,并且保存在历史堆栈中。正是由于历史堆栈的存在,用户可以通过返回操作,返回到之前打开过的所有屏幕。Android默认的是将应用程序从开始到当前的每一个屏幕都保存到堆栈中,不过与此

30、同时,Android还提供了很方便的机制,让开发人员自定义某个屏幕是否需要保存到历史堆栈。Activity 的跳转实现,必须借助于Intent 类。因此Intent 在Android 应用中占据的地位是极其重要的。简单来说,一个Intent 就是对一个将要执行的操作请求的抽象描述。Intent 的描述,主要包含有两个数据结构:动作(action)和动作对应的数据(data)。动作有很多种,系统中最常见的动作类型有:MAIN(表明该Activity 是应用程序的入口)、VIEW、PICK、EDIT 等等;而动作对应的数据一般以URI 的形式表示,例如:要查看某一个网页,则需要创建Intent,它

31、的动作类型为VIEW,对应的数据应该是该网页的网址。值得一提的是,有一个类叫IntentFilter,它是Intent的相关类。如果说Intent是一个有效的操作请求,那么一个IntentFiler则用于描述一个Activity(或者Intent Receiver等)能够接收哪些Intent的请求。比如系统浏览器的Activity用于查看某一个网页,那么它用于接收Intent的IntentFilter,要定义类型为VIEW的动作并且能够过滤表示一个网页网址的URI。通常IntentFilter要被注册在AndroidManifest.xml文件中。Activity 之间的跳转正是通过解析各种I

32、ntent 来实现的。例如一个Activity 调用startActivity(intent)方法,希望跳转到其他的Activity 时,会触发系统的Intent 解析过程,在所有安装的应用程序中已注册的IntentFilter 中查找,并最终挑选出能够匹配Intent 的Activity。然后这个新的Activity 因为接收到Intent 的请求而开始运行,完成Activity 的跳转。这种跳转机制提供了两个关键好处:(1)操作请求被Intent 封装起来,方便Activity 重复利用。(2)相互跳转的多个Activity 之间实现了松耦合。只要IntentFilier 保持不变,一个c

33、tivity 可以随意修改,而不用担心其他Activity 找不到它。2.4.2 Broadcast Receiver应用程序可以通过Broadcast Receiver 监听一个外部的事件,并做出响应。例如,当应用程序需要对呼入这个外部事件做出反应时,可以利用Broadcast Receiver 进行处理。再如,当一个后台下载任务成功的事件发生时,需要提示用户下载完成,仍然可以利用Broadcast Receiver 来进行处理。Broadcast Receiver不能生成UI,也就是说对于用户来说是透明的,用户是看不到的。Broadcast Receiver只能通过Notification

34、Manager来通知用户这些事件发生了。BroadcastReceiver既可以在AndroidManifest.xml中注册,也可以在运行时的代码中使用Context.registerReceiver()进行注册。注册完成之后,当事件来临的时候,即使程序没有启动,系统依然可以根据定义,自动启动程序。各种应用也可以通过使用Context.sendBroadcast()将它们自己的Intent Broadcast广播给其他应用程序。2.4.3 ServiceService是一种程序,它可以运行很长时间,但是它却没有用户界面,不可交互,而且不能自己运行。它需要通过某一个Activity或者其他的C

35、ontext对象来调用12。最常见的例子,比如说用户正在运行一个音乐播放器的程序,此时如果想浏览网页,那么,在用户导航到Android的浏览器以后,虽然进入了浏览器屏幕,但是歌曲的播放并没有停止,而是在后台继续播放着。其实播放的动作正是由播放音乐的Service执行着。当然,如果需要的话,Service也是可以停止。通过startService(Intent service)可以启动一个Service,通过Context.bindService()可以绑定一个Service。2.4.4 Content Provider对于数据存储,Android与其他的操作系统有一点不太一样,即数据在Andr

36、oid程序中都是私有的,这些数据包括文件类型和数据库类型以与其他类型的数据。这样系统和应用程序的数据就各自独立起来,以避免受到某些不正常程序或是病毒的影响。不过这并不代表各应用程序之间就因此而无法进行数据交换了。当某个应用程序希望与其它的应用共享其数据时,Android提供的Content Provider就可以发挥作用了。在实现ContentProvider的抽象接口以后,程序便可以将自己的数据暴露出去,其他程序只要有权限,就可以通过这一套标准而统一的接口,读取或是删除该程序的数据13。2.5 Android 应用程序的生命周期Android 应用程序一个完整的生命周期是从应用程序的创建到结

37、束的全过程,与其他系统不同,Android 应用程序的生命周期是不受进程本身控制的,而是由Android 系统来决定的,Android 系统会根据应用程序对用户的重要性与当前系统的负载来决定生命周期的长短。Android 系统的各个进程重要程度如图2.2所示。图 2.2 Android 应用程序进程优先级(1)前台进程,是Android 系统中最重要的进程,是与用户正在进行交互的进程。有以下四种情况:Activity 正在与用户进行交互;进程被Activity 调用,而且这个进程正在与用户进行交互;进程服务正在执行声明中的回调函数,如onCreate()、onStart()、onDestroy

38、();进程的Broadcast Receiver 在执行onReceive()函数。Android 系统在多个前台进程同时运行时,可能会出现资源不足的情况,此时会清除部分前台进程,以保证主要的用户界面能够与时响应。(2)可见进程,是指部分应用程序界面能够被用户看见,却不在前台与用户进行交互,不影响界面事件的进程。如果应用程序进程包含一个服务,且这个服务正被用户可见的Activity 调用,则此进程同样被视为可见进程。Android 进程一般存在少量的可见进程,只有在特殊情况下,Android 系统才会为保证前台进程的资源而清除可见进程。(3)服务进程,服务进程是指包含已启动服务的进程。该进程没

39、有用户界面并在后台长期运行。除非Android 系统不能保证前台进程和可见进程所必要的资源,否则不会强行清除服务进程。(4)后台进程,后台进程是指不包括任何已经启动的服务,而且没有任何用户可见的Activity 的进程。Android 系统中一般存在数量较多的后台进程,在系统资源紧时系统将会优先清除用户较长时间没有见到的后台进程。(5)空进程,空进程是不包含任何活跃组件的进程,空进程在系统紧时会被首先清除。但为了提高Android 应用程序的启动速度,Android 系统会将空进程保存在系统存用,在用户重新启动该程序时,空进程会被重新使用。当两个应用程序具有一样的优先级时,处于较低优先级且运行

40、时间最长的进程将会首先被终止。进程的优先级也受到进程间依赖性的影响,如果一个应用程序依赖于第二个应用程序所提供的服务或者容提供器,那么第二个应用程序至少会拥有与它所支持的这个应用程序一样的优先级。进程的优先级取决于所有组件中优先级最高的部分,进程的优先级会根据其他进程的依赖关系而变化。第三章 数独游戏的设计3.1游戏功能简介数独游戏的规则很简单,只需在空格处填入19 的数字,并保证每个数字在每个九宫格只能出现一次,且每个数字在每一行、每一列也只能出现一次,而一般的游戏过程是系统随机生成一个棋局,然后玩家需要在空白处填上相应的数字使其满足游戏规则。游戏框架如下图所示:图3.1 游戏框架图该游戏的

41、运行步骤如下。1.启动游戏后首先进入的便是欢迎界面的动画,在欢迎界面中,“点击屏幕继续”闪动,达到提示的效果。2.在游戏界面点击屏幕,便进入菜单界面。3.在菜单界面单击“关于游戏”菜单可进入“关于”界面,在“关于”界面中介绍了该游戏的目标平台与开发日期。4.在菜单界面单击“帮助游戏”菜单可进入“帮助”界面,在“帮助”界面介绍了游戏的基本规则。5.在菜单界面单击“开始游戏”菜单可进入游戏界面。6.当在游戏过程中单击“暂停”按钮时,便进入暂停状态。7在游戏过程中随时可以通过“换题”按钮来更换题目。8.当玩家单击“放弃”按钮时,会提示玩家是否真的需要退出游戏,然后根据玩家的选择进行操作。9.当玩家单

42、击“提示”按钮时,界面上会出现一个红心表示当前可以提示玩家输入数字,此时再单击空白处,便会自动填上正确答案。10.当玩家将界面中所有的空白全部填满数字时,系统会自动判断所填写的数字正确与否,当有错误时,会出现游戏失败界面;当全部填写正确时,会出现游戏胜利界面。11.在胜利或者失败状态时,玩家可以通过点击屏幕任意位置返回欢迎界面。12.在菜单界面单击“退出游戏”便可退出该游戏。3.2 游戏策划以与准备工作3.2.1欢迎界面的策划欢迎界面的主要实现的是开机动画以与菜单选项的功能。在开机动画上准备实现动态效果,利用图片刷帧进行实现。在菜单界面实现游戏的功能选择,菜单界面就是一图片,鼠标点击相应的区域

43、实现相应的功能。在这里运用到坐标系,如下图所示图3.2 菜单界面手机屏幕分辨率是480320,所以横纵坐标如图所示。当点击的区域坐落于60x260,135y180区域,则进行开始游戏功能。当点击的区域坐落于60x260,180y230区域,则进行关于游戏功能。当点击的区域坐落于60x260,230y280区域,则进行帮助游戏功能。当点击的区域坐落于60x260,280ywelcomeView.bitmapsID.length-1) welcomeView.drawIndex = welcomeView.bitmapsID.length-10; if(welcomeView.drawIndex%

44、5 = 0) welcomeView.drawString = !welcomeView.drawString; try Thread.sleep(sleepSpan);/睡眠 catch(Exception e) e.printStackTrace();/打印异常信息 分析该类的run()方法,控制drawIndex的值,每次循环将欢迎界面的drawIndex 加1,然后判断是否到达数组的最后,当到达最后时,将其减10,然后继续进行循环。同时,判断drawIndex是否为5,这样每循环5次改变drawString的值,从而实现文字的闪动效果。4.1.4 HelpView类和AboutView

45、类的实现游戏中关于游戏帮助和游戏说明,我们分别通过HelpView类和AboutView类的实现。HelpView类和AboutView类都是通过onDraw()方法来绘制界面。由于这两个类在很大程度上是相似的,所以下面只分析HelpView类,代码如下所示:public HelpView(KLSDActivity activity) super(activity);this.activity = activity;/得到activity的引用surfaceHolder = this.getHolder();/获得surfaceHoldergetHolder().addCallback(thi

46、s);/添加Callback接口的实现helpBitmap = BitmapFactory.decodeResource(getResources(), R.drawable.help);publicvoid onDraw(Canvas canvas) /绘制方法canvas.drawColor(Color.WHITE);/背景色canvas.drawBitmap(helpBitmap, 0, 0, null);/绘制图片publicboolean onTouchEvent(MotionEvent event) /键盘监听方法if(event.getAction() = MotionEvent.ACTION_DOWN)/屏幕被按下double x = event.getX();double y = event.getY();/得到坐标if(x270 & x440 & y480)/点击确定按钮activity.myHandler.sendEmptyMessage(2);returnsuper.onTouchEvent(event);

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!