Проект состоит из реализации консольной программы для генерации лабиринтов и поиска пути в них. Программа должна быть способна генерировать лабиринты различной сложности и размеров, а также предоставлять один или несколько методов поиска пути от заданной точки А (начала) к точке Б (конца). Интерфейс приложения должен быть простым и понятным, с возможностью отрисовки в консоли лабиринта и найденного пути.
Алгоритмы генерации лабиринтов - алгоритм Прима и Краскала.
Алгоритмы поиска пути - поиск в ширину (BFS) и А* (A-star).
Это типовой Java-проект, который собирается с помощью инструмента автоматической сборки проектов Apache Maven.
Проект состоит из следующих директорий и файлов:
- pom.xml – дескриптор сборки, используемый maven, или Project Object Model. В нем описаны зависимости проекта и шаги по его сборке
- src/ – директория, которая содержит исходный код приложения и его тесты:
- mvnw и mvnw.cmd – скрипты maven wrapper для Unix и Windows, которые позволяют запускать команды maven без локальной установки
- checkstyle.xml, checkstyle-suppression.xml, pmd.xml и spotbugs-excludes.xml – в проекте используются линтеры для контроля качества кода. Указанные файлы содержат правила для используемых линтеров
- .mvn/ – служебная директория maven, содержащая конфигурационные параметры сборщика
- lombok.config – конфигурационный файл Lombok, библиотеки помогающей избежать рутинного написания шаблонного кода
- .editorconfig – файл с описанием настроек форматирования кода
- .github/workflows/build.yml – файл с описанием шагов сборки проекта в среде Github
- .gitattributes, .gitignore – служебные файлы для git, с описанием того, как обрабатывать различные файлы, и какие из них игнорировать