Se me ocurrió un método para generar recursivamente mapas sencillos de mazmorras comenzando con una habitación y conectando recursivamente nuevas habitaciones adyacentes al azar.
Los mapas se representan como matrices bidimensionales donde cada celda contiene un valor de 0-15. 0 no representa espacio, mientras que cada dirección está representada por norte = 1, este = 2, sur = 4, oeste = 8.
Quería comenzar con una sola habitación que no sea ([[0]]) y luego expandir la matriz 2D según sea necesario para que se ajuste al mapa generado. La dificultad que enfrento con este árbol como la recursión es que si las matrices tienen que ser desplazadas para agregar filas y columnas a la izquierda y la parte superior del mapa, tengo que ajustar la posición actual de la función, en qué fila y columna se encuentra. . Esto hace que las ramas separadas no estén al tanto de los ajustes del índice de matriz de otras ramas, solo sus funciones secundarias lo sabrán porque les han pasado la posición ajustada como argumentos de fila y columna.
¿Hay alguna forma de hacer esto? Intenté almacenar valores de desplazamiento de fila y columna fuera de la recursión, pero no funcionó por alguna razón.