piapia123
es

Generador de laberintos

Generadores

Todo se ejecuta en tu navegador: no se sube nada

Vista previaCambia cualquier opción de arriba y esto se redibuja al instante
Código SVG

Genera un laberinto y expórtalo como SVG para imprimir o usar como material. Todos los laberintos tienen solución, y la solución es única. El generador usa retroceso recursivo (búsqueda en profundidad con elección aleatoria de vecino), que tiene dos propiedades matemáticas: exactamente un camino entre dos celdas cualesquiera y ningún bucle. Merece la pena decirlo, porque el otro enfoque habitual — llenarlo todo de paredes y tirar algunas al azar — puede dejar zonas inalcanzables (sin solución) o crear bucles (varias soluciones), y las dos cosas siguen pareciendo un laberinto en pantalla. La aleatoriedad lleva semilla. Cada decisión de la generación tira un dado; con `Math.random`, pedir los mismos parámetros otra vez daría un laberinto distinto, lo que descarta imprimir el mismo dos veces. Aquí se usa un generador pseudoaleatorio con semilla, así que mismo tamaño más misma semilla igual al mismo laberinto. No necesita fuerza criptográfica: es solo un dibujo. La entrada está arriba a la izquierda y la salida abajo a la derecha, con esas dos paredes abiertas; dejar el laberinto cerrado se leería como una generación fallida. Marca «Dibujar el camino de solución» para obtener también la respuesta.

Funciones

  • Retroceso recursivo: el laberinto siempre tiene solución y esta es única (sin bucles ni zonas inalcanzables)
  • Columnas, filas y tamaño de celda ajustables (de 4×4 hasta 80×80)
  • Aleatoriedad con semilla: los mismos parámetros producen siempre el mismo laberinto, de forma reproducible
  • Entrada arriba a la izquierda y salida abajo a la derecha, con ambas paredes abiertas
  • Camino de solución opcional en un color ajustable
  • Colores de paredes y fondo ajustables (también paredes claras sobre fondo oscuro)
  • Exporta SVG: vectorial, así que imprime nítido a cualquier tamaño y entra en un archivo de diseño
  • Las paredes compartidas se dibujan una vez, así que ninguna línea sale más gruesa que sus vecinas

Cómo se usa

  1. Ajusta columnas, filas y tamaño de celda mirando la vista previa
  2. Cambia la semilla para otro laberinto; apunta la semilla para reproducir uno
  3. Marca «Dibujar el camino de solución» cuando quieras la respuesta
  4. Pulsa Descargar .svg para llevarte el archivo vectorial

Preguntas frecuentes

¿Todo laberinto generado tiene solución?
Siempre, y la solución es única. El retroceso recursivo construye un árbol de expansión: abrir una pared añade una arista, y el laberinto terminado tiene exactamente n−1 aristas que conectan n celdas. Esa estructura garantiza dos cosas: existe un camino entre dos celdas cualesquiera (así que la entrada siempre llega a la salida) y no hay bucles (así que ese camino es único). El enfoque de «llenar todo y derribar paredes al azar» no puede prometer ninguna de las dos, y puede dejar zonas a las que simplemente no se llega, mientras en pantalla se ve perfectamente normal.
¿Para qué sirve la semilla?
Para reproducir. La generación tira muchos dados, y con aleatoriedad real, pedir los mismos parámetros otra vez da un laberinto distinto. Un generador con semilla fija qué tirada sale en cada momento, así que mismo tamaño más misma semilla igual a exactamente el mismo laberinto. Eso importa en la práctica: un niño que quiere el mismo laberinto otra vez, o las ganas de subir la dificultad manteniendo el mismo carácter — basta con apuntar la semilla. No hace falta fuerza criptográfica; esto es un dibujo, no una clave.
¿Se puede imprimir directamente?
Sí. El SVG descargado es vectorial, así que se mantiene nítido al ampliarlo — que es justo la razón de usar SVG y no PNG: el mismo laberinto de 20×14 en PNG muestra escalones al escalarlo a A4, mientras que las líneas vectoriales siguen limpias. Si al imprimir ves las líneas finas, aumentar el tamaño de celda ayuda más que engrosar las líneas, porque el grosor de línea se deriva del tamaño de celda.

Herramientas relacionadas