Ich schreibe ein Textabenteuer in C# für eine Schulaufgabe und ich bin schon auf ein Problem gestoßen.Reagieren auf Tastendruck während der Textausgabe in der Konsolenanwendung
habe ich eine Funktion Sätze tippen wie folgt aus:
public static void Zin (string zin)
{
foreach (char c in zin)
{
Console.Write(c);
Thread.Sleep(50);
}
Jetzt das funktioniert, aber ich möchte implementieren, dass, wenn der Spieler die Enter-Taste trifft, wird der Satz sofort auf der Konsole eingegeben werden.
Ich bin mir nicht sicher, wie das geht. Ich habe versucht, eine while-Schleife in der foreach-Schleife, die prüft, ob Eingabe wird getroffen und dann den Satz ausdrucken, aber das funktioniert nicht.
Vielen Dank im Voraus!
Vielen Dank für Ihre Antwort vor allem! Es scheint jedoch noch nicht zu funktionieren. Was genau macht die Console.KeyAvailable-Funktion? –
Was funktioniert nicht? Ich habe das im Code getestet. Die Antwort enthält einen Link zur Dokumentation von Console.KeyAvailable. Klicken Sie einfach auf den Text, um zur Dokumentation zu gelangen. – NineBerry
hmm, in meinem Code passiert nichts, wenn ich die 'Enter'-Taste drücke. Die Konsole schreibt den Satz nur noch Buchstabe für Buchstabe –