Saya datang dengan metode untuk menghasilkan peta ruang bawah tanah sederhana secara rekursif dengan mulai dengan satu ruangan dan secara rekursif menghubungkan kamar-kamar baru yang berdekatan secara acak ke sana.
Peta direpresentasikan sebagai array dua dimensi di mana setiap sel berisi nilai 0-15. 0 mewakili tidak ada ruang sementara setiap arah diwakili oleh utara = 1, timur = 2, selatan = 4, barat = 8.
Saya ingin memulai dengan satu ruangan non ([[0]]) dan kemudian memperluas array 2d sesuai kebutuhan agar sesuai dengan peta yang dihasilkan. Kesulitan yang saya hadapi dengan pohon seperti rekursi ini adalah bahwa jika array harus tidak tergeser untuk menambahkan baris dan kolom ke kiri dan atas peta, saya harus menyesuaikan posisi fungsi saat ini, baris dan kolom apa yang ada di . Ini membuatnya sehingga cabang-cabang yang terpisah tidak menyadari penyesuaian indeks array dari cabang-cabang lain, hanya fungsi anak-anak mereka yang akan tahu karena mereka memiliki posisi yang disesuaikan diteruskan kepada mereka sebagai argumen baris dan kolom mereka.
Apakah ada cara untuk melakukan ini? Saya mencoba menyimpan nilai offset baris dan kolom di luar rekursi, tetapi tidak berhasil karena suatu alasan.