unity 在for循环中不重复的范围内随机
时间: 2024-10-27 15:11:57 浏览: 23
在Unity中,如果你想在一个for循环中生成不重复的随机数,通常会配合`Random.Range`函数以及一个临时存储已选择随机数的数组或者集合来实现。以下是一个简单的示例:
```csharp
List<int> selectedNumbers = new List<int>(); // 存储已选数字
// 定义范围和循环次数
int minRange = 1;
int maxRange = 100;
int count = 10;
for (int i = 0; i < count; ++i)
{
int randomNum;
do
{
randomNum = Random.Range(minRange, maxRange + 1); // 生成一个随机数
} while (selectedNumbers.Contains(randomNum)); // 检查是否已选择过
selectedNumbers.Add(randomNum); // 添加到已选集合
Debug.Log(randomNum); // 输出当前随机数
}
```
在这个例子中,我们使用了一个do-while循环来不断尝试生成新的随机数,直到找到一个不在`selectedNumbers`列表中的值。
阅读全文