在我的游戏中,我将使用随机值来选择玩家从胸部获得的奖励.问题是你可以快速保存并快速加载,这意味着他们可以继续重新加载以重新随机化,直到他们得到他们想要的东西.有没有什么方法可以获取我的Random对象的当前种子值,并可能在加载时返回到同一点,以便它们不会滥用随机化?
SLa*_*aks 19
这是不可能的.
相反,您可以Random使用二进制序列化序列化实例.
Random是的[Serializable],种子和内部状态将持续存在.
但请注意,保存随机种子可让您的玩家预测未来,如果您允许在战斗中保存,这非常有用.
另请注意,用户仍然可以保存,打开胸部,加载,执行生成随机数的动作,然后从胸部获取不同的项目.
Tie*_* T. 11
获取种子时不确定,但您可以保存为Random对象提供的值.请记住,有两个构造函数.第二个是Random(Int32),所以如果你自己设置种子(一个足够简单的值Random),你可以在将它传递给构造函数之前将其存储在某处.如果您尚未阅读,请查看MSDN文档,网址为http://msdn.microsoft.com/en-us/library/system.random.aspx.