Пишу игру в командной строке (да, я поехавший, у меня уже много игр выпущено) Так вот, есть цикл, который выводит на экран числа от 1 до 8 (в самом проекте он выводит спрайты бега персонажа), если кнопка нажата. Если кнопка не нажата - выводится frame_0 (просто анимацию ходьбы я уже сделал, а стояние - дорабатываю). Так вот, проблема заключается в том, что если в определенный момент перестать нажимать на кнопку, то не выведется frame_0, а застынет число(номер спрайта). Вот сам код
for (int i = 1; i < 9; i++)
{
if (!Console.KeyAvailable){ Console.Clear(); Console.Write("frame_0");}
else while (Console.KeyAvailable){ Console.ReadKey(true); }
key = Console.ReadKey(false).Key;
Console.Clear();
Console.Write(i);
Thread.Sleep(100);
}
(Я использую key = Console.ReadKey(false).Key, чтобы потом в зависимости от нажатой клавиши двигать персонажа)
Мне кажется, что это неисправимо, но вдруг вы чего сможете подсказать