gpt4 book ai didi

java - 吃 bean 人角色 AI 建议的最佳下一个方向

转载 作者:搜寻专家 更新时间:2023-11-01 03:45:03 25 4
gpt4 key购买 nike

首先,这是吃 bean 人而非幽灵的 AI

我正在编写一个 Android 动态壁纸,它围绕您的图标播放 PacMan。虽然它通过屏幕触摸支持用户建议,但游戏的大部分内容将由 AI 来玩。我已完成游戏的所有编程 99%,但吃 bean 人本身的 AI 仍然非常薄弱。我正在寻求帮助来开发一个好的 AI 来确定吃 bean 人的下一个行进方向。

我最初的计划是这样的:

  1. 将每个方向的得分计数器初始化为零。
  2. 从当前位置开始,使用 BFS 向外遍历四个可能的初始方向,将它们添加到队列中。
  3. 从队列中弹出一个元素,确保它还没有被“看到”,确保它是一个有效的棋盘位置,并根据以下条件为当前单元格添加相应的初始方向得分值:

    1. 有一个点:加10
    2. 能量提升:加 50
    3. 有一个水果:加水果值(因级别而异)
    4. 有幽灵朝吃 bean 人行进:减去 200
    5. 有幽灵远离吃 bean 人:什么都不做
    6. 有一个垂直移动的幽灵:减去 50
    7. 将单元格的值乘以基于到单元格的步数的百分比,从初始方向开始的步数越多,单元格的值越接近零。

    并将当前单元格的三个可能方向入队。

  4. 队列为空后,为四个可能的初始方向中的每一个找到最高分并选择它。

在我看来这在纸面上听起来不错,但鬼魂以极快的速度包围着 PacMan,他在相同的两三个单元格中来回抽动,直到有人接近他。调整重影存在的值也无济于事。我最近的点 BFS 至少可以在游戏结束前达到 2 级或 3 级。

我正在寻找代码、想法和/或资源链接以开发合适的 AI——最好是前两者。我想在这个周末的某个时候在市场上发布这个,所以我有点赶时间。非常感谢任何帮助。


仅供引用,这是在 GameDev.StackExchange 上手动交叉发布的

最佳答案

如果吃 bean 人卡在某个位置并开始来回抽动,则表明在您运行指标后,对他开放的不同 Action 得分非常相似。然后幽灵位置的微小变化将导致最好的移动来回翻转。您可能需要考虑添加一些 hysteresis阻止这种情况发生。

设置:随机选择一个 Action 并记录为 0 分。

对于每一步:

  1. 对可用的 Action 运行评分函数。
  2. 如果最高分数比记录分数高 x%,则覆盖记录分数并与此一起移动。
  3. 应用移动。

这会导致 PacMan 不再在每一步中选择“最佳” Action ,但看起来贪婪的局部搜索无论如何都不是最优的。这将使 PacMan 更加一致并停止抽搐。

关于java - 吃 bean 人角色 AI 建议的最佳下一个方向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3366648/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com