根據不同的條件篩選隨機數
阿新 • • 發佈:2018-11-29
學習和工作個人筆記,只為方便檢視
- 普通隨機數
1 public static int randRange(int min, int max) 2 { 3 int randNumber = Random.Range(min, max+1); 4 return randNumber; 5 }
- 在一定範圍內,隨機的值不在某陣列中(注意使用範圍,避免死迴圈)
1 public static int randRangeNotIn(int min, int max, int[] array)
- 在一個範圍內產生n個隨機數(必須滿足:max - min + 1 > count)
1 public static int[] randArray(int min, int max, int count) 2 { 3 ArrayList array = new
在一個範圍內隨機n個值,這n個值,不在某個陣列中(注意適用範圍,避免死迴圈)
1 public static int[] randArrayCountNotIn(int min, int max, int count, int[] oldarray) { 2 ArrayList array = new ArrayList(); 3 if (count <= (max + 1)) { 4 while (array.Count < count) 5 { 6 int randNumber = Random.Range(min, max + 1); ; 7 int flag = true; 8 for (int i = 0; i < array.Count; i++) 9 { 10 if (randNumber == (int)array[i]) 11 { 12 flag = false; 13 break; 14 } 15 } 16 for (int i = 0; i < oldarray.Length; i++) 17 { 18 if (randNumber == oldarray[i]) 19 { 20 flag = false; 21 break; 22 } 23 } 24 if (flag == true) 25 { 26 array.Add(randNumber); 27 } 28 } 29 } 30 int[] v = new int[array.Count]; 31 array.CopyTo(v); 32 return v; 33 }