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