Skip to content

Latest commit

 

History

History
50 lines (36 loc) · 3.75 KB

README.md

File metadata and controls

50 lines (36 loc) · 3.75 KB

Amazed - Jaza maze generator and path finder

Академии Бэкенда 2024.

Проект состоит из реализации консольной программы для генерации лабиринтов и поиска пути в них. Программа должна быть способна генерировать лабиринты различной сложности и размеров, а также предоставлять один или несколько методов поиска пути от заданной точки А (начала) к точке Б (конца). Интерфейс приложения должен быть простым и понятным, с возможностью отрисовки в консоли лабиринта и найденного пути.

Алгоритмы генерации лабиринтов - алгоритм Прима и Краскала.

Алгоритмы поиска пути - поиск в ширину (BFS) и А* (A-star).

Примеры работы

telegram-cloud-photo-size-2-5224257713750534851-y

Структура проекта

Это типовой Java-проект, который собирается с помощью инструмента автоматической сборки проектов Apache Maven.

Проект состоит из следующих директорий и файлов:

  • pom.xml – дескриптор сборки, используемый maven, или Project Object Model. В нем описаны зависимости проекта и шаги по его сборке
  • src/ – директория, которая содержит исходный код приложения и его тесты:
    • src/main/ – здесь находится код приложения
    • src/test/ – здесь находятся тесты приложения
  • 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, с описанием того, как обрабатывать различные файлы, и какие из них игнорировать