Ho escogitato un metodo per generare ricorsivamente semplici mappe sotterranee iniziando con una stanza e collegando ricorsivamente nuove stanze adiacenti in modo casuale.
Le mappe sono rappresentate come matrici bidimensionali in cui ogni cella contiene un valore di 0-15. 0 non rappresenta spazio mentre ogni direzione è rappresentata da nord = 1, est = 2, sud = 4, ovest = 8.
Volevo iniziare con una singola non room ([[0]]) e quindi espandere l'array 2d secondo necessità per adattarlo alla mappa generata. La difficoltà che devo affrontare con questo albero come la ricorsione è che se gli array devono essere spostati per aggiungere righe e colonne a sinistra e in cima alla mappa, devo regolare la posizione corrente della funzione, a quale riga e colonna si trova . Questo fa sì che i rami separati non siano a conoscenza delle regolazioni dell'indice di array da altri rami, solo le loro funzioni figlio lo sapranno perché hanno la posizione corretta passata loro come argomenti di riga e colonna.
C'è un modo per fare questo? Ho provato a memorizzare i valori di offset di riga e colonna al di fuori della ricorsione, ma per qualche motivo non ha funzionato.