基于Android移动平台数独游戏的设计与实现
摘要:数独游戏是一种益智类游戏,老少皆宜;android是google于2007年11月公布的基于linux内核的手机操作平台,随着智能手机的普及,已经成为主流的操作平台。该文基于android sdk 2.2,以java为核心语言,设计并实现了一款数独游戏。
关键词: 数独游戏;android;java
中图分类号:tp311 文献标识码:a 文章编号:1009-3044(2013)05-1062-02
随着信息技术和移动通信技术的飞速发展和智能手机的日益普及,android手机平台开始在全球风靡。截止2011年,android在全球手机市场已经占据了半壁江山。android是一个基于linux内核的开放手机平台作业系统,在linux内核的基础上,提供了各种合用的函数库,和一个完整的应用程式框架,并采用较符合商用限制的apache版权,提供google自制的应用程式运行环境,并提供sdk供应用程式开发者使用。
1 游戏规则
数独游戏历史:数独游戏的前身为“九宫格”,最早起源于中国,而到了18世纪末,瑞士数学家欧拉又发明了一种叫做“拉丁方块”的游戏,之后,美国的一家数学逻辑游戏杂志开始刊登这类游戏,使此类游戏得到良好发展。
数独游戏具体规则如下:只需要在空格处填入1-9的数字,并保证每个数字在每个九宫格内只能出现一次,且每个数字在每一行、每一列也只能出现一次。游戏过程是系统随机生成一个棋局,用户需要在空白处填入相应的数字以满足游戏规则。
2 游戏设计
游戏具体的设计思路如下:用户进入欢迎界面后,提示点击屏幕,进入游戏主菜单页面。主菜单包含:开始游戏,关于游戏,帮助游戏和退出游戏。点击开始游戏,进入游戏界面;点击关于游戏,进入关于界面,提示游戏有关信息;点击帮助游戏,进入帮助界面,介绍游戏规则玩法;点击退出游戏,直接退出。
设计主要是使用3个类来完成上述思路:类、欢迎界面相关类以及游戏界面相关类,总体框架如图2所示。
3 功能的实现
游戏的主要功能是通过数独生成器shudusuanfa来完成的,该算法的目标是创建一个二维数组来表示数独矩阵。使矩阵的每一行、每一列、每一个九宫格都没有重复的数字。算法的思路是,先随机抽取一个0-9的数字,然后检查其所在的行、列、块是否都符合要求。如果符合要求则继续填充下一个,如果不符合要求则再次随机抽取一个没有取出过的数字,再进行判断。若当9个数字都取出后还是没有到符合要求的数字,则进行回退处理,及退回上一个符合要求的数字进行重新取值,直到所有数字都填充完毕。
下面简述设计中三个类的具体实现:
欢迎界面相关类主要包含以下几个类:1)welcomeview类—欢迎界面的实现类;2)welcomeviewdrawthread类—欢迎界面的绘制线程;3)welcomeviewgothread类—欢迎界面的动画线程;4)helpview类—帮助界面的实现类;5)aboutview类—关于界面的实现类。
欧拉linux系统游戏界面相关类主要包含:1)gameview类—游戏主界面实现类;2)gameviewdrawthread类—游戏主界面绘制线程;3)drawkeythread类—数字键盘的绘制线程;4)shudusuanfa类—游戏算法类;5)timethread类—时间线程
主类主要是通过继承和扩展基类activity来提供给应用程序一个屏幕(图1(a)),是整个程序的入口,主要是根据收到的handler消息的不同切换到不同的界面,同时进行游戏初始化工作。
4 结束语
本设计经过如下模拟器运行环境:adt-0.8.0.zip、android-sdk-windows-1.0_r2.zip、eclipse 3.6.1、进行测试,可以得出图1等测试结果。得出如下结论:实现了游戏初始化,算法,时间,绘制等功能;实现了数独游戏的基本功能。
参考文献:
[1] 引用百度百科.http://baike.baidu/view/1241829.htm.
[2] 陈凯. 三维游戏引擎的设计与实现[d].浙江:浙江大学,2007.6.
[3] 公磊,周聪.基于android的移动终端应用程序开发与研究[j].计算机与现代化,2008-08.
[4] 胡伟.android系统架构及其驱动研究[j].广州广播电视大学学报,2008,8(1).
[5] 刁扣锁.短信息在嵌入式linux系统中的设计与实现[d].2005.
[6] 靳岩, 姚尚郎.google+android开发入门与实战[m].北京:人民邮电出版社.

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。