Я пытаюсь сделать свою первую игру на C # для консоли. Я создал центрированное кредитное вступление с надписью «нажмите любую клавишу, чтобы продолжить ...» в конце. Я использовал Console.ReadKey()
для эмуляции паузы, пока она ждет ввода пользователя. Проблема в том, что вы можете «складывать» входы, возможно, есть более подходящий термин, но, по сути, в то время как консоль находится в состоянии тайм-аута, ключевые входы все еще читаются и ставятся в очередь до истечения времени ожидания. например;
//10 second wait
//this is where I would press a key
Thread.Sleep(10000);
char x = Console.ReadKey().KeyChar;
//x will be equal to whatever key I pressed before the timeout
это не та функциональность, которой я занимаюсь. есть ли у кого-нибудь решение этого вопроса, например;не используйте Thread.Sleep()
или Console.ReadKey()
Если вы все еще не поняли вопрос, нажмите клавишу, пока действует Thread.Sleep()
, и клавиша чтения по истечении времени напечатает этот символ. Кто-нибудь знает, как остановить чтение ключа?
Если вам нужен реальный код проекта, просто спросите. Хотя я считаю это неуместным для этого вопроса.