Ты имеешь ввиду типа: "юниту дано 5 шагов для движения к цели, как это организовать?"
Если нет препятствий, просто сравниваются координаты. Юнит выбирает бо'льшую разницу и идет по этой оси, пока значения разниц не сравняются. Потом - движение зигзагом до цели.
Второй вариант: двигаться так, чтобы одна из разниц стала равна нулю ( встать на одну линию с целью ), потом идти по этой прямой ( вертикаль или горизонталь ).
Если же есть препятствия в виде предметов или других юнитов, то перед каждым шагом ( или серией ) нужно проверять клетки пути на наличие препятствий. В это вся сложность. Потому что, если само препятствие отследить не так сложно, то выбрать каждый раз обходной путь - уже сложнее. Опять же - не так сложно, как требует внимательности при написании этих "свитков"...
Это для движения на 4 стороны.






Ответить с цитированием


Социальные закладки