예제 #1
0
            List<shuffable> Randomize(shuffable[] list)
            {
                List<shuffable> randomized = new List<shuffable>();
                List<shuffable> original = new List<shuffable>(list);

                while (original.Count > 0)
                {
                    int index = r.Next(original.Count);
                    randomized.Add(original[index]);
                    original.RemoveAt(index);
                }

                return randomized;
            }
예제 #2
0
            public shuffable[] Shuffle(shuffable[] list)
            {
                List<shuffable> l = new List<shuffable>();
                for (int i = 0; i < shuffle; i++)
                {
                    l.Add(list[i]);
                }
                List<shuffable> rr = Randomize(l.ToArray());
                for (int i = shuffle; i < list.Length; i++)
                {
                    rr.Add(list[i]);
                }

                return rr.ToArray();
            }