有几种思路,主要是打乱 顺序。
1.打乱 随机数的随机数数组 每个顺序的数组的
参考资料1里面,可以考虑先把这100个数放在一个数组内,每次随机取一个位置(第一次是1-100,第二次是1-99,...),将该位置的数与最后一个位置的数对调就可以了。
产生的是 连续不重复的随机数数组
把参考资料1 里面的函数改了一下,能够 随机 连续且不重复的随机数
int frame = 0;
void Update()
{
if (Input.anyKeyDown)
{
ss(1, 10); frame++;
}
}
void ss(int min,int max)
{
int rang = max - min;
int[] arr = new int[rang +1];
int i;
//初始化数组
for(i=0;i<= rang; i++)
{
arr[i] = max < min + i ? max : min + i ;
}
//随机数
for (int j = rang; j >= 0; j--)
{
int address = Random.Range(0, j);//获得一个 第 随机数address 的数组的序号
int tmp = arr[address];
arr[address] = arr[j];//调换位置
arr[j] = tmp;
}
//输出
foreach (

本文探讨了在Unity3D中如何利用C#实现连续不重复的随机数数组。通过打乱数组顺序的方法,每次随机选取一个位置与最后一个位置的数互换,保证了生成的随机数序列的独特性。同时,文中提供了修改后的函数,以实现随机、连续且不重复的随机数生成。此外,还列举了相关参考资料,帮助读者深入理解不连续数组中取随机数的策略。
最低0.47元/天 解锁文章
1036

被折叠的 条评论
为什么被折叠?



