Для студентов МОИ по предмету ДругиеРобот в лабиринтеРобот в лабиринте
2024-11-212024-11-21СтудИзба
Курсовая работа: Робот в лабиринте
Описание
Формулирование требований
На поле, расчерченном на квадратные клетки, пользователь расставляет элементы «начало пути», «конец пути» и непроходимый элемент «стена». Программа должна реализовывать алгоритм и визуализировать процесс перемещения робота от квадрата «начало пути» до квадрата «конец пути». Из внешнего мира робот может получать информацию только о своих текущих координатах и содержимом четырех соседних клеток.
Функции, выполняемые программой
- Инициализация лабиринта
- Возможность для пользователя составлять содержимое лабиринта
Функция уведомления лабиринта без выхода
Найти кратчайший путь
История инициализации
Инициализация лабиринта
Робот-лабиринт представляет собой прямоугольный лабиринт, составленный из равных квадратов, в каждом из которых могут быть размещены элементы «начало пути», «конец пути», и непроходимый элемент «стена». Возможные элементы и их описание приведены в табл. 1.1.
Прямоугольный лабиринт строится, исходя из данных о размерах, которые ввёл пользователь. Ограничения: количество клеток не должно превышать 15 в длину и 15 в ширину.
Каждая клетка лабиринта имеет свои координаты. Начало системы координат – точка (1, 1) в левом верхнем углу поля.
Таблица 1.1 – Элементы
Элемент | Описание |
начало пути | Робот стартует с квадрата, содержащего этот элемент. |
конец пути | Это квадрат, на который робот должен перейти, чтобы выиграть игру. Когда робот достигнет этого квадрата, игра будет окончена. |
Стена | Это квадрат, который робот не может пройти, если он сталкивается с этим квадратом, робот должен изменить направление. |
Функция уведомления лабиринта без выхода
Если путь от начального квадрата к конечному квадрату не найден, программа скажет «решение не найдено, пожалуйста, повторно инициализируйте лабиринт»
Найдите кратчайший путь
Программа найдет для робота путь от начального квадрата к конечному квадрату с наименьшим количеством ходов.
История инициализации
Программа сохранит историю данных инициализации лабиринта за предыдущие разы. Эта функция позволяет получить данные предыдущих инициализаций.
История данных должнаХарактеристики курсовой работы
Список файлов
Робот в лабиринте.docx