如何制作随机数字,但如果它们太近,则更改它

时间:2013-11-08 02:31:41

标签: libgdx

我想制作随机数字,但是如果它们太近了,我想把它作为一个重新卷轴,或者让它远离另一个数字,或者试着让它更加分散。

我想我不确定我到底想要什么:/

提前致谢

编辑:所以我制作随机数字的原因是为了在屏幕两侧产生单位的位置,所以我希望单位不要太靠近彼此,以使其看起来更好。

3 个答案:

答案 0 :(得分:1)

  

我想制作随机数字,但如果它们太近了,我想   使它成为一个重新卷轴或使它成为远离另一个的数字   数字或尝试使其更加分散。

随机数生成器有时会生成彼此靠近的数字。

如果你不希望它们如此靠近,你可能需要的是固定数字,每个都有一个小的随机扰动。

假设您选择数字10,20,30,40和50.然后,您运行一个随机数生成器,它会为您提供-3到+3之间的数字。您可以依次将此随机数添加到每个随机数中。这会产生不均匀的数字,但它们彼此之间并不太接近。

答案 1 :(得分:0)

如果重新滚动就足够了,你可以保存前一个值,然后在下一个迭代中,如果两个数字之间的差异太小,再次调用Math.rand()。也许你的样本空间太小了?

答案 2 :(得分:0)

  1. 获取随机位置
  2. 如果它不好(太接近其他或其他什么),请转到第1步。
  3. 你去!你有有效的职位。 :) ...
  4. 或者...预先计算所有有效位置,将它们放在某个数组中并使用rnd函数获取数组索引 - 将使用哪些数组元素。这应该是更快的解决方案(如果你有大量的单位)......