РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
39 of 126 menu

Генератор лабиринтов

Реализуйте сайт, генерирующий лабиринты для их прохождения.

Основные возможности проекта

  • Кнопка для генерации лабиринта.
  • Выбор размера лабиринта (количество ячеек).
  • Выбор сложности лабиринта (извилистость).
  • Отрисовка лабиринта на canvas.
  • Визуальное выделение входа и выхода.

Главная страница

На странице должны быть размещены:

  • Настройки: размер лабиринта (например, 5x5, 10x10, 20x20) и сложность (низкая, средняя, высокая).
  • Кнопка "Сгенерировать лабиринт".
  • Canvas для отрисовки лабиринта.

Генерация лабиринта

Для генерации лабиринта используется алгоритм поиска в глубину (DFS) или алгоритм Краскала:

  • Создать сетку ячеек с закрытыми стенами между ними.
  • Выбрать случайную стартовую ячейку.
  • Рекурсивно проходить по ячейкам, убирая стены между текущей и соседней ячейкой.
  • Сложность регулирует количество тупиков и ветвлений.

Размер и сложность

Настройки перед генерацией:

  • Размер - количество ячеек по горизонтали и вертикали (например, 10x10, 15x15, 20x20).
  • Сложность - влияет на количество проходов и тупиков (низкая - больше прямых коридоров, высокая - больше извилистых путей).

Отрисовка на canvas

Лабиринт должен отображаться на canvas:

  • Стены отображаются линиями.
  • Проходы - пустые ячейки.
  • Вход - зеленый цвет (верхняя левая ячейка).
  • Выход - красный цвет (нижняя правая ячейка).

Дополнительные возможности

  • Анимация прохождения лабиринта (автоматический поиск пути).
  • Кнопка "Показать решение" - визуальное отображение правильного пути от входа до выхода.
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить