我正在使用一个仅允许直角方向移动的统一费用网格,并将其用作贪吃蛇游戏的基础,贪吃蛇必须不断移动并尝试在棋盘上吃苹果。食物的位置和碰撞避免是使用经典的AStar算法来找到蛇头和食物之间的最短路径完成的。然而,这种方法有时会导致蛇去吃食物,从而导致它没有清晰的下一个食物路径。蛇最终被困在一个不规则形状的矩形中,在这一点上已经没有未来的模拟了。
我的问题是:是否有一种方法可以找到不规则矩形内最长的移动链,以便尽可能长时间地存活,并可能使蛇的尾部停止阻挡通往下一个食物的路径?我已经查看了哈密顿算法以尝试访问所有节点,但似乎对于不规则形状没有解决方案。解决方案不需要完美,但它应该始终尝试为蛇提供逃脱陷阱的最佳机会。
您有什么想法吗?
我的问题是:是否有一种方法可以找到不规则矩形内最长的移动链,以便尽可能长时间地存活,并可能使蛇的尾部停止阻挡通往下一个食物的路径?我已经查看了哈密顿算法以尝试访问所有节点,但似乎对于不规则形状没有解决方案。解决方案不需要完美,但它应该始终尝试为蛇提供逃脱陷阱的最佳机会。
您有什么想法吗?