using UnityEngine;
using System.Collections;
//打亂亂數
public class UpsetRandom : MonoBehaviour
{
public static void Shuffle(T[] Source)
{
if (Source == null) return;
int len = Source.Length;
int r;
//暫存用
T tmp;
for (int i = 0; i < len - 1; i++)
{
//取亂數,範圍包含最小值,不包含最大值
r = Random.Range(i, len);
//如果一樣則重取
if (i == r) continue;
//取亂數後的索引與原來的交換
tmp = Source[i];
Source[i] = Source[r];
Source[r] = tmp;
}
}
}
- 將陣列傳入
- 原理就是把陣列的索引打亂
▌歡迎轉載,但務必註明出處!!
文章標籤
全站熱搜
