Gerador de labirintos
Crie um labirinto para imprimir em quatro formas e três dificuldades. Cada um tem uma semente para o repetir, com solução opcional e transferência em SVG.
Este é o labirinto de 20 x 20 com a semente 850330. Escreva essa semente outra vez para imprimir o labirinto idêntico, neste aparelho ou em qualquer outro.
Como o labirinto é construído
O gerador parte de uma grelha maciça de paredes e abre caminho por ela com um algoritmo de retrocesso recursivo. Avança para um vizinho ainda não visitado, escolhido ao acaso, derrubando a parede entre os dois, e quando fica sem jogadas recua pelo próprio rasto até achar uma célula com algum sítio novo para onde ir. Todas as células são visitadas exatamente uma vez, por isso todo o labirinto fica completamente ligado e há sempre uma travessia possível. Os corredores sinuosos que daí resultam são o que faz um labirinto parecer um labirinto e não uma grade de cotos curtos.
O que a dificuldade muda de facto
Aqui a dificuldade não é um botão vago, é a proporção de becos sem saída que são reabertos. Difícil deixa o labirinto tal como foi escavado, um labirinto perfeito com um único caminho e o máximo de curvas erradas onde cair. Média reabre um quarto dos becos e fácil reabre setenta por cento, o que transforma esses corredores cegos em circuitos que se atravessam de seguida. Numa grelha de 20 x 20 isso dá cerca de 42 becos em difícil, 32 em média e 14 em fácil, e o caminho mais curto encolhe de uns 143 passos para 67. As contagens do labirinto no ecrã aparecem por cima dele, para ver o que realmente saiu.
Retângulos, círculos, losangos e triângulos
As quatro formas são contornos recortados da mesma grelha quadrada: qualquer célula cujo centro caia fora do contorno fica simplesmente de fora antes de a escavação começar. Uma grelha de 20 x 20 dá 400 células como retângulo, 316 como círculo, 220 como losango e 200 como triângulo, por isso um labirinto com forma é mais pequeno e um pouco mais rápido do que um retângulo do mesmo tamanho nominal. Como recortar uma forma pode deixar uma célula ou duas isoladas num canto, o gerador guarda apenas o maior grupo ligado e escava esse, e é por isso que a um labirinto com forma nunca falta um pedaço por acaso.
Sementes e reimprimir o mesmo labirinto
Cada labirinto é gerado a partir de uma semente, e a semente aparece junto ao resultado. Escreva a mesma semente com o mesmo tamanho, forma e dificuldade e obtém exatamente o mesmo labirinto, hoje ou no próximo período, aqui ou noutro computador. É isso que o torna prático numa sala de aula: distribua o labirinto, guarde a semente e depois imprima a solução a partir das mesmas definições com a caixa da solução marcada. Uma semente pode ser uma palavra em vez de um número, por isso turma4-segunda funciona tão bem como 481029.
Vale saber
- O ponto verde é a entrada e o vermelho a saída; a parede exterior está aberta em ambos.
- O desenho está medido em milímetros, por isso imprimir a 100% dá uma folha em tamanho real.
- O ficheiro SVG é vetorial, por isso mantém-se nítido em qualquer tamanho e pode ser editado depois.
- A solução mostrada é o caminho mais curto, o que importa em fácil, onde os circuitos dão mais do que uma via.
- Nada é guardado. O labirinto é gerado no nosso servidor e o resultado é descartado assim que é enviado.