Одним из методов создания лабиринта является рандомизированная версия алгоритма Прима.
Начните с сетки, полной стен.
Выберите клетку, отметьте ее как часть лабиринта. Добавьте стены ячейки в список стен.
Пока в списке есть стены:
Выберите случайную стену из списка. Если ячейка на противоположной стороне еще не в лабиринте:
(i) Сделайте стену проходом и отметьте клетку на противоположной стороне как часть лабиринта.
(ii) Добавьте соседние стены ячейки в список стен.
Если ячейка на противоположной стороне уже была в лабиринте, уберите стену из списка.
Для большего понимания нажмите здесь