Je fais un jeu qui utilise des niveaux générés de façon procédurale, et quand je teste, je veux souvent reproduire un niveau. À l'heure actuelle, je n'ai fait aucun moyen de sauvegarder les niveaux, mais je pensais qu'une solution plus simple serait de simplement réutiliser la graine utilisée par le module aléatoire de Python. Cependant, j'ai essayé d'utiliser à la fois random.seed()
et random.setstate()
et aucun ne semble reproduire de manière fiable les résultats. Bizarrement, j'aurai parfois le même niveau plusieurs fois de suite si je réutilise une graine, mais ce n'est jamais complètement fiable à 100%. Dois-je simplement sauvegarder le niveau normalement (en tant que fichier contenant ses informations)?Quel est le moyen le plus simple de reproduire un niveau généré de façon aléatoire en Python?
Edit:
Merci pour l'aide tout le monde. Il s'est avéré que mon problème venait du fait que je sélectionnais aléatoirement des sprites de groupes dans Pygame, qui sont récupérés dans des vues de dictionnaire non ordonnées. J'ai modifié mon code pour éviter d'utiliser les groupes de sprites de Pygame pour cette partie et cela fonctionne parfaitement maintenant.