J'ai trouvé une méthode pour générer récursivement des cartes de donjon simples en commençant par une pièce et en y connectant de manière aléatoire de nouvelles pièces adjacentes.
Les cartes sont représentées sous forme de tableaux bidimensionnels où chaque cellule contient une valeur de 0 à 15. 0 ne représente aucune pièce tandis que chaque direction est représentée par nord = 1, est = 2, sud = 4, ouest = 8.
Je voulais commencer avec une seule pièce non ([[0]]), puis étendre le tableau 2d si nécessaire pour s'adapter à la carte générée. La difficulté que je rencontre avec cet arbre comme la récursivité est que si les tableaux doivent être décalés pour ajouter des lignes et des colonnes à gauche et en haut de la carte, je dois ajuster la position actuelle de la fonction, à quelle ligne et colonne elle se trouve . Cela fait en sorte que les branches distinctes ne soient pas au courant des ajustements d'index de tableau des autres branches, seules leurs fonctions enfants le sauront car leur position ajustée leur est transmise en tant qu'arguments de ligne et de colonne.
Y a-t-il un moyen de faire cela? J'ai essayé de stocker des valeurs de décalage de ligne et de colonne en dehors de la récursivité, mais cela n'a pas fonctionné pour une raison quelconque.