Donc, je pensais à créer un générateur de monde aléatoire simple. Ce générateur créerait une "cellule" de départ qui aurait entre une et quatre sorties aléatoires (dans les directions cardinales, quelque chose comme un labyrinthe). Après avoir décidé de ces sorties, je produisais une nouvelle "cellule" aléatoire à chacune de ces sorties, et je répétais chaque fois qu'un joueur s'approchait d'une partie du monde qui n'avait pas encore été générée. Ce concept permettrait un monde "infini" de toutes sortes, tous générés de manière aléatoire; Cependant, je ne suis pas sûr de la meilleure façon de représenter cela en interne. J'utilise C++ (ce qui n'a pas vraiment d'importance, je pourrais implémenter n'importe quelle sorte de structure de données nécessaire). Au début, j'ai pensé à utiliser une sorte de graphe orienté dans lequel chaque noeud aurait des bords dirigés vers chaque cellule qui l'entoure, mais cela ne fonctionnera probablement pas bien si un utilisateur trouve une place dans le monde, fait marche arrière, et revient à spot d'une autre direction. Le monde pourrait faire des choses étranges, comme générer deux cellules à un endroit.Structure de données pour un monde aléatoire
Des idées sur quel type de structure de données pourrait être le plus efficace pour une telle situation? Ou est-ce que je fais quelque chose de vraiment stupide avec ma génération mondiale aléatoire?
Toute aide serait grandement appréciée. Merci, Chris
Je ne peux pas croire que je ne pensais pas que cela, son une solution aussi simple et rapide. –
Comme @Nathon mentionné pour une nouvelle cellule, assurez-vous de vérifier si les cellules adjacentes existent et créer/empêcher les portes dans les cellules adjacentes, le cas échéant. – jholl