1. 程式人生 > >隨機賽道,隨機位置等

隨機賽道,隨機位置等

最近在遊戲開發時候,遇到一個問題就是給定幾個位置點,he對應的角色數量,對他們進行隨機位置分配。要求做到隨機,且每個角色的位置不能一樣,經過測試,終於研究出來一套在給定陣列內隨機的碼塊,還是蠻通用的,分享給大家!

不多說,直接上程式碼:

/// </summary>
    /// 獲得隨機數陣列Array
    /// <param name="count"> 隨機數個數 </param>
    /// <param name="minNum"> 隨機最小下限</param>
    /// <param name="maxNum"> 隨機最大上限</param>
    /// <returns></returns>
    public static int[] GetArrRandom(int count, int minNum, int maxNum)
    {
        int j;
        int[] b = new int[count];
        System.Random r = new System.Random();
        for (j = 0; j < count; j++)
        {
            int i = r.Next(minNum, maxNum + 1);
            int num = 0;
            for (int k = 0; k < j; k++)
            {
                if (b[k] == i)
                {
                    num = num + 1;
                }
            }
            if (num == 0)
            {
                b[j] = i;
            }
            else
            {
                j = j - 1;
            }
        }
        return b;
    }

該方法的引數分別為:隨機個數,最小he最大值,(例如我要隨機5個位置點,傳入引數為5,1,5);