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

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

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

Приветствую, друзья! Насобирал такой код изменяющий цвет консоли по нажатию на клавиши:
Листинг программы
  1. using System;
  2. namespace Цвета_консоли
  3. {
  4. class Program
  5. {
  6. static void Main()
  7. {
  8. //Получение имени цвета в массив.
  9. // (typeof(ConsoleColor) не очень понятно.
  10. String[] colorNames = ConsoleColor.GetNames(typeof(ConsoleColor));
  11. //=====================================================================
  12. //Формирование счетчика со сравнением. colorNames.Length показывает индекс цвета в массиве?
  13. for (int x = 0; x < colorNames.Length; x++)
  14. {
  15. //Начинаем с черного
  16. Console.BackgroundColor = ConsoleColor.Black;
  17. //Тут возможно есть лишний код. Как он работает?
  18. Console.BackgroundColor = (ConsoleColor)Enum.Parse(typeof(ConsoleColor), colorNames[x]);
  19. //Тщательно чистим экран
  20. Console.Clear();
  21. Console.WriteLine("Тыкайте любые клавиши");
  22. //=====================================================================
  23. ; Console.ReadKey();
  24. }
  25. }
  26. }
  27. }
Как к нему прицепить таймер, чтобы цвет менялся плавно менялся цвет консоли? (смотрел fromRGB, не понял как подключить) И подскажите пожалуйста следующие моменты: // (typeof(ConsoleColor) не очень понятно.
Листинг программы
  1. String[] colorNames = ConsoleColor.GetNames(typeof(ConsoleColor));
//Формирование счетчика со сравнением. colorNames.Length показывает индекс цвета в массиве?
Листинг программы
  1. for (int x = 0; x < colorNames.Length; x++)
//Тут возможно есть лишний код. Как он работает?
Листинг программы
  1. Console.BackgroundColor = (ConsoleColor)Enum.Parse(typeof(ConsoleColor), colorNames[x]);

Решение задачи: «Плавное изменение цвета консоли»

textual
Листинг программы
  1. using System;
  2.  
  3.  
  4. using System.Threading;
  5.  
  6. namespace ConsoleColoring
  7. {
  8.     class Program
  9.     {
  10.  
  11.         static void DrawSpace()
  12.         {
  13.             string []colors = Enum.GetNames(typeof(ConsoleColor));
  14.             Random rnd=new Random();
  15.  
  16.             Console.BackgroundColor =(ConsoleColor)Enum.Parse(typeof(ConsoleColor), colors[rnd.Next(0,colors.Length)]);
  17.             for (int i = 0; i < 25; i++)
  18.             {
  19.                 if(i%3==0)
  20.                     Thread.Sleep(200);
  21.                 Console.WriteLine(new string(' ',60));
  22.             }
  23.         }
  24.         static void Main(string[] args)
  25.         {
  26.             Console.SetWindowSize(60,29);
  27.             Console.Title = "~~~~Console~~~~~~";
  28.             while (true)
  29.             {
  30.                
  31.               DrawSpace();
  32.                 Console.SetCursorPosition(10,25);
  33.                 Console.ReadKey(true);
  34.                 Console.SetCursorPosition(0,0);
  35.             }
  36.         }
  37.        
  38.     }
  39. }

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


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

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

12   голосов , оценка 3.75 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы