Плавное изменение цвета консоли - 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);
}
}
}
}