我想用C#编写一个PRNG

时间:2014-02-08 22:48:43

标签: c# random prng

我想要做的是在每次渲染时以相同的方式生成游戏内容,而不必在游戏中使用PRNG渲染游戏中的所有内容,直到玩家到达游戏的特定部分。我正在尝试写一个RTS太空游戏。我想在行星级别上有一个战斗地图,玩家可以控制他/她拥有的单位。也是与太空作战最多的战斗。我想在程序上产生恒星,行星,卫星,以及建造船只或军事单位时。我希望每次都能生成相同的特定内容。相同的派系相同的游戏环境。有谁知道任何有助于我的提示或文章?我不知道如何设置PRNG来创建星星/ w行星等内容。

1 个答案:

答案 0 :(得分:3)

不要重新发明轮子。只需使用System.Random 一个PRNG

  

[随机类]表示伪随机数生成器,这是一种产生满足某些随机性统计要求的数字序列的设备。

只需使用appropriate seed构建Random对象。

  

为不同的Random对象提供相同的种子值会导致每个实例产生相同的随机数序列。

这样的实际用法是你的生成代码的功能 - 但至少现在你有办法按需重复相同的“随机”序列; - )


在实现过程中,可能无法保证Random使用的算法,但这种种子用法将在同一环境中“保持一致”。在任何情况下,您现在都可以轻松使用Random,如果需要更强的保证,可以稍后将其换掉。