Плавное изменение цвета консоли - C#

Узнай цену своей работы

Формулировка задачи:

Приветствую, друзья! Насобирал такой код изменяющий цвет консоли по нажатию на клавиши:
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();
        }
        }
    }
}
Как к нему прицепить таймер, чтобы цвет менялся плавно менялся цвет консоли? (смотрел fromRGB, не понял как подключить) И подскажите пожалуйста следующие моменты: // (typeof(ConsoleColor) не очень понятно.
            String[] colorNames = ConsoleColor.GetNames(typeof(ConsoleColor));
//Формирование счетчика со сравнением. colorNames.Length показывает индекс цвета в массиве?
       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);
            }
        }
       
    }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 3.75 из 5
Похожие ответы