Тема: SKYbot-dll бот
Показать сообщение отдельно
Старый 03.12.2009, 00:15   #51
Пользователь
 
Регистрация: 01.12.2009
Сообщений: 32
Сказал Спасибо: 0
Имеет 14 спасибок в 12 сообщенях
sinles пока неопределено
По умолчанию

глупо стоять перед маленьким камушком и думать что это непроходимое препятствие
не сложные по конструкции препятствия, такие как: камни, деревья, ровные стены, да и в общем много других, Можно преодолевать "взявшись правой рукой за стену" и двигаясь вперед, для того что бы не ходить по кругу, а что бы все же найти выход, следует с каждой "итерацией" пытаться отправится по назначению....
Эффективность конечно явно ниже чем заранее просчитанный путь вокруг, НО этот просчитанный путь требует разработки довольно сложного алгоритма и алгоритм как в задачи коммивояжера не годится, потому как он ооочень ресурсоемкий.
Я предлагаю заставить бота двигаться в тех направлениях в которых мы знаем что нет стены (это не то что я писал выше в коде) а мы точно знаем что её нет там откуда мы пришли, то есть шаг назад, теперь мы знаем что её нет или справа или слева, то есть шагаем в сторону, если стена то повторяем до тех пор пока мы не подойдем к краю области в которой сказано быть, пока не войдем в бой (битва а дальше надо подумать) в таком случае меняем ведущую руку вот и все.

Что тут может быть не эффективного ? мы топчемся лишнюю минуту вокруг камня не более того.

При отсутствии данных о внешнем мире я не представляю других вариантов решения, как похоже и автор и в общем то вы
sinles вне форума   Ответить с цитированием