Skip to content

gghost1/Maze

Repository files navigation

Лабиринты

Программа создана для:

  • создания лабиринтов с одним и двумя путями, используя алгоритмы:
    • Prim's
    • Recursive backtracked
    • Wave propagation
  • нахождения наилучшего пути в лабиринте от и до указанных точек, используя алгоритмы:
    • Shortest pathfinder
    • Dead end filler
    • A* (используятся для лабиринтов с несколькими путями)

В лабиринте есть клетки замедляющие и ускоряющие прохождение.

Как пользоваться

В файле Main.java можно настроить язык, на котором будут выводиться сообщения.
После его настройки нужно запустить main метод.

При запуске программы в консоль выводятся вопросы, на которые нужно отвечать для настроек лабиринта и управлением процесса генерации и поиска.

Ввод состоит из:

  • ширина лабиринта
  • высота лабиринта
  • координаты по X и Y начальной точки в одной строке через пробел
  • координаты по X и Y конечной точки в одной строке через пробел
  • номер или название алгоритма для создания лабиринта (нужно выбрать из списка, который будет выведен в консоли)
  • номер или название алгоритма для нахождения пути (нужно выбрать из списка, который будет выведен в консоли)
  • 1 чтобы начать создание лабиринта
  • 1 чтобы начать нахождение пути лабиринта

* Все параметры должны быть неотрицательными и целочисленными
* Отсчет координат начинается от 0 с верхнего левого угла. X по горизонтали, Y по вертикали

Вывод программы

Вывод программы может быть на русском и английском языке.
Лабиринт имеет клетки путей и стен и проходов в стенах

  • Стена 🟩
  • Проход в стене ⬜️
  • Различные типы поверхности путя 🏜️ 🟫 🟧 🛣️

Проходы не считаются путем, а размеры лабиринта не учитывают стены и проходы в стенах
* Выведенный размер = введеный размер * 2 + 1

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages