首先,这是AI为PacMan而不是鬼。PacMan个性AI建议为最佳下一个方向
我正在写一个Android动态壁纸,在您的图标周围播放PacMan。虽然它通过屏幕接触支持用户建议,但大部分游戏都将通过AI进行播放。我99%完成了所有的游戏编程,但PacMan本人的AI仍然非常弱。我正在寻找帮助来开发一个好的AI来确定PacMan的下一个旅行方向。
我的最初的计划是这样的:
- 初始化用于与零值的每个方向上的分数计数器。
- 从当前位置开始,使用BFS在四个可能的初始方向上向外遍历,方法是将它们添加到队列中。
从队列中弹出一个元素,确保它没有被“看到”,确保它是一个有效的棋盘位置,并添加到相应的初始方向,为当前单元格分值:
- 具有点:加10
- 具有功率高达:加50
- 拥有果:加果值(由电平变化)
- 拥有鬼朝向吃豆行进:减去200
- 有一个幽灵旅行y从PacMan:什么都不做
- 有一个正在垂直移动的影子:减去50
- 根据单元格的步数乘以单元格的值乘以百分比,初始方向的步数越多,该单元变为零。
并从当前单元排列三个可能的方向。
- 一旦队列为空,为四个可能的初始方向中的每一个找到最高分并选择它。
它在纸上听起来很不错,但鬼怪围绕着PacMan非常迅速,他在相同的两个或三个细胞中来回抽动,直到到达他为止。调整鬼魂存在的值也没有帮助。在比赛结束之前,我最近的点BFS至少可以达到2或3级。
我正在寻找代码,想法和/或资源的链接来开发一个合适的AI - 最好是前两个。我想在这个周末的某个时候在Market上发布这个,所以我有点匆忙。任何帮助是极大的赞赏。
仅供参考,这是手动横贴在GameDev.StackExchange
这将是更好的http://gamedev.stackexchange.com – ManiacZX 2010-07-29 20:34:13
@ManiacZX感谢您的领导。我不知道该网站存在。我会记住这个问题以备将来发布,或者稍后重新发布此问题。 – 2010-07-29 20:41:34
我不记得有关Pacman是否需要不断移动的确切Pacman规则。如果你不关心遵循原始的Pacman 100%,我还会为Pacman的可能操作列表添加一个“停留”。 http://www-inst.eecs.berkeley.edu/~cs188/archives.html有一些有趣的资源,你可以看看 – nevets1219 2010-07-29 20:46:37