基于Android移动平台数独游戏的设计与实现

时间:2022-04-15 08:59:00

基于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类—关于界面的实现类。

游戏界面相关类主要包含: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、jdk-6u11-windows-i586-p.exe进行测试,可以得出图1等测试结果。得出如下结论:实现了游戏初始化,算法,时间,绘制等功能;实现了数独游戏的基本功能。

参考文献:

[1] 引用百度百科.http:///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].北京:人民邮电出版社.

上一篇:基于虚拟化技术的企业桌面系统设计与实现 下一篇:Excel数组在办公管理中的应用