毕业论文-基于android数独游戏开发界面设计内容摘要:

用程序可用于处理一个数据元素,或者对一个事件(例如接收文本消息)做出响应。 ( View) View 是 Android 中图形用户界面的基类,提供了可视化界面展示。 Android的图形界面分为三层:底层是 Activity。 Activity 上面是 Window。 Window 上面是Views。 View 又可以分为 View 和 ViewGroup。 View 是基本控件, ViewGroup 是布局控件。 ( Intent) Intent 是不同组件之间相互导航的纽带,封装了不同组件导航查找的条件。 Android 应用程序是连同一个 文件一起部署到设备的。 包含必要的配置信息,以便将它适当地安装到设备。 它包括必需的类名和应用程序能够处理的事件类型,以及运行应用程序所需的许可。 例如,如果应用程序需要访问网络 — 例如为了下载一个文件 — 那么 manifest 文件中必须显式地列出该许可。 很多应用程序可能启用了这个特定的许可。 这种声明式安全性有助于减少恶意应用程序损害设备的可能性。 本章小结 本章主要讲述了开发基于 Android 系统的数独游戏 的技术做了一些概述,通过本章的内容我们要了解 Android 的简介,明白这项新的手机开发平台的操作体系结构,平台架构,平台特性,有哪些应用程序组件。 基于 android 数独游戏开发界面设计 8 3 系统分析与设计 系统需求分析 需求分析完成的好坏直接影响后续软件开发的质量,它的重要性由此可见一斑。 现实情况往往是,用户不了解计算机的相 关知识,而开发人员也对相关业务领域不甚了解。 受思维定式的影响,用户和开发人员往往对同一问题有不同的理解,这样就对系统的功能确定带来了很大的麻烦。 所以,开发人员和用户之间要进行充分和有效的沟通,甚至开发人员要置身于相关的业务领域,以确保开发出来的系统能够真正满足用户的需要。 功能需求分析 此次程序设计任务是 Android平台下的数独游戏设计,程序将在 Android模拟器中运行调试。 此次程序设计用户界面要求较为友好,由于针对的用 户为 Android智能手机用户,因此程序的操作非常简单容易操作。 游戏进 行时通过右边键盘中的数字键输入答案,程序中储存了大量的数独题目,组成了上百个关卡,供用户娱乐,此次程序设计的操作系统要求为 Windows 2020(SP3以上 )或者 Windows XP。 此次程序设计需要在 Eclipse环境下开发。 重来功能主要实现用户输入错误答案想要重新开始本题目。 下一关功能主要实现用户完成一关游戏后可以跳至下一关。 解题功能主要实现用户解答不出此题时候系统提示答案。 重出题功能主要实现用户不想解答本题,想要换另一题目。 难易 程度选择功能主要实现用户根据自己实际水平选择适合自己难度的题目。 退出功能主要实现退出游戏。 基于 android 数独游戏开发界面设计 9 安全性需求分析 因该游戏不涉及到用户信息等,因此不需要考虑信息的泄漏。 系统的结构设计 系统结构为进入主界面显示游戏界面,选择菜单分为六项功能:重来功能、下一关功能、重出题功能、解题功能、难易程度选择功能以及退出功能。 具体系统结构图如图 31 图 31 系统结构图 本章小结 本章对 Android 数独游戏做了需求分析,并对系统结构做了简单介 绍,可以从下一章中具体看到这些界面及具体的实现方法和部分代码。 游戏主界面 重来 下一关 重出题 解题 难易程度 退出 基于 android 数独游戏开发界面设计 10 4 数独游戏界面实现 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 Android 开发平台搭建步骤 Eclipse 集成开发环境并且解压,这里推荐下载 Java EE 集成版本,可以为平台的搭建省下不少工作。 接着再去 站点下载 SDK后安装,下载 Android 后解压。 第一步下载工序就结束了。 Eclipse 解压后目录中的 然后启动,选择 Eclipse 菜单中的 Help Install New Software 选项卡上的 Available Software,点击右侧的“ Add” 输入 然后在“ Work with” 下拉菜单中选择刚才输入的网址。 过一会就会出现一个Developer Tools选项,勾上以后点击 Next以后 Eclipse会自动网上查找 Android 开发工具插件,然后找到 Android DDMS 和 Android Development Tools,选中这两个点击 Finish, Eclipse 就会自动下载并安装 Android 插件了,最后会提示重启 Eclipse。 Eclipse 菜单中的 Windows Preferences 在左侧的 Android基于 android 数独游戏开发界面设计 11 项目中 SDK Location 中填入 Android SDK 解压后的目录,然后点击 Apply。 WindowsXP 的系统变量中的 path 变量中添加一个值,该值指向解压后的 Android SDK 目录下的 tools 文件夹。 程序中各类的简要介绍 共有类 主类 SudukuActivity 类: 该类是通过继承和扩展基类 Activity 来实现的,是整个应用程序的入口,主要是根据收到的 Handler 消息的不同切 换到不同的界面。 欢迎界面相关类 ( 1) WeleView 类 该类为欢迎界面的实现类,主要负责欢迎动画界面的绘制,是欢迎界面的前台显示的 View,根据后台数据的不同绘制不同效果的动画。 ( 2)关于界面 AboutView 类 该类是游戏关于界面的实现类,主要负责游戏关于界面的绘制。 ( 3)帮助界面 HelpView 类 该类是游戏帮助界面的实现类,主要负责游戏帮助界面的绘制。 游戏界面相关类 ( 1) GameView 类 GameView 类是游戏中最主要的一个类游戏规则、游戏模型都包含在此类当 中。 同时该类还负责绘制游戏的画面、接受玩家的响应。 ( 2) GameViewDramThread 类 GameViewDramThread 类负责定时的刷帧操作。 ( 3)刷新时间线程 TimeThread 类 该线程的实现非常简单,只是定时改变游戏模型中的时间值,并不负责其他事件的处理。 ( 4)数字键盘渲染线程 DrawKeyThread 类 该线程的作用是数字键盘出现或消失过程中对数字键盘的渐变处理,逻辑很简单,定时改变数字键盘图片透明度即可。 ( 5)数度生成器 ShuDuSuanFa 类 该类是个普通的 Java 类 ,不继承任何类,只为游戏随机提供存放数独数基于 android 数独游戏开发界面设计 12 字的二维数组,该类所采用算法的优劣决定了该类游戏可玩性的好坏。 界面框架实现 游戏的简单操作流程 Android 模拟器打开游戏主界面如图 31 所示: 图 41 游戏主界面 为该游戏第一关的界面,可以直接开始游戏。 41 右边 键,答到图 42 界面: 基于 android 数独游戏开发界面设计 13 图 42 游戏菜单界面 得到该游戏的不同选项,点击“重出题”,游戏界面中数字布局换位另一张图; “重来”,游戏界面回复未填入数字状态,仍未原题;点击“解题”,则 游戏界面将 游戏界面中空白处填入正确数字,如图 43 图 43解题按钮界面 基于 android 数独游戏开发界面设计 14 其中题目数字为红色,解题数字为黑色;点击图 42 中下一关按钮游戏界面更换,而且游戏界面上部游戏关卡数变为图 44 形式 图 44 游戏关卡 42 中难易程度按钮来更改游戏的困难度,分为简单、中等、困难三个等级,如图 45 图 45 游戏难易程度 42 中的退出按钮来中止游戏并返回到 android 系统的桌面 首先九宫格的绘制代码 从 MyView派生一个 View对象用于绘图 class MyView extends View{ @Override public boolean onTouchEvent(MotionEvent event) { 的 区域 代码 int n=(int) (()/unitw)。 int m=(int) (()/unitw)。 if(n9){selX=n。 } 基于 android 数独游戏开发界面设计 15 if(m9){selY=m。 } clearFocus()。 return (event)。 } public MyView(Context context) { super(context)。 setFocusable(true)。 //允许获得焦点 setFocusableInTouchMode(true)。 } 代码 (w, h, oldw, oldh)。 unitw= ((wh)?h:w)/9。 背景 颜色 Paint background= createPaint((E8F2FE))。 (0,0,getWidth(),getHeight(),background)。 线 for(int i=0。 i=9。 i++){ (i*w1,0,i*w1,9*w,createPaint(((i%3!=0)?999999:999999)))。 (i*w, 0, i*w,9*w, createPaint((i%3!=0)?:) )。 } for(int i=0。 i=9。 i++){ (0,i*w1,9*w,i*w1,createPaint(((i%3!=0)?999999:999999)))。 (0,i*w,9*w,i*w,createPaint((i%3!=0)?:K))。 } if(selX1 amp。 amp。 selY1){ (getRect(),cre。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。