席一 周娇
摘要:描述了一个在Android操作系统上的手语连连看游戏的设计实现过程,并给出了相应的算法和代码。通过该游戏了解、认识、学习手语,让更多的人会用手语和聋哑人沟通交流。让更多的人去关爱聋哑人,更好的从精神和生活上帮助聋哑人士。
关键词:Android;手机游戏:连连看
现在常见的智能手机平台有:Symbian、Windows、Mobile、PALM、Blackberry、iOS、Android等。Android是Google开发的基于Linux平台的开源手机操作系统,是首个为移动终端打造的真正开放和完整的移动软件。本文通过对Android系统架构和应用开发进行初步研究,设计一款手语连连看小游戏。在对系统进行详细需求分析的基础上确定了系统的功能和性能要求对游戏的菜单界面、屏幕绘制、时间控制、布局算法、连通算法、关卡设置、音效和动画进行了设计并最终实现了一个界面友好、高效稳定和富有娱乐性的手机连连看益智小游戏。通过该游戏了解、认识、学习手语,更好的从精神和生活上关爱聋哑人士。
一、环境的搭建
编写Android应用程序,必须对编程环境进行一定的配置,以适应Java开发。要进行Android应用程序开发,需要在计算机上安装以下软件:
Java Development Kit(JDK,Java开发包)Version;
兼容的JavaIDE如Eclipse,需要带有JDT(JavaDevelopment Tools)插件;
Android SDK,包括工具和文档;
Eclipse的Android Development Tools(ADT,Android开发工具)插件。
创建AVD,为使Android应用程序可以在模拟器上运行,必须创建AVD。
二、设计与实现
2.1游戏的初始化
进入游戏界面,首先需要显示出来图片矩阵,如果是第一关,就把地图设置成2行2列,如果是第二关和第二关以上,就把地图设置成3行列,其代码如下:
2.2判断消除图片
消除图片时要判断是否可达,即优化判断是否可以消除的算法是本程序的灵魂,连连看游戏分为三种消去方式,分别为“0折型”,“一折型”,“两折型”,如果两点间只需要一条直线能够连接起来,则A、B两点的横坐标或纵坐标必定相同,有了这个条件,我們判断A、B两点是否只需要一条直接连接就简单了许多。其分析如下:
2.2.1“0折型”
水平消去或者垂直消去,如果两个点击的两个图片相同,并且它们在同一水平或垂直方向上,即返回HLINE的画线类型,代码如下:
2.2.3“两折型”
如果点击的两个图片相同,它们不在同一水平或垂直方向上,并且它们要用三条直线相连,则称为“两折型”,对两张图片分别进行x和Y方向的扫描,满足条件则被消除。
2.3图片之间连线
当判断两个图片之间有路径可以相连,并且两图片之间可以用不超过三条直线的线把它们连接起来,代码如下:
2.4游戏结束的判断
要判断游戏的结束,只需对地图中的所有区域的状态进行检测就可以了,若检测到所有的图片都被消除,则证明游戏胜利,可以重新再来一次,即调用前面的初始化算法重新开始;若检测到区域中出现任意不可能消除的两个图片时,游戏进入死锁状态,显示游戏失败,也可以重新再来一次,即调用前面的初始化算法重新开始。
三、结束语
本研究首先描述了环境的搭建,然后分析了该游戏中游戏的初始化、消除图片、图片之间连线、游戏结束的判断的核心代码,在此基础上还可以进行关卡的设置,通过图片消除后,剩余图片按一定规律改变位置来提高游戏难度,可以增强游戏的挑战性。