filmov
tv
How to Shuffle an Array in Unity (Randomizing without repeating elements)

Показать описание
// Fisher-Yates shuffle algorithm
private void ShuffleArray <T> (T[] array)
{
int n = array.Length;
for (int i = n - 1; i>0; i--)
{
int randIndex = Random.Range(0, i + 1);
T temp = array[i];
array[i] = array[randIndex];
array[randIndex] = temp;
}
}
private void ShuffleArray <T> (T[] array)
{
int n = array.Length;
for (int i = n - 1; i>0; i--)
{
int randIndex = Random.Range(0, i + 1);
T temp = array[i];
array[i] = array[randIndex];
array[randIndex] = temp;
}
}