我想实现游戏Pacman。就AI而言,我考虑使用A*算法,在很多论坛上看到过它。然而,我实现了BFS用于一些简单的路径规划(从点a到点b,中间有一些障碍物),发现它总是给出最优路径。我猜可能是因为在像Pacman这样使用简单路径规划的游戏中,图形上没有成本概念。所以,如果我在Pacman中使用BFS而不是A*作为路径规划,是否可以?
我想实现游戏Pacman。就AI而言,我考虑使用A*算法,在很多论坛上看到过它。然而,我实现了BFS用于一些简单的路径规划(从点a到点b,中间有一些障碍物),发现它总是给出最优路径。我猜可能是因为在像Pacman这样使用简单路径规划的游戏中,图形上没有成本概念。所以,如果我在Pacman中使用BFS而不是A*作为路径规划,是否可以?
那要看你是否想让鬼像《吃豆人》中那样运作了。
这里有关于鬼的追逐人工智能如何运作的描述(它们每个鬼都有不同的方式)。确保也阅读上面关于它们如何实际到达其目标块的第三章。那个页面是对《吃豆人》进行深入分析的,非常有趣。
对于寻路,请注意以下内容
如果您在谈论幽灵AI,请查看Chad提到的页面:The Pac-Man Dossier-幽灵实际上只是在确定如何到达目标方块时使用欧几里德距离,这使得它们在某些情况下很难找到Pac Man。
如果没有使用边权重,BFS将始终给出最短路径。如果您不需要边权重,我建议使用它。您随时可以稍后切换。