0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
- - - - - - - - - - - - - - - - - - - - - - - - - - -
0 | □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ |
1 | □ □ ◦ \ ◦ ◦ □ \ \ □ \ \ ◦ 95 96 97 98 99 □ |
2 | □ □ □ □ □ □ □ \ □ \ □ \ □ ◦ □ □ □ 94 □ □ □ 100 □ |
3 | □ \ □ ◦ ◦ ◦ \ □ ◦ □ \ ◦ ◦ □ 93 92 91 □ ◦ □ |
4 | □ □ □ □ □ □ ◦ □ □ □ □ □ □ □ □ □ □ □ ◦ □ 90 □ □ □ |
5 | □ ◦ ◦ ◦ \ \ □ 61 62 63 64 65 66 67 68 69 □ \ □ 89 88 87 □ |
6 | □ □ □ □ □ □ \ □ 60 □ □ □ □ □ □ □ 70 □ \ □ □ □ 86 □ |
7 | □ ◦ □ 25 26 27 □ ◦ □ 59 58 57 56 55 □ 73 72 71 □ \ □ 85 □ |
8 | □ □ □ 24 □ 28 □ □ □ □ □ □ 54 □ 74 □ □ □ □ □ □ □ 84 □ |
9 | □ 21 22 23 □ 29 30 31 □ \ ◦ \ □ 53 □ 75 76 77 78 79 80 81 82 83 □ |
10 | □ 20 □ □ □ □ □ 32 □ □ □ ◦ □ 52 □ □ □ □ □ □ □ □ □ \ □ |
11 | □ 19 □ \ ◦ 33 34 35 □ \ □ 51 50 49 48 47 □ ◦ ◦ \ □ □ |
12 | □ 18 □ □ □ □ □ □ □ 36 □ □ □ □ □ □ □ 46 □ \ □ \ □ \ □ |
13 | □ 17 16 15 □ \ \ ◦ □ 37 38 39 40 41 42 43 44 45 □ ◦ □ \ □ |
14 | □ \ □ 14 □ □ \ □ □ □ □ □ □ □ ◦ □ □ □ □ □ □ □ □ |
15 | □ □ 13 □ □ \ □ ◦ \ \ \ □ \ □ \ ◦ \ □ ◦ □ |
16 | □ □ □ 12 □ ◦ □ ◦ □ □ □ □ ◦ □ □ □ □ □ □ ◦ □ ◦ □ |
17 | □ 9 10 11 □ ◦ □ □ ◦ ◦ \ □ \ ◦ \ \ □ \ □ □ \ □ |
18 | □ 8 □ □ □ \ □ \ □ □ □ ◦ □ □ □ □ □ □ □ ◦ □ ◦ □ ◦ □ |
19 | □ 7 6 5 □ \ □ ◦ ◦ ◦ □ ◦ ◦ □ \ □ □ ◦ □ |
20 | □ □ □ 4 □ ◦ □ □ □ □ □ □ □ □ □ ◦ □ □ ◦ □ □ □ |
21 | □ 1 2 3 □ □ \ □ ◦ □ ◦ ◦ ◦ □ ◦ \ □ □ ◦ ◦ □ |
22 | □ 0 □ □ □ □ ◦ □ ◦ □ \ □ ◦ □ □ □ □ □ \ □ □ □ \ □ |
23 | □ ◦ ◦ ◦ \ □ ◦ \ □ ◦ \ \ ◦ □ □ |
24 | □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ |
- - - - - - - - - - - - - - - - - - - - - - - - - - -
Проект состоит из реализации консольной программы для генерации лабиринтов и поиска пути в них. Программа должна быть способна генерировать лабиринты различной сложности и размеров, а также предоставлять один или несколько методов поиска пути от заданной точки А (начала) к точке Б (конца). Интерфейс приложения должен быть простым и понятным, с возможностью отрисовки в консоли лабиринта и найденного пути.
Алгоритмы генерации лабиринтов - алгоритм Прима и алгоритм рекурсивного возврата.
Алгоритмы поиска пути - поиск в ширину (BFS) и А* (A-star).
Для запуска игры необходима установка следующих зависимостей:
- Java 22+
- Maven (для сборки проекта)
- Склонируйте репозиторий:
git clone https://github.com/vihlancevk/Labyrinths.git
- Перейдите в директорию проекта:
cd Labyrinths
- Соберите проект с помощью Maven:
mvn clean install mvn dependency:copy-dependencies
- Запустите:
java -cp target/java-1.0.0.jar:target/dependency/* backend.academy.Main