c # konsola wąż utknie na długim naciśnięciu klawisza

Właśnie zacząłem uczyć się programowania kilka miesięcy temu i postanowiłem zrobić konsolową grę snake. Wszystko działa świetnie, oczekując na jedno.

Jeśli mój wąż idzie w górę i naciskam strzałkę w dółi trzymaj to wciśnięte, mój wąż po prostu zatrzymuje się i zostaje zatrzymany nawet chwilę po tym, jak przestanę naciskać przycisk.

To samo dzieje się, gdy mój wąż idzie w prawo i zbyt długo naciskam strzałkę w prawo, tracę kontrolę na pewien czas (ale wąż nie zatrzymuje się). Zdarza się to w każdy sposób (w lewo, w prawo, w górę, w dół).

Próbowałem porównać cki z innym ConsoleKeyInfo z niewielkim opóźnieniem między nimi, ale to nie ma znaczenia. Jeśli trzymam wciśnięty klawisz, mój program po prostu pozostaje na miejscu i aktualizuje klucz. (przynajmniej myślę, że to problem)

Czy jest to „cecha” Console.ReadKey, czy jest to w jakiś sposób z tym związane?

Pamiętaj, że właśnie zacząłem, więc jeszcze nie wiem o zaawansowanych rzeczach.

Wszystko działa bez zarzutu, o ile nie trzymam klucza wciśniętego dłużej niż 1 sekundę.

   public void LiikutaMato() //movesnake
    {

        if (Console.KeyAvailable)
        {
                ConsoleKeyInfo cki;
                cki = Console.ReadKey(true); // <-- I believe this is where it gets stuck 

    }

questionAnswers(1)

yourAnswerToTheQuestion