我正在制作 RTS 游戏,整个地形就像网格(具有 x 和 y 坐标的单元格)。我有几组士兵(军事单位),我想将他们从 A 点发送到 B 点(A 点和 B 点之间是障碍物)。我可以使用 A* 算法解决一名士兵的问题,这不是问题。如何实现我的这群士兵永远在一起? (我注意到几个极端情况,当他们分开并以不同的方式到达同一目的地点时,我可以选择小组的领导者,但我不需要那些士兵去同一个牢房而是由领导者,例如右边的一对,一对如果可能,在左侧)。过去有人解决过类似的问题吗?对算法修改有什么想法吗?
最佳答案
你想要一个蜂群算法,让群中的领头羊跟随 A* 方向,而其他领头羊跟随领头者排成队形。
如果您的编队非常庞大,您将遇到诸如“如何让所有士兵穿过这个小洞”之类的问题,这就是您需要变得聪明的地方。
一个例子可能是在狭窄的地方强制执行单线队形,其他例子可能涉及将小组分解成更小的小队。
关于c++ - 一群士兵一起在网格 map 上移动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11310184/