случайное изменение цвета переднего плана и фона в c # - PullRequest
0 голосов
/ 12 декабря 2018

У меня есть код, который случайным образом выбирает строку из массива, а затем использует эту соответствующую строку для изменения цвета фона.То же самое делается для переднего плана, но кода много, и если бы я хотел добавить больше цветов, это заняло бы довольно много времени.Какие-нибудь советы?

Вот код:

 static void Main(string[] args)
        {
            Random random = new Random();
            Console.WriteLine("Input your name: ");
            string yourName = Console.ReadLine();
            while (true)
                {
                string[] colours = new string[5] {"red" , "white", "yellow" , "magenta" , "blue" };
                int backColour = random.Next(0,5);
                if (backColour == 0)
                {
                    Console.BackgroundColor = ConsoleColor.Red;
                }
                if (backColour == 1)
                {
                    Console.BackgroundColor = ConsoleColor.White;
                }
                if (backColour == 2)
                {
                    Console.BackgroundColor = ConsoleColor.Yellow;
                }
                if (backColour == 3)
                {
                    Console.BackgroundColor = ConsoleColor.Magenta;
                }
                if (backColour == 4)
                {
                    Console.BackgroundColor = ConsoleColor.Blue;
                }

                int frontColour = random.Next(0, 5);
                if (frontColour == 0)
                {
                    Console.ForegroundColor = ConsoleColor.Red;
                }
                if (frontColour == 1)
                {
                    Console.ForegroundColor = ConsoleColor.White;
                }
                if (frontColour == 2)
                {
                    Console.ForegroundColor = ConsoleColor.Yellow;
                }
                if (frontColour == 3)
                {
                    Console.ForegroundColor = ConsoleColor.Magenta;
                }
                if (frontColour == 4)
                {
                    Console.ForegroundColor = ConsoleColor.Blue;
                }


                Console.Write("All work and no pla`enter code here`y makes " + yourName + " a dull person! ");
                Console.Clear();
                }
        }

Большое спасибо!

1 Ответ

0 голосов
/ 12 декабря 2018

Выберите цвета вместо int -> string[] -> color

ConsoleColor[] colours = { ConsoleColor.Red, 
                           ConsoleColor.White, 
                           ConsoleColor.Yellow, 
                           ConsoleColor.Magenta, 
                           ConsoleColor.Blue };
Console.BackgroundColor = colours[random.Next(0, colours.Length)];
Console.ForegroundColor = colours[random.Next(0, colours.Length)];
...