我正在尝试实现类似炸弹人游戏的AI行为。我有三种类型的瓦片:可行走的、不可行走的(墙壁)和可破坏的(箱子等),如果被破坏后可以变成可行走的。例如:
- 随机选择一个玩家目标
- 如果有路径,就走过去
- 如果没有直接路径,但可以通过破坏某些东西来创造路径,就走向可破坏的瓦片并将其破坏
- 如果没有路径,就更换目标
有什么实现这个的想法吗?
回答:
将你的图视为一个加权图。给每个可行走的瓦片设置weight=1
,给每个可破坏的瓦片设置一个更大的权重(weight = 总瓦片数
可以工作 – 它只需要比最长的可能路径更大)。
这样可以使AI尽可能少地破坏瓦片来达到目标。