Можно ли одновременно перемещать крип-своп позиции? - PullRequest
0 голосов
/ 04 мая 2018

Используя функцию moveTo (), крипы будут пытаться обойти других крипов, и это может сделать вещи неэффективными, если попытаться минимизировать количество дорог, необходимых для того, чтобы крипы могли пересекать друг друга. Возможно ли, чтобы два крипа двигались одновременно, чтобы они могли поменяться местами, если они пытаются пробиться друг к другу, или чтобы они поменялись местами в качестве действия?

1 Ответ

0 голосов
/ 08 мая 2018

Да, это возможно. Метод moveTo() имеет несколько различных параметров, которые вы можете предоставить в качестве входных данных. Вам следует обратиться к документации API , но один из вариантов - ignoreCreeps. Значение по умолчанию для этого false. Это означает, что другие крипы считаются препятствиями.

Изменение этого значения на true требует небольшой подготовки. Как минимум, я рекомендую иметь какое-то застрявшее обнаружение. Если крип пытается двигаться, но стоит на месте несколько тиков, это должно вызвать альтернативный подход.

Одним из таких подходов может быть исследование того, что стоит на пути. Если препятствием является другой крип, то крип может попытаться вызвать операцию moveTo() препятствующего крипа.

...