我正在使用一个统一的成本网格,它只允许在正交方向上移动。这被用作游戏蛇的基地,蛇必须不断移动并尝试吃板上的苹果。食物的定位和防撞是使用经典的 AStar 算法完成的,以找到蛇头和食物之间的最短路径。然而,这种方法有时会导致蛇去寻找食物,导致它没有明确的路径去下一个食物。蛇最终卡在一个不规则形状的矩形中,此时没有未来的模拟。
我的问题是:有没有办法在不规则矩形内找到最长的移动链,以便最长地存活,并可能让蛇的尾巴停止阻挡通往下一个食物的路径?我查看了 Hamilton Algorithms 以尝试访问所有节点,但似乎没有针对不规则形状的解决方案。解决方案不一定是完美的,但它应该始终尝试让蛇有最好的机会从陷阱中逃脱。
有什么想法吗?