隨機賽道,隨機位置等
最近在遊戲開發時候,遇到一個問題就是給定幾個位置點,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);