如何比阵列中的其他随机数生成一个随机数?

1 c# unity-game-engine

我有一个数字列表,例如:{1,2,3,4,5,6}.

我想随机生成这些数字,我这样做:

void Update(){
    float ran = Random.Range(1,6);
    print(ran);
}
Run Code Online (Sandbox Code Playgroud)

如何比其他数字生成或打印3个?

Dmi*_*nko 8

如果您想要偏斜分布,您可以将生成的值映射到所需的分布

// all 1..6 are equal with exception of 3 which appears more frequently 
// 1..2, 4..6 - 10% each (1 occurence  per 10 items)
// 3          - 50%      (5 occurences per 10 items)
private static int[] map = new int[1, 2, 3, 4, 5, 6, 3, 3, 3, 3];

...

void Update{
  float ran = map[Random.Range(map.Length)];
  print(ran);
}
Run Code Online (Sandbox Code Playgroud)