我正在制作一个地形生成器,在这里我想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);
这行得通,但是仍然存在某种模式,由于某种原因,彼此接近的值往往会产生相同的结果。
那么有什么更好的方法吗?