Пожалейте Виктора! Он же не Электроника делал!
Это в фильме робот и в шахматы может поиграть и по ходу хором спеть
Давайте лучше с миссиями разберёмся, можно ли там обойтись без ИИ или будет достаточно стандартного набора правил.
Что касается сценариев (не миссий с их свободой действий при достижения результата) в Автоматном программировании с длинной последовательностью повторяющихся с разными условиями действий все не очень хорошо (без расширений на более продвинутую логику). Тот же объезд препятствия с возвратом на траекторию будет выглядеть как цепочка состояний типа (для простоты пусть пока будет объезд через левый поворот и повороты в градусах без учёта препятствий по ходу движения вперёд при объезде, те препятствие типа прямоугольная стенка):
Препятствие - Таймер сработал - Препятствие - Автомат Объезд - Объезд:Налево(90) - Объезд:Вперёд:Включить одометр:Пока препятствие справа - Объезд:Выключить одометр:Поворот направо(90) - Объезд:Вперёд:Пока препятствие справа - Объезд:Поворот направо(90) - Объезд:Вперёд:Пока одометр не равен измеренному ранее расст. - Объезд:Поворот налево(90) - Объезд:Вперёд - Объезд:Выход из автомата
И так как в АП рассматривается глубина шагов только на один шаг (без расширений) то каждый такой шаг придётся делать состоянием автомата, чтобы не порушить логику работы и связей.
Получаем список состояний при объезде через левый поворот (можно измерять расст. налево и направо и делать выбор, плюс флаг от координаты по карте должен показать лучший выбор. Автоматы работают с булевыми переменными):
1. Объезд:Налево(90)_1
2. Объезд:Вперёд_1
3. Объезд:Поворот направо(90)_1
4. Объезд:Вперёд_2
5. Объезд:Поворот направо(90)_2
6. Объезд:Вперёд_3
7. Объезд:Поворот налево(90)_2
8. Объезд:Выход из автомата
По идее можно включить простую логику обхода препятствия без учёта пройденного маршрута, но тогда будет трудно вернуться на траекторию. Либо добавлять логику работы с картой, чтобы вектор движения показывал на оптимальные точки (координаты) при движении с учётом текущей координаты но это уже другая история.
Добавлено спустя 3 часа 36 минут 49 секунд:Под ИИ я здесь понимаю возможность действий на основании истории событий. Мышка, в отличии от ящерки, пойдёт к сыру в лабиринте по найденному уже маршруту, а ящерка начнёт опять искать дорогу.