使用moveTo()函数,creeps将尝试绕过其他小兵,这可能会在尝试最小化小兵穿越彼此所需的道路数量时降低效率。是否有可能让两个小兵同时移动,以便他们可以交换空间,如果他们试图通过彼此或让他们交换空格作为一个动作?
答案 0 :(得分:2)
是的,这是可能的。 moveTo()
方法有多个不同的选项,您可以将其作为输入提供。您应该查看API documentation,但其中一个选项是ignoreCreeps
。默认值为false
。这意味着其他小兵被视为障碍物。
将此更改为true
需要一些准备工作。至少我建议进行某种卡住检测。如果蠕变试图移动,但是静止不动多次,则应触发另一种方法。
其中一种方法可能是调查阻碍它的方式。如果障碍物是另一种蠕变,则蠕变可能会试图调用阻碍蠕变的moveTo()
操作。