Выход из бесконечного цикла по нажатию кнопки - C#

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

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

Всем привет! Я недавно прочитал статью на хабре про игры 30 байт, так вот, там было несколько игр, одна из которых однорукий бандит Вопрос такой: как сделать сделать выход из бесконечного цикла по нажатию, допустим, Enter?
Листинг программы
  1. var k = ConsoleKey.Enter;
  2. var cki = new ConsoleKeyInfo();
  3. char q, w, e;
  4. var rand = new Random();
  5. for (;;)
  6. {
  7. do
  8. {
  9. cki = Console.ReadKey(true); // >_<
  10. Console.Clear();
  11. q = (char) rand.Next('A', 'Z');
  12. w = (char) rand.Next('A', 'Z');
  13. e = (char) rand.Next('A', 'Z');
  14. Console.Write("{0} {1} {2}", q, w, e);
  15. Thread.Sleep(100);
  16. } while (cki.Key != k);
  17. break;
  18. }
  19. if(q==w && w==e) Console.WriteLine("УРА!!1");
  20. else
  21. {
  22. Console.WriteLine("ЛУ3ЕР!!1");
  23. }

Решение задачи: «Выход из бесконечного цикла по нажатию кнопки»

textual
Листинг программы
  1.             var k = ConsoleKey.Enter;
  2.             ConsoleKeyInfo cki;
  3.             char q, w, e;
  4.             var rand = new Random();
  5.            
  6.             do
  7.             {
  8.                 Console.Clear();
  9.                 q = (char)rand.Next('A', 'Z');
  10.                 w = (char)rand.Next('A', 'Z');
  11.                 e = (char)rand.Next('A', 'Z');
  12.                 Console.WriteLine("{0}   {1}   {2}", q, w, e);
  13.  
  14.                 if (q == w && w == e) Console.WriteLine("УРА!!!");
  15.                 else Console.WriteLine("ЛУ3ЕР!!!");
  16.  
  17.                 cki = Console.ReadKey(true);
  18.  
  19.             } while (cki.Key != k);

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


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

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

14   голосов , оценка 3.929 из 5

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

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

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