我正在制作一个使用程序生成关卡的游戏,当我在测试时,我经常想要重现一个关卡。现在我还没有采取任何方法来保存关卡,但我认为更简单的解决方案是重用 Python 随机模块使用的种子。但是,我尝试使用两者random.seed()
,random.setstate()
但似乎都不能可靠地重现结果。奇怪的是,如果我重复使用种子,有时我会连续几次获得相同的级别,但它永远不会 100% 可靠。我是否应该正常保存关卡(作为包含其信息的文件)?
编辑:
感谢大家的帮助。事实证明,我的问题来自于我从 Pygame 中的组中随机选择精灵,这些精灵是在无序的字典视图中检索的。我更改了我的代码以避免在该部分使用 Pygame 的精灵组,它现在可以完美运行。