我正在用 JavaScript 创建吃豆人游戏来学习这门语言,除了……4 个幽灵的 AI 之外,大部分元素都做得很好。目前我使用了一种非常基础的方法(比如寻找 x 和 y,并尝试靠近吃豆人。如果幽灵撞到墙或其他幽灵,它会尝试通过随机方向移动来摆脱困境,直到撞到另一堵墙或幽灵)。问题是,这种方法根本不好,大多数时候幽灵会卡在它们之间一段时间,或者朝非常不稳定的方向移动。我想问的是,考虑到这是 JavaScript,构建这个 AI 可以采用什么方法?我不是在要求现成的代码,只是想获得一些让我摆脱困境的想法。
PS:我考虑过图和 Dijkstra 等算法,但是,考虑到游戏是在一个矩阵中进行的,并且每 250 毫秒计算 4 个图 + 路径可能会花费很多成本……
回答:
这是对吃豆人 AI 的非常透彻的介绍。它写得很好,我强烈推荐它。
对于一般的寻路,请查看 A*。