c# - 随机范围订单

标签 c# unity3d random

我想做一个特别的随机数。

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

我想得到 6 个接近的随机数。

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

正如我看到的从 1 到 10,那么如何让这些数字随机且接近呢?

最佳答案

假设您希望您的数字不超过 +- 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 之间

关于c# - 随机范围订单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49770047/

相关文章:

c# - Linq to SQL 在使用局部变量时给出 NotSupportedException

c# - 将 vector3 转换为变换

java - 我想了解 Java 的 SecureRandom 对象

c# - 随机代码生成器需要帮助

c# - 在另一个 ViewModel 中完成数据库更改后,如何 "refresh"我的 ViewModels?

c# - 如何将表单中的面板保存为图片?

c# - 单体机器人 : Performing a full GC

c# - 地形树实例无法正确设置

c# - VR乐谱文字展示

java - 防止冗余随机数