Beispiel #1
0
 public static T Random <T>(this List <T> l)
 {
     if (l.Count == 0)
     {
         return(default(T));
     }
     return(l[Global.Roll(l.Count) - 1]);
 }
Beispiel #2
0
        public static T RemoveRandom <T>(this List <T> l)
        {
            if (l.Count == 0)
            {
                return(default(T));
            }
            T result = l[Global.Roll(l.Count) - 1];

            l.Remove(result);
            return(result);
        }
Beispiel #3
0
        public static Color ResolveColor(Color c)
        {
            switch (c)
            {
            case Color.RandomFire:
                switch (Global.Roll(1, 3))
                {
                case 1:
                    return(Color.Red);

                case 2:
                    return(Color.DarkRed);

                case 3:
                    return(Color.Yellow);

                default:
                    return(Color.Black);
                }

            case Color.RandomIce:
                switch (Global.Roll(1, 4))
                {
                case 1:
                    return(Color.White);

                case 2:
                    return(Color.Cyan);

                case 3:
                    return(Color.Blue);

                case 4:
                    return(Color.DarkBlue);

                default:
                    return(Color.Black);
                }

            case Color.RandomLightning:
                switch (Global.Roll(1, 4))
                {
                case 1:
                    return(Color.White);

                case 2:
                    return(Color.Yellow);

                case 3:
                    return(Color.Yellow);

                case 4:
                    return(Color.DarkYellow);

                default:
                    return(Color.Black);
                }

            case Color.RandomPrismatic:
                switch (Global.Roll(3))
                {
                case 1:
                    return(Color.Red);

                case 2:
                    return(Color.Blue);

                case 3:
                    return(Color.Yellow);

                default:
                    return(Color.Black);
                }

            case Color.RandomDark:
                switch (Global.Roll(7))
                {
                case 1:
                    return(Color.DarkBlue);

                case 2:
                    return(Color.DarkCyan);

                case 3:
                    return(Color.DarkGray);

                case 4:
                    return(Color.DarkGreen);

                case 5:
                    return(Color.DarkMagenta);

                case 6:
                    return(Color.DarkRed);

                case 7:
                    return(Color.DarkYellow);

                default:
                    return(Color.Black);
                }

            case Color.RandomBright:
                switch (Global.Roll(8))
                {
                case 1:
                    return(Color.Blue);

                case 2:
                    return(Color.Cyan);

                case 3:
                    return(Color.Gray);

                case 4:
                    return(Color.Green);

                case 5:
                    return(Color.Magenta);

                case 6:
                    return(Color.Red);

                case 7:
                    return(Color.Yellow);

                case 8:
                    return(Color.White);

                default:
                    return(Color.Black);
                }

            default:
                return(c);
            }
        }