В лабиринтах первой и второй конфигурации всегда можно достичь цели, если двигаться все время, касаясь рукой стенки. Правда, этот путь не будет самым коротким. В лабиринте третьей конфигурации таким способом никогда не достичь цели. Вы просто обойдете ее по наибольшему замкнутому маршруту.
В данном курсовом проекте будем рассматривать односвязные лабиринты, в которых основная цель дойти до конечной локации, при этом кроме стен у игрока нет никаких других препятствий.
1 ПОСТАНОВКА И АНАЛИЗ ЗАДАЧИ
Целью данной курсовой работы является разработка программы «Хождение по лабиринту».
Будем рассматривать плоские (двумерные) лабиринты. Кроме того, все помещения (локации) будут квадратными, а сам лабиринт – прямоугольным. У каждого такого помещения есть не более четырех соседних, и в каждое соседнее помещение может вести проход (а может и не вести – в этом случае там будет «стена»). Также введем следующие ограничения:
Необходимо реализовать программу-игру, в которой можно ходить по плоским прямоугольным лабиринтам. Необходимо также реализовать алгоритм генерирования лабиринта, удовлетворяющего перечисленным условиям произвольного размера, а также функции сохранения и загрузки лабиринтов. Для удобства пользователя необходима также возможность изменения размеров локаций.
При сохранении необходимо сохранять не только саму геометрию лабиринта, начальную и конечную локацию, но и текущее положение игрока. Это позволит продолжить прохождение лабиринта в дальнейшем с того места где игрок остановился на момент сохранения.
2 ОПИСАНИЕ СТРУКТУРЫ ПРОГРАММЫ И АЛГОРИТМОВ РАБОТЫ
Структура программы содержит три основных окна:
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.