Этот алгоритм представляет собой лабиринт генератор , а не лабиринт решатель . Идея в том, что вы хотите создать случайный лабиринт. Вы также хотите, чтобы все точки в лабиринте были доступны из всех других точек.
Если вы просто случайно удалите стены, вероятно, ваш лабиринт не будет подключен. Об этом заботится рекурсивный алгоритм обратного отслеживания, создавая случайную прогулку и удаляя стены вдоль этой случайной прогулки. Часть рекурсивного возврата позволяет вам пройти к каждой ячейке в лабиринте, даже когда вы зашли в тупик.