andriod数独游戏设计文档.docx
《andriod数独游戏设计文档.docx》由会员分享,可在线阅读,更多相关《andriod数独游戏设计文档.docx(13页珍藏版)》请在冰豆网上搜索。
andriod数独游戏设计文档
大连安博
实训结训项目
数独游戏设计开发文档
G11010xxx
2011/12/28
数独游戏设计开发文档
1项目任务概述
1.1项目背景
Android是基于Linux内核的软件平台和操作系统,是Google在2007年11月5日公布的手机系统平台,早期由Google开发,后由(OpenHandsetAlliance)开发。
它采用了软件堆层(Softwarestack,又名以软件叠层)的架构,主要分为三部分。
低层以Linux核心工作为基础,只提供基本功能;其他的应用软件则由各公司自行开发,以Java作为编写程式的一部分。
1.2项目任务
本项目实现在Android移动设备上,实现数独游戏功能。
根据近4个月来的学习Android的经验,结合现在已有技术,基于游戏基本原理。
设计一个基于Android平台的数独游戏应用。
主要包含游戏的难度切换,震动与声音设置,基本游戏功能等。
2需求分析
2.1游戏介绍
随着3G应用的不断开发推广,用户会越来越需要更加个性化、优质化的多媒体数据服务,用户希望能够随时、随地无缝利用3G网络进行办公、网上交易、游戏娱乐、欣赏影视节目、收听和下载音乐等。
根据观察,在不久的将来,移动手机终端将会在以下若干方面具有新的发展。
游戏娱乐成了人们业余时间中不可缺少的活动,数独游戏从多种小游戏中脱颖而出了。
“数独”(sudoku)一词来自日语,意思是“单独的数字”或“只出现一次的数字”。
概括来说,它就是一种填数字游戏。
但这一概念最初并非来自日本,而是源自拉丁方块,它是十八世纪的瑞士数学家欧拉发明的。
出生于1707年的欧拉被誉为有史以来最伟大的数学家之一。
2.2游戏规则
数独的游戏规则很简单,9x9个格子里,已有若干数字,其它宫位留白,玩家需要自己按照逻辑推敲出剩下的空格里是什么数字,使得每一行与每一列都有1到9的数字,每个小九宫格里也有1到9的数字,并且一个数字在每个行列及每个小九宫格里都只能出现一次。
做这种游戏不需要填字谜那样的语言技巧和文化知识,甚至也不需要复杂的数学能力。
因为它根本不需要加减乘除运算。
当然,你也千万别小看它,并不是那么容易被“制服”的。
当你握笔沉思的时候,这9个数字很可能让你头痛不已,脉搏加快,恼火不已。
不过,当你成功填完所有数字的时候,你肯定会感到欣喜若狂。
有数独迷宣称,做此类游戏,一名大学教授很可能不敌一名工厂工人。
3系统设计
3.1设计思路
程序体系结构如下图所示:
图2.1数独程序体系结构图
游戏体系结构如下图所示:
图2.2数独游戏程序体系结构图
设置体系结构如下图所示:
图2.3设置体系结构图
3.2U-I设计
游戏主界面
游戏主界面说明
共有五个button组件,为使用户有更好的体验更加直观的故没有设置菜单组件,而是直接设置在游戏主界面中。
1.单机开始按钮
以Dialog的方式,显示难度列表的用户界面。
并设置资源ID和监听器。
用户选择某个条目时,该监听器将被调用。
2.单机设置按钮
程序有两个设置:
一个用来播放音乐,一个用来显示提示信息。
选项的键值都是字符串常量,存在Android的首选项数据库中。
如下图设置。
3.单机关于按钮
主要利用Android中自带的应用主题,可以复写Android部件的外观。
只需在AndroidManifest.Xml中设置。
就可以使About.activity具有主题的特征。
如下图
4.单机退出按钮
返回桌面
4游戏功能实现
4.1绘制游戏界面
如下图使用onDraw方法:
onDraw()方法以一个参数是Canvas,知道了在哪绘制图形。
下面是绘制网格线的代码。
,
下图为绘制数字:
4.2输入处理
更新选定区域,实现选定当前单元格。
输入数字后修改的单元格。
输入数字,如果需要使用键盘。
首先
使用onkeyDown()方法增加0-9的case;
覆写onTouchDown()方法显示软键盘,如果需要软键盘。
如下图所示;
4.3抖动实现
当输入无效数字是,须给用回提示。
代码如下;
4.4实现游戏逻辑
Game.java是为了实现游戏逻辑的,判断游戏数字是否有效。
setTileIFValid()方法是实现的关键。
如果一个数字出现在这个列表中这这个数字则无效。
具体实现
5总结
在本系统中主要涉及到的技术有:
5.1Activity和Activity之间的跳转,并且需要传递数值。
5.2android主题的应用。
5.3游戏绘图的设置2D图形。
5.4抖动与声音的设置。
5.5软件盘的使用,和输入的处理。