c # console snake bleibt bei langem Tastendruck stecken

Ich habe gerade vor ein paar Monaten angefangen, Programmieren zu lernen und mich für ein Konsolen-Snake-Spiel entschieden. Zum einen funktioniert alles prima.

Wenn meine Schlange nach oben geht und ich den Pfeil nach unten drückeund gedrückt halten, meine Schlange hört einfach auf und bleibt auch noch eine Weile stehen, nachdem ich aufgehört habe, den Knopf zu drücken.

Das Gleiche passiert, wenn meine Schlange richtig läuft und ich zu lange auf den Pfeil nach rechts drücke. Ich verliere für einige Zeit die Kontrolle (aber die Schlange hört nicht auf). Es passiert in jeder Hinsicht (links, rechts, oben, unten).

Ich habe versucht, das cki mit einem anderen ConsoleKeyInfo zu vergleichen, wobei die Verzögerung zwischen ihnen geringfügig war, aber das ist egal. Wenn ich die Taste gedrückt halte, bleibt mein Programm nur an dieser Stelle und aktualisiert eine Taste. (zumindest denke ich, dass das das Problem ist)

Ist dies ein "Feature" des Console.ReadKey oder gibt es einen Grund dafür?

Denken Sie daran, dass ich gerade erst angefangen habe, damit ich noch nichts über die fortgeschrittenen Dinge weiß.

Alles funktioniert einwandfrei, solange ich die Taste nicht länger als 1 Sek. Gedrückt halte.

   public void LiikutaMato() //movesnake
    {

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

    }

Antworten auf die Frage(1)

Ihre Antwort auf die Frage