# При помощи `isPathClear` обойди хаотично расставленные валуны.
# Автоматический поиск пути на этом уровне не работает.
while True:
angle = Math.PI / 2 - Math.PI / 16
while angle >= -Math.PI / 2:
targetX = hero.pos.x + 5 * Math.cos(angle)
targetY = hero.pos.y + 5 * Math.sin(angle)
# Используй `isPathClear` для проверки пути между текущей позицией (`pos`) и целью (`target`).
# Если путь свободен, двигайся к цели.
if hero.isPathClear(hero.pos, {'x': targetX, 'y': targetY}):
hero.moveXY(targetX, targetY)
# В противном случае немного повернись по часовой стрелке.
else:
angle -= Math.PI / 16
# При помощи `isPathClear` обойди хаотично расставленные валуны.
# Автоматический поиск пути на этом уровне не работает.
while True:
angle = Math.PI / 2 - Math.PI / 16
while angle >= -Math.PI / 2:
targetX = hero.pos.x + 10 * Math.cos(angle)
targetY = hero.pos.y + 10 * Math.sin(angle)
# Используй `isPathClear` для проверки пути между текущей позицией (`pos`) и целью (`target`).
# Если путь свободен, двигайся к цели.
if hero.isPathClear(hero.pos, {'x': targetX, 'y': targetY}):
hero.moveXY(targetX, targetY)
# В противном случае немного повернись по часовой стрелке.
else:
angle -= Math.PI / 16