Unity3D -- 獲取不重複的隨機數
阿新 • • 發佈:2019-02-16
我自己在程式碼中用一個函式,貼出來:
public static int[] getRandoms(int sum, int min, int max)
{
int[] arr = new int[sum];
int j = 0;
//表示鍵和值對的集合。
Hashtable hashtable = new Hashtable();
System.Random rm = new System.Random();
while (hashTable.Count < sum) {
//返回一個min到max之間的隨機數
int nValue = rm.Next(min, max);
// 是否包含特定值
if (!hashtable.ContainsValue(nValue))
{
//把鍵和值新增到hashtable
hashtable.Add(nValue, nValue);
arr[j] = nValue;
j++;
}
}
return arr;
}
歡迎討論更好的獲取不重複隨機數的方法。