Значит у тебя двух мерный массив - карта проходимости.
Тогда зачем таймер? Если можно просто двигать его, и проверять в карте проходимости: стоит ли по направлению объект, если да, то поворачивать, тут стадия бота с "Идти", меняется на "Поворачивать "+тут нужно проверять по карте проходимости, если справа пусто то "90", если слева пусто "-90", если и там и там пусто, то или то или другое, а если занято, то 180 или -180, и параметр, в который запишешь начальный градус перед поворотом, он будет делиться на 90, дальше в цикле, выбираем режим поворота, и соответственно, положительное\отрицательное, в ту сторону и крутим, и проверяем на разницу текущего градуса и начального перед началом поворота, если она (разница), будет больше\меньше (зависит положительное или отрицательное), то поворачивать его опять только на тот же градус (малоли погрешность), и переходить в режим "Двигать".
Надеюсь система понятна?
Не факт, ты его юзаешь т.к. проходя эти 10, бот будет какраз в координате перекрёстка, а это можно проверить координатами.
Может ему нужна скорость 0.04, а не 1, например ?
|
Нельзя использовать такие большие координаты, придерживайтесь масштаба (Проверено!), это удобно и лишняя головная боль не будет тревожить! Масштаб: 10Единиц = 1Метр