Implementando um labirinto gerado aleatoriamente usando o algoritmo de Prim
Eu estou tentando implementar um labirinto gerado aleatoriamente usando o algoritmo de Prim.
Quero que meu labirinto fique assim:
no entanto, os labirintos que estou gerando no meu programa são assim:
No momento, estou preso em implementar corretamente as etapas destacadas em negrito:
Comece com uma grade cheia de paredes.Escolha uma célula, marque-a como parte do labirinto. Adicione as paredes da célula à lista de paredes.Enquanto houver paredes na lista:** 1. Escolha uma parede aleatória da lista. Se a célula do lado oposto ainda não estiver no labirinto:Faça da parede uma passagem e marque a célula do lado oposto como parte do labirinto. **Adicione as paredes vizinhas da célula à lista de paredes.Remova a parede da lista.deeste artigo sobre geração de labirinto.
Como determinar se uma célula é ou não um candidato válido para a lista de paredes? Gostaria de mudar meu algoritmo para que ele produza um labirinto correto. Qualquer idéia que me ajudasse a resolver meu problema seria apreciada.