3 artificial-intelligence path-finding pacman
我正在尝试实施Pacman.它运行正常,但到目前为止,鬼魂没有使用任何寻路,而是在每个路径交叉点上随机决定采用哪条路径.所以你可以想象,Pacman赢得比赛并不困难;)
所以我在Pacman中阅读了一些关于路径查找算法的内容,在这里我发现了一个非常好的答案:Pacman的寻路算法
答案是指http://home.comcast.net/~jpittman2/pacman/pacmandossier.html#Chapter%204
这一切都很好,但在我的Pacman实施中,有两个Pacman由两个不同的玩家玩.所以我想知道如何调整寻路算法,以便幽灵并不总是追逐一个玩家.
有关如何修改算法的任何想法,以便幽灵对两个玩家或多或少同等公平?
小智 5
我认为最简单的策略是让每个幽灵追逐最接近它的玩家.可以使用曼哈顿距离(在寻路问题中存在与其相关的链接)或欧几里德距离或通过玩家的路径长度来计算邻近度.最后一个选项意味着您必须计算两个玩家的路径.尝试所有这些选项,并根据您的口味选择一个.
另外,在旁注.所有回答寻路问题的 人都没有提到Dijkstra的算法,它比BFS慢得多但是只允许搜索所有最短路径一次.也就是说,如果你实现A*或BFS并且有n个 ghost,你将至少进行n次寻路查询.使用Dijkstra,你只能从玩家开始做一次.但这一切都取决于.如果您的游戏区域太大,Dijkstra不是最佳选择.尝试,尝试,也许它会适合你.