Eingabe mit Counter
-
Grüßgott,
Das hier ist mein 1.Beitrag in diesem Forum. Bitte nehmt mir nicht übel, wenn ich das Falsche Thema gewählt habe.
Zu meiner Frage :
Ich würde gerne eine Eingabe vornehmen (getch();) und diese Eingabe mit einem Counter versehen, wenn dieser Counter abläuft, soll der getch(); Befehl übersprungen werden. Wird für die Programmierung von Snake benötigt.
Bitte um Hilfe !
Danke
-
Dieser Thread wurde von Moderator/in SeppJ aus dem Forum C (C89, C99 und C11) in das Forum Spiele-/Grafikprogrammierung verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
...
-
Danke für die rasche Antwort.
Aber das ist nicht das wonach ich gesucht habe.
Bei Snake läuft die Schlange ja gerade aus weiter, bis man ihr sagt sie soll die Richtung ändern. Bei meinen Programm habe ich aber das Problem, dass die Schlange solange steht bis ich etwas eingebe.
int main() { Schlange L; char c; while (7==7) { system("CLS"); L.Rend(); L.SchlangeSet(); //Koordinaten dem ZweiDimensionalen Array mitteilen L.SchlangeSee(); //Ausgabe des ZweiDimensionalen Array c = getch(); //Dieser Befehl soll übersprungen werden, wenn 1 Sekunde vorbei ist L.SchlangeMove(c); } }
So eine Art Thread.
Bitte um Hilfe
-
...
-
...
-
...
-
Ok, stimmt, danach habe ich gesucht, danke
Dadurch ich Visual Studio 2012 verwende, habe ich eigen Header-Dateien und Klassen, wäre zum Kopieren sehr lang.
Jetzt muss ich nur noch _kbhit in mein Programm einbauen.
Danke
-
...
-
es geht schon.
Willsd du trotzdem den Code für ein 2D- Schwarz-Weises, ruckelndes Snake haben ?
-
willkommen im forum
ich glaube wenn es funzt, brauchst du den code wohl nicht mehr posten.
du kannst aber das naechste mal wenn du ein problem hast, code zur einsicht posten, dann steigerst du die chance dass man dir zielsicher hilft. du kannst dann natuerlich hier alles posten, allerdings kann das schnell die uebersicht verschlechtern wenn hier seiten an unnoetigen code sind. benutzt also im optimal fall unsere code tags fuer die wichtigen abschnitte und poste zur not noch mehr mittels z.B. http://nopaste.info/
falls du graphische probleme hast, hilft ein screenshot den du z.b. bei imageshake hochlaedst und dann den link postest natuerlich auch weiter.
-
Vielen Dank für die Informationen, werde ich in Zukunft berücksichtigen
-
Der Code von Swordfish enthält eine gewisse Nachlässigkeit, da er nur auf 0xE0 und nicht auch auf 0 bei _getch() prüft.
Zitat Microsoft-Hilfe: "When reading a function key or an arrow key, each function must be called twice; the first call returns 0 or 0xE0, and the second call returns the actual key code."
-
...
-
Swordfish schrieb:
_getch schrieb:
Der Code von Swordfish enthält eine gewisse Nachlässigkeit, da er nur auf 0xE0 und nicht auch auf 0 bei _getch() prüft.
Vor einem Arrow Key kommt von
_getch()
nie nicht0
.Diese Aussage ist wohl etwas gewagt. In alten Implementierungen von getch() (zu DOS-Zeiten !?) kam wohl immer die 0. Bei mir kommt immer noch die 0 über die Pfeiltasten im Ziffernblock (VC 2010). Man sollte es aber allein aus dem Grund,
dass die Routine zum Tastenauslesen möglicherweise auch etwas universeller Verwendung finden könnte, gleich richtig machen, um sich nicht z.B. durch eine Funktionstaste einen Buchstaben einzuhandeln.
-
Ich glaub mein ganzes Programm ist eine Stilblüte