最近在游戏开发时候,遇到一个问题就是给定几个位置点,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);