Unity 生成不重複隨機數

public int[] GetRandomSequence2(int total, int n)
    {
        //隨機總數組
        int[] sequence = new int[total];
        //取到的不重複數字的數組長度
        int[] output = new int[n]; 
        for (int i = 0; i < total; i++)
        {
            sequence[i] = i;
        }
        int end = total - 1;
        for (int i = 0; i < n; i++)
        {
            //隨機一個數,每隨機一次,隨機區間-1
            int num = Random.Range(0, end + 1);
            output[i] = sequence[num];
            //將區間最後一個數賦值到取到數上
            sequence[num] = sequence[end];
            end--;
            //執行一次效果如:1,2,3,4,5 取到2
            //則下次隨機區間變爲1,5,3,4;
        }
        return output;
    }

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章