随着科学技术的日益进步,移动终端越来越得到人们广泛的认可,极大地改变着人们的生活和观念。集成电路的发展,尤其是大规模甚至超大规模集成电路的技术进步,移动终端的功能也日趋强大,最终步入智能终端。2007年11月,谷歌Google和手机开放联盟共同开发并发布的移动设备操作系统最早的一个发布版本Android 1.0 Beta,打开了Android平台智能手机的历史纪元。自此,基于Android手机操作平台的智能手机发展迅猛,很快在全球形成了席卷之势。6168
由芬兰娱乐公司Rovio开发的《愤怒的小鸟》是移动游戏中最著名的一款游戏。它以抛物线为物理基础,设计了一款操作简单、老少皆宜的游戏。只需要利用移动设备上的触摸屏,就完成了一款精致、有趣的作品,并且很快地得到全球普及。
而《切西瓜》游戏,玩家只需要在屏幕上进行指划,就可以看到绚丽多彩的游戏界面,也得到了迅速应用。由这两款游戏的风行可以看出,操作简单、利用即有设备的性能、游戏规则不复杂的游戏,越容易得到普及。
如今,基于Android平台的手机游戏琳琅满目。而作为小游戏中的经典,连连看更是得到了众多版本的发展。此款游戏的核心算法,如对象生成算法、地图生成算法、连接通路计算算法、死锁检测与解除算法等等,目前都已经存在多种解决方案。
对于地图的生成,主要问题有两个方面:地图数据结构和每种卡片的偶数个数保证。对于地图数据结构,使用最普遍的是二文数组构造法。利用二文数组构造地图矩阵,简单易行、便于操作和理解。而不同的数组元素代表不同的卡片,也易于区分。而对于地图生成策略,却见仁见智。使用比较广泛的有这么几种方案:第一,采用随机生成策略。即在游戏进行中,关卡间切换时游戏随机生成地图,例如生成一系列随机数填充地图;第二,预先生成法。即预先生成一些地图数据,以文件形式保存在本地磁盘上,游戏进行时通过加载文件数据的方式组成游戏地图。
第二个核心算法即通路计算算法,是整个游戏中最核心的算法,它包括两个方面。第一,卡片类型判断。当用户选择了两张卡片时,第一步需要进行的工作就是判断被选的两张卡片是否是同一种卡片。如果是,才能进行后续的操作。第二,通路计算。玩家选择了两张同类型卡片后,需要在这两张卡片之间寻找不多于两个拐点的连接通路。能找到这种通路,两张卡片才能被消除。目前,通路计算并没有一致的处理方案,从全路径搜索、最短路径求解,到启发式的寻径算法例如A*算法都有采用,甚至还有基于图像处理的路径寻求算法。各种算法在处理不同的问题时都各有优缺点。
死锁检测与解除也是连连看游戏中的重要核心算法之一。在游戏进行过程中,难免会遇到这样一种局面:在剩余的卡片中,同类型的卡片之间彼此都不能通过合法的路径到达对方。这样,游戏就会陷入僵局。在这个问题上,主要的解决方案如下:在发生死锁时,并不立即结束游戏,而是通过打乱当前卡片的排列方式,使得游戏可以继续进行下去。
游戏中的地图生成,是首先需要完成的事情。对于连连看游戏,当前的地图生成策略中,随机数生成方法的优点是简单,对于简单的问题处理还是可行的。但是它的缺点也是显而易见的。首先,对于关卡之间的难度控制很难准确把握控制。关卡之间本应该有一个跨度的难度增加,但是随机数生成方法却不能有效控制这种本应该有的变化。这个问题用预先存储地图文件的方式可以轻松解决,然而该方法却有着在灵活性和多变性方面的致命缺陷。玩家玩来玩去总是那几种地图,不免乏。此外,地图的数据结构对于地图难度控制也有一定的限制。
- 上一篇:功放线性化国内外研究现状和未来的发展趋势
- 下一篇:空心圆柱线圈电感计算的研究现状
-
-
-
-
-
-
-
当代大学生慈善意识研究+文献综述
酸性水汽提装置总汽提塔设计+CAD图纸
河岸冲刷和泥沙淤积的监测国内外研究现状
java+mysql车辆管理系统的设计+源代码
十二层带中心支撑钢结构...
中考体育项目与体育教学合理结合的研究
杂拟谷盗体内共生菌沃尔...
乳业同业并购式全产业链...
电站锅炉暖风器设计任务书
大众媒体对公共政策制定的影响