Плавное изменение цвета консоли - C#
Формулировка задачи:
Приветствую, друзья!
Насобирал такой код изменяющий цвет консоли по нажатию на клавиши:
Как к нему прицепить таймер, чтобы цвет менялся плавно менялся цвет консоли? (смотрел fromRGB, не понял как подключить)
И подскажите пожалуйста следующие моменты:
// (typeof(ConsoleColor) не очень понятно.
//Формирование счетчика со сравнением. colorNames.Length показывает индекс цвета в массиве?
//Тут возможно есть лишний код. Как он работает?
Листинг программы
- using System;
- namespace Цвета_консоли
- {
- class Program
- {
- static void Main()
- {
- //Получение имени цвета в массив.
- // (typeof(ConsoleColor) не очень понятно.
- String[] colorNames = ConsoleColor.GetNames(typeof(ConsoleColor));
- //=====================================================================
- //Формирование счетчика со сравнением. colorNames.Length показывает индекс цвета в массиве?
- for (int x = 0; x < colorNames.Length; x++)
- {
- //Начинаем с черного
- Console.BackgroundColor = ConsoleColor.Black;
- //Тут возможно есть лишний код. Как он работает?
- Console.BackgroundColor = (ConsoleColor)Enum.Parse(typeof(ConsoleColor), colorNames[x]);
- //Тщательно чистим экран
- Console.Clear();
- Console.WriteLine("Тыкайте любые клавиши");
- //=====================================================================
- ; Console.ReadKey();
- }
- }
- }
- }
Листинг программы
- String[] colorNames = ConsoleColor.GetNames(typeof(ConsoleColor));
Листинг программы
- for (int x = 0; x < colorNames.Length; x++)
Листинг программы
- Console.BackgroundColor = (ConsoleColor)Enum.Parse(typeof(ConsoleColor), colorNames[x]);
Решение задачи: «Плавное изменение цвета консоли»
textual
Листинг программы
- using System;
- using System.Threading;
- namespace ConsoleColoring
- {
- class Program
- {
- static void DrawSpace()
- {
- string []colors = Enum.GetNames(typeof(ConsoleColor));
- Random rnd=new Random();
- Console.BackgroundColor =(ConsoleColor)Enum.Parse(typeof(ConsoleColor), colors[rnd.Next(0,colors.Length)]);
- for (int i = 0; i < 25; i++)
- {
- if(i%3==0)
- Thread.Sleep(200);
- Console.WriteLine(new string(' ',60));
- }
- }
- static void Main(string[] args)
- {
- Console.SetWindowSize(60,29);
- Console.Title = "~~~~Console~~~~~~";
- while (true)
- {
- DrawSpace();
- Console.SetCursorPosition(10,25);
- Console.ReadKey(true);
- Console.SetCursorPosition(0,0);
- }
- }
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д