这节讲讲写一个 贪吃蛇,我这个贪吃蛇我设置了不同个电脑蛇 和一个玩家蛇,贪吃蛇的原理还是蛮简单的。还是跟大家简单的讲讲吧,这里我们用list来存储蛇的节点,分别为
public List<Point> SnakePoints;
//蛇所有的节点的当前位置。
public List<GameObject> SnakeObjects
//蛇节点当前实例。
还有需要存储蛇当前运动方向。如果当前方向为向上。那么蛇头下个位置就是SnakePoints[0]=SnakePoints[0]+new Point(0,1);那么SnakePoints[1]=SnakePoints[0],一次类推。但是我们应该从后面开始赋值。然后将对应的游戏实例赋予相对应的位置。例如:
SnakeObjects[i].transform.localPosition = MathHelper.GetBkPosByCareSys(SnakePoints[i].X, SnakePoints[i].Y);以此类推,这就是玩家的运动方法,接下来就是电脑蛇的运动方法。
电脑蛇的运动方式采用的A*,设置蛇头起始点,食物就是目标点,然后开始移动。至于A*算法来说,不会的大家可以去写写会的话用的时候直接拿别人写的,我这个项目中有一个还不错的A*,大家可以拿去用。思路还是蛮简单的。具体代码我就不粘贴了,到最后直接发项目吧。