将2个整数合并为1个种子

时间:2019-09-30 17:07:25

标签: c#

我正在制作一个地形生成器,在这里我想100%确保如果生成相同的地形两次,则地形将相同。

因此,如果我想要随机数,则在生成它们时需要使用x和y位置作为种子。但是我无法在x和y之间建立明显的关系,因为那样看起来不太正确。

我尝试过的事情:

System.Random random = new System.Random(x+y);

这看起来不正确,因为在1,5上生成的数字与在5,1上生成的数字相同。

因此,我尝试这样做,以为自1 ^ 5!= 5 ^ 1会更好,但它仍然具有非常明显的模式:

System.Random random = new System.Random(System.Math.Pow(x,y));

我也尝试过:

System.Random random1 = new System.Random(x*1000);
System.Random random2 = new System.Random(random1.Next(0, 1000) + y*1000);

这行得通,但是仍然存在某种模式,由于某种原因,彼此接近的值往往会产生相同的结果。

那么有什么更好的方法吗?

0 个答案:

没有答案