I want to randomise QuestionWords1 List strings so they don’t repeat together, but all are played 3 times
Any help appreciated.
Headscratching Noob
I did try Fisher–Yates shuffle but it still didn’t seem random enough and still clumped words together
![alt text][2]
public static void ShuffleListExtension<T>(this IList<T> list)
{
int n = list.Count;
while (n > 1)
{
n--;
int k = ThreadSafeRandom.ThisThreadsRandom.Next(n + 1);
T value = list[k];
list[k] = list[n];
list[n] = value;
Debug.Log("ShuffleListExtension index@ " + value);
//***Each word must be repeated 3 times
//but hopefully separated
}
}
public static class ThreadSafeRandom
{
[ThreadStatic] private static Random Local;
public static Random ThisThreadsRandom
{
get { return Local ?? (Local = new Random(unchecked(Environment.TickCount * 31 +
Thread.CurrentThread.ManagedThreadId)));
}
}
}