今天刚好没事,花了半天看了下COCOS教程,下载了test运行了下,半天写下了这个围住神经兔。
原教程地址:http://cn.cocos2d-x.org/tutorial/show?id=2416
作者只写到了可以放置石块,兔子的移动并没有写(2015-02-27),就用最简单的深搜写了个。
首先地图是不规则的,首列并不对齐,所以会导致兔子出现,穿过上下两个石子穿越的情况,示意图如下:
二维数组坐标由0开始,就是从(2,2)跳往了(1,3),这看起来是不合法的,因为是顶角跳跃,但是(2,2)跳到(1,1)却是合法的,这主要是首行不对齐导致的,即每个点都形成了六边形,简单设了个规(瞎)则(搞),如果行数为偶数,则不能跳 行-1 列+1 和行列各加1,如果行数为奇数,则不能够跳 行列各减一 行+1 列 -1,可能有漏洞吧,没深究。
兔子移动写了最简单的深搜,就是兔子每次都从8个方向(if判定行数奇偶,判定规则)行走,递归搜索直到可以走出边界,则移动一步,当四面八方都不可走的时候,判定围住了兔子。
但是玩的时候感觉兔子很呆滞,兔子可能出现来回移动的情况,这里想了三种实现:
1.可以在每个点都设置一个权值,每一轮都刷新一遍权值,这个权值就是兔子走出边界的最小距离是多少,让兔子每次都找最小的走。
2.可以在兔子走过的点都设置一个值,让兔子尽量不去走走过的方向(好像没啥意义)
3.让兔子学会佯攻,别以为我在开玩笑,233333
好啦,最主要还是用这个项目熟悉下cocos的开发,发现上手很容易,就这样吧
原文链接:https://www.f2er.com/cocos2dx/344265.html