随机范围订单

时间:2018-04-11 08:22:05

标签: c# unity3d random

我想特别随意。

private Randomizer getNumberRnd;
getNumberRnd = new Randomizer(1, 10, true);
    firstNumber = getNumberRnd.getRandom();

我希望得到6个随机数字。

例如:7,6,5,8,9,5

正如我从1到10看到的那样,我如何随机关闭这些数字呢?

1 个答案:

答案 0 :(得分:3)

假设您希望自己的数字不会偏离+ - 2而且接近12.您可以这样做

int randomOffset = Random.Range(-2, 3); // For ints, the upper value is exclusive
int value = 12 + randomOffset;

这将为您提供范围

的值
  

10,11,12,13,14

现在,如果你不希望它大约是12,但是在一个随机值附近,并将它们保持在1到10之间

int randomPivot = Random.Range(3, 9);
int randomOffset = Random.Range(-2, 3); // For ints, the upper value is exclusive
int value = randomPivot + randomOffset;

现在,你需要绕枢轴6个值,所以我们

int[] randomValues = new int[6];
int randomPivot = Random.Range(3, 9);
for(int i = 0; i<6; ++i)
{
    int randomOffset = Random.Range(-2, 3);
    randomValues[i] = randomPivot + randomOffset;
}

现在random values包含6个随机值,但彼此接近并且都在1到10之间