¿Cómo visualizo el laberinto que estoy creando?


Asumiré que estás haciendo un laberinto rectangular. Una vez que tenga los detalles del laberinto, sabrá qué células tienen una barrera entre ellas y cuáles no. Todo lo que queda es dibujar estas barreras. Necesitas:

  • Dibuje un borde alrededor de todo el laberinto, excepto las celdas de inicio y fin
  • Dibuje una barrera entre celdas adyacentes si existe

Ahora, cualquier tipo de biblioteca de visualización hará el trabajo por usted. Probablemente sea más fácil si está codificando en Python y usa matplotlib. Hacer todo en algo como Sage también ayudaría.

Hice un programa de generación de laberintos en C ++ (usando el algoritmo de Kruskal). Como no hay bibliotecas estándar sencillas para hacer la visualización en C ++, decidí usar gnuplot para guardar la imagen del laberinto en un archivo. Todo lo que tenía que hacer era hacer que mi programa generara los comandos gnuplot para dibujar las barreras y el borde. Luego, dentro del programa, recibí una llamada del sistema para ejecutar gnuplot en este archivo, y eso guardó la imagen del laberinto en un archivo .jpg. No es la forma más inteligente o elegante de resolver el problema, pero hace el trabajo. Mi implementación se puede encontrar en github: mazegenerator.