基于Android的数独游戏设计.docx

上传人:b****6 文档编号:3039307 上传时间:2022-11-17 格式:DOCX 页数:23 大小:1.48MB
下载 相关 举报
基于Android的数独游戏设计.docx_第1页
第1页 / 共23页
基于Android的数独游戏设计.docx_第2页
第2页 / 共23页
基于Android的数独游戏设计.docx_第3页
第3页 / 共23页
基于Android的数独游戏设计.docx_第4页
第4页 / 共23页
基于Android的数独游戏设计.docx_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

基于Android的数独游戏设计.docx

《基于Android的数独游戏设计.docx》由会员分享,可在线阅读,更多相关《基于Android的数独游戏设计.docx(23页珍藏版)》请在冰豆网上搜索。

基于Android的数独游戏设计.docx

基于Android的数独游戏设计

学生姓名

班级学号

专业

计算机科学与技术

课程设计题目

基于Android的数独游戏设计

 

 

组长签字:

成绩

 

日期

2014年月日

课程设计任务书

学院

信息科学与工程学院

专业

计算机科学与技术

学生姓名

班级学号

课程设计题目

基于Android的数独游戏设计

实践教学要求与任务:

能够运用Java语言设计数独游戏,实现基本游戏效果。

会搭建

Android的开发环境,并学会运用 Eclipse开发工具相关Android程

序进行开发;深入了解Android项目生成的文件之间的关系和它们

的作用。

 

工作计划与进度安排:

第一阶段:

20学时。

设计阶段。

学生根据所选题目,查阅有关

资料,综合所学的理论知识,完成整体设计及具体设计。

第二阶段:

8学时。

调试测试阶段。

上机调试测试,要求学生务

必认真,思想高度集中,调试成功后,整理、编写设计资料及实验

报告。

第三阶段:

4学时。

验收答辩。

指导教师:

2014年月日

专业负责人:

2014年月日

学院教学副院长:

2014年月日

摘要

移动互联网时代的到来极大的改变了我们的生活,而Android是一种以Linux为基础的开放源码操作系统迅速占领了智能机操作系统,所以在android环境下开发显得尤为必要。

Android是开放性体系架构,不仅具有非常好的开发、调试环境,而且还支持各种可扩展的用户体验,包括丰富的图形组件、多媒体支持功能以及强大的浏览器。

因此,对于软件从业人员来说,Android平台具有无限的吸引力。

本文就在分析讨论Android手机软件开发技术原理的基础上,为用户开发出基于Android平台的数独游戏的软件。

通过对Android系统架构和应用开发进行初步研究,设计一款数独游戏。

在对系统进行详细需求分析的基础上,确定了系统的功能和性能要求,对游戏的开机动画,菜单界面、屏幕绘制、时间控制、布局算法等进行了设计。

本文详细介绍了在Android平台上以Java为语言编写游戏的过程,最终实现了一个界面友好、操作简单的手机益智游戏。

关键词:

Android数独智能机

1、开发工具与环境

Android是谷歌公司发布的手机操作系统,它是基于Linux平台的开源手机操作系统,谷歌公司将要把其打造为基于移动终端的真正开放的移动软件平台,不仅拥有移动电话所需要的工作软件,,而且在专利权方面能够不侵犯他人权利去推动移动互联网的创新。

谷歌公司为了开发Android,与开放手机联盟进行了合作,手机开放联盟由全球30多家移动开发和手机应用的领先企业组成。

谷歌公司不仅仅和运营商达成了合作关系、而且与设备制造商以及开发商保持长期合作,目的就在于利用其优势建立移动软件平台,其特点是标准化、开放式的。

Android是谷歌公司未来企业战略的一部分,其目的是为了在任何时候任何地点能够提供信息。

Android应用程序与其他很多计算机平台的应用程序不同,他们没有唯一的启动入口,一个Android应用程序是由多个不同组件组合而成,组件间通过Intent实现通信。

Android系统的基本组件包括Activity、Service、BroadcastReceiver和ContentProvider等,要实现组件间通信,还需要Intent消息组件。

并不是每个Android应用程序都必须具备这四个组件,很多时候只需要这四种中的某几种就可以了。

除此之外,应用程序的所有组件还都必须在AndroidManifest.xml中声明[8]。

这是一个XML配置文件,这个配置文件用于定义应用程序的组件、组件的功能及必要条件等。

这个配置文件是任何一个Android应用程序所必需的。

1.1Activity

Activity可以说是开发人员最常用的组件,同时也属于Android最基本的组成部分之一。

Android程序中,一般一个Activity代表手机屏幕上的一屏。

举例来说,如果将手机比作一个浏览器,那么一个Activity就相当于一个网页。

在Activity中,可以添加多个视图,然后为这些视图添加一些事件处理。

这些视图可以是按钮、文本框、列表等。

可以看到,Activity的概念和网页的概念相当类似。

一般一个Android应用是由多个Activity组成,同时这些Activity相互之间可以进行跳转,例如,按下某个Activity中的Button按钮后,可能会跳转到一个其他的Activity。

不过和网页跳转稍有不同,Activity之间的跳转可以有返回值,例如,在ActivityA跳转到ActivityB后,那么当ActivityB运行结束时,可能会返回给ActivityA一个值。

在多个Activity交流的过程中,这种返回机制是相当实用的。

当用户进入一个新的屏幕时,之前的屏幕会转入暂停状态,并且保存在历史堆栈中。

正是由于历史堆栈的存在,用户可以通过返回操作,返回到之前打开过的所有屏幕。

Android默认的是将应用程序从开始到当前的每一个屏幕都保存到堆栈中,不过与此同时,Android还提供了很方便的机制,让开发人员自定义某个屏幕是否需要保存到历史堆栈。

Activity的跳转实现,必须借助于Intent类。

因此Intent在Android应用中占据的地位是极其重要的。

简单来说,一个Intent就是对一个将要执行的操作请求的抽象描述。

Intent的描述,主要包含有两个数据结构:

动作(action)和动作对应的数据(data)。

动作有很多种,系统中最常见的动作类型有:

MAIN(表明该Activity是应用程序的入口)、VIEW、PICK、EDIT等等;而动作对应的数据一般以URI的形式表示,例如:

要查看某一个网页,则需要创建Intent,它的动作类型为VIEW,对应的数据应该是该网页的网址。

值得一提的是,有一个类叫IntentFilter,它是Intent的相关类。

如果说Intent是一个有效的操作请求,那么一个IntentFiler则用于描述一个Activity(或者IntentReceiver等)能够接收哪些Intent的请求。

比如系统浏览器的Activity用于查看某一个网页,那么它用于接收Intent的IntentFilter,要定义类型为VIEW的动作并且能够过滤表示一个网页网址的

URI。

通常IntentFilter要被注册在AndroidManifest.xml文件中。

Activity之间的跳转正是通过解析各种Intent来实现的。

例如一个Activity调用startActivity(intent)方法,希望跳转到其他的Activity时,会触发系统的Intent解析过程,在所有安装的应用程序中已注册的IntentFilter中查找,并最终挑选出能够匹配Intent的Activity。

然后这个新的Activity因为接收到Intent的请求而开始运行,完成Activity的跳转。

这种跳转机制提供了两个关键好处:

(1)操作请求被Intent封装起来,方便Activity重复利用。

(2)相互跳转的多个Activity之间实现了松耦合。

只要IntentFilier保持不变,一个ctivity可以随意修改,而不用担心其他Activity找不到它。

1.2BroadcastReceiver

应用程序可以通过BroadcastReceiver监听一个外部的事件,并做出响应。

例如,当应用程序需要对电话呼入这个外部事件做出反应时,可以利用BroadcastReceiver进行处理。

再如,当一个后台下载任务成功的事件发生时,需要提示用户下载完成,仍然可以利用BroadcastReceiver来进行处理。

BroadcastReceiver不能生成UI,也就是说对于用户来说是透明的,用户是看不到的。

BroadcastReceiver只能通过NotificationManager来通知用户这些事件发生了。

BroadcastReceiver既可以在AndroidManifest.xml中注册,也可以在运行时的代码中使用Context.registerReceiver()进行注册。

注册完成之后,当事件来临的时候,即使程序没有启动,系统依然可以根据定义,自动启动程序。

各种应用也可以通过使用Context.sendBroadcast()将它们自己的IntentBroadcast广播给其他应用程序。

1.3Service

Service是一种程序,它可以运行很长时间,但是它却没有用户界面,不可交互,而且不能自己运行。

它需要通过某一个Activity或者其他的Context对象来调用[12]。

最常见的例子,比如说用户正在运行一个音乐播放器的程序,此时如果想浏览网页,那么,在用户导航到Android的浏览器以后,虽然进入了浏览器屏幕,但是歌曲的播放并没有停止,而是在后台继续播放着。

其实播放的动作正是由播放音乐的Service执行着。

当然,如果需要的话,Service也是可以停止。

通过startService(Intentservice)可以启动一个Service,通过Context.bindService()可以绑定一个Service。

1.4ContentProvider

对于数据存储,Android与其他的操作系统有一点不太一样,即数据在Android程序中都是私有的,这些数据包括文件类型和数据库类型以及其他类型的数据。

这样系统和应用程序的数据就各自独立起来,以避免受到某些不正常程序或是病毒的影响。

不过这并不代表各应用程序之间就因此而无法进行数据交换了。

当某个应用程序希望与其它的应用共享其数据时,Android提供的ContentProvider就可以发挥作用了。

在实现ContentProvider的抽象接口以后,程序便可以将自己的数据暴露出去,其他程序只要有权限,就可以通过这一套标准而统一的接口,读取或是删除该程序的数据[13]。

2、系统分析与设计

2.1数独游戏背景

数独的前身为“九宫格”,最早起源于中国。

但当时的算法比现在的更为复杂,要求纵向、横向、斜向上的三个数字之和等于15,而不是数字不能重复。

儒家典籍《易经》中的“九宫图”也是来源于此。

到了18世纪末,瑞士数学家莱昂哈德·欧文又发明了一种叫做“拉丁方块”的游戏,之后不久,美国的一家数字逻辑游戏杂志开始刊登这类游戏,使此类游戏得到良好发展,之后又在日本得到了广泛的传播。

2004年,第一个“数独”游戏被刊登上了英国《泰晤士报》的封面,此时开始数独游戏才真正为世界所知晓。

数独游戏的规则很简单,只需要在空格处填写1~9的数字,并保证每个数字在每个九宫格内只出现一次,而一般的游戏过程是系统随机生成一个棋局,然后玩家需要在空白处填上相应的数字使其满足游戏规则。

由于此类游戏操作简单,不需要特定的语言基础,也不需要进行数字运算且可玩性高、锻炼思维、开发大脑,所以很快风靡全球。

2.2游戏功能简介

数独游戏的规则很简单,只需在空格处填入1~9的数字,并保证每个数字在每个九宫格内只能出现一次,且每个数字在每一行、每一列也只能出现一次,而一般的游戏过程是系统随机生成一个棋局,然后玩家需要在空白处填上相应的数字使其满足游戏规则。

游戏框架如下图所示:

图3.1游戏框架图

该游戏的运行步骤如下。

1.启动游戏后首先进入的便是欢迎界面的动画,在欢迎界面中,“点击屏幕继续……”闪动,达到提示的效果。

2.在游戏界面点击屏幕,便进入菜单界面。

3.在菜单界面单击“关于游戏”菜单可进入“关于”界面,在“关于”界面中介绍了

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 法律文书 > 调解书

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1