unity不重复随机数
时间: 2023-09-06 11:00:44 浏览: 280
在Unity中,生成不重复的随机数可以通过以下步骤实现:
1. 创建一个整型数组,用于存储已生成的随机数。
2. 设定需要生成的随机数数量,例如设定为n个。
3. 使用循环,不断生成随机数,直到数组中存储的随机数数量等于n。
a. 在循环中生成一个随机数。
b. 使用另一个循环,遍历数组,检查生成的随机数是否已存在于数组中。
c. 如果随机数已存在,则返回到步骤a重新生成随机数。
d. 如果随机数不存在,则将其存储到数组中。
4. 当循环结束后,数组中存储的即为不重复的随机数。
以下是一个示例代码:
```csharp
using UnityEngine;
public class NonRepeatingRandom : MonoBehaviour
{
public int numberOfRandomNumbers;
public int[] nonRepeatingRandomNumbers;
void Start()
{
nonRepeatingRandomNumbers = GenerateNonRepeatingRandomNumbers(numberOfRandomNumbers);
}
int[] GenerateNonRepeatingRandomNumbers(int count)
{
int[] nonRepeatingNumbers = new int[count];
int randomNumber;
int currentIndex = 0;
while (currentIndex < count)
{
randomNumber = Random.Range(1, 100); // 生成1到100之间的随机数,根据需求可修改范围
bool isDuplicate = false;
for (int i = 0; i < currentIndex; i++)
{
if (randomNumber == nonRepeatingNumbers[i])
{
isDuplicate = true;
break;
}
}
if (!isDuplicate)
{
nonRepeatingNumbers[currentIndex] = randomNumber;
currentIndex++;
}
}
return nonRepeatingNumbers;
}
}
```
通过以上代码,我们可以在Unity中生成指定数量的不重复随机数,并存储在一个整型数组中。修改代码中的`numberOfRandomNumbers`变量,可以控制生成的随机数数量。根据需要,也可调整生成随机数的范围。
阅读全文