下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922

浅析Cocos2D中简单三消游戏的算法

作者:课课家教育     来源: http://www.kokojia.com点击数:2601发布时间: 2016-04-05 09:41:05

标签: Cocos2D三消Cocos2D消除游戏Cocos2D教程

  我们经常在手机上看到各种各样的消除游戏,你有没有想过有一天自己也做一个出来玩呢?本篇教程将教你Cocos2D中简单三消游戏的算法。

  市场上三消游戏已经超级多了。主流的是地图型的,几乎是无尽模式,各种消除特效,各种各样的过关方式,玩起来还是不错的,就是遇到比较难的关卡,要多试几次,运气非常好的时候就过了,不然卡死。

  这个游戏真正扩展的地方就是过关模式,还需要整个特殊的地图编辑器,配合策划,不断升级游戏。

  消除涉及到的简单算法

  1 、生成随机地图算法

浅析Cocos2D中简单三消游戏的算法_Cocos2D三消_Cocos2D消除游戏_Cocos2D教程_课课家

  有各种各样的地图,这里拿最简单的矩形来说。需求:

  1.这个算法要生成一个随机的地图,不能有3个横着相同或者3个竖着相同。

  2.这个地图用户移动一步能进行消除(不能是个死地图)

  初看到这个需求感觉还是蛮难的,后来想了下第2个需求应该先别管,如果是死地图,再重新生成一张地图就可以了。测试了下,生成死地图的概率非常低。

  算法实现的描述:

  假设地图的(0,0)在左上角。

  非常简单x从上面的最左边开始往右生成,y从最上面直到底部。每次先判断下它的左边两个是否已经同色,还有上面两个是否已经同色,如果同色了,要去掉这个颜色。

  假设已经生成的地图是:

  2, 3, 3, 4, 1, 3, 2

  1, 2, 3, 4, 4, 3, 3

  1, 2, 3, 2, 2, X

  因为X的左边两个都是2,所以X不能再是2了,它的上面两个都是3,所以X不能再是3了。所以X的结果只能是0,1,4中随机取一个了。

  下面是伪代码(是不能运行的真代码):

  2、 判断地图是否是死地图

  如果整个地图,用户移动任何一步也不能有消除,就是死地图了,要重新生成地图了。

  这里用注释画了简单的两种情况,注意x的位置。case1 是横着有两个同色的情况,移动一步能消除只有6种可能,左边3种,右边3种。下面是竖着有两个同色的情况,移动一步能消除也是6种情况。上面3种,下面3种。知道了这个,代码就容易了。记得找到一个就直接return。

  看起来是有点复杂,穷举了12种情况,这个算法应该速度很快的。还有个地方要用到这个算法,就是在消除游戏中,用户很久时间没有进行消除了,要给提示。就用这个算法找到哪3个可以移动一步进行消除。

  本教程到这里就结束了,希望各位同学通过本教程在游戏开发的道路上越走越远。

赞(19)
踩(2)
分享到:
华为认证网络工程师 HCIE直播课视频教程