我想制作随机数字,但是如果它们太近了,我想把它作为一个重新卷轴,或者让它远离另一个数字,或者试着让它更加分散。
我想我不确定我到底想要什么:/
提前致谢
编辑:所以我制作随机数字的原因是为了在屏幕两侧产生单位的位置,所以我希望单位不要太靠近彼此,以使其看起来更好。
答案 0 :(得分:1)
我想制作随机数字,但如果它们太近了,我想 使它成为一个重新卷轴或使它成为远离另一个的数字 数字或尝试使其更加分散。
随机数生成器有时会生成彼此靠近的数字。
如果你不希望它们如此靠近,你可能需要的是固定数字,每个都有一个小的随机扰动。
假设您选择数字10,20,30,40和50.然后,您运行一个随机数生成器,它会为您提供-3到+3之间的数字。您可以依次将此随机数添加到每个随机数中。这会产生不均匀的数字,但它们彼此之间并不太接近。
答案 1 :(得分:0)
如果重新滚动就足够了,你可以保存前一个值,然后在下一个迭代中,如果两个数字之间的差异太小,再次调用Math.rand()。也许你的样本空间太小了?
答案 2 :(得分:0)
或者...预先计算所有有效位置,将它们放在某个数组中并使用rnd函数获取数组索引 - 将使用哪些数组元素。这应该是更快的解决方案(如果你有大量的单位)......