Dosbox eingabebefehl der nicht wartet
-
Hallo,
ich warge mich grade an ein neues spiele projekt ran (natürlich noch in der dos box)
das problemm ist das wenn ich z.B. mit s springe wartet er oben dann auf die nächste eingabe (mann soll zurseite springen können)er soll aber nur ca. ne halbe sec warten und dann wieder weiter machen wenn keine eingabe erfolgt fällt er wieder runter, wenn eine erfolgt soll er sich in der luft bewegen.
ich suche also einen eingabe befehl der nur eine bestümmte zeit warte.
danke schon im voraus.wilko
-
Dieser Thread wurde von Moderator/in estartu aus dem Forum MFC (Visual C++) in das Forum DOS und Win32-Konsole verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
schau dir mal _kbhit() an ...
zu finden in conio.h
-
könntes du mir einen code posten ein Bsp. oder so was
ich benutze dev c++
danke
-
int vote = 0; cout << "Willst du es tun?, ja oder nein? Ja[1] / Nein[2]."; if( kbhit( ) ) { vote = getch( ); switch( vote ) { case '1': { cout << "Antwort \"Ja\"" << endl; break; } case '2': { cout << "Antwort \"Nein\"" << endl; break; } default: { cout << "Ungueltiger befehl!" << endl; } } // weiter im programm
bidde schön...
Gruß Tobi.
-
Moin,
Was willst du?
Willst du es einrichten, das der PC eine bestimmte Zeit auf eigaben wartet, und danach etwas anderes macht?
Ich muss dich enttäuschen, eine solche Funktion gibt es nicht (wenn doch lass es mich wissen). So eine funktion musst du dir selber schreiben.Meine Version der Funktion sieht so aus:
int wait_for_instructions(int time) { int t = 0; int e = 0; while(t < time) { kbhit(); e = getch(); if(e != 0) { return e; } t++; } return 0; }
Die Funktion liefert dir entweder die Eingabe oder 0 wenn keine Eingabe erfolgt ist.
Für time musst du als Parameter eine wahrscheinlich große Zahl übergeben.
Ich würde das mal austesten. Die größe von time hängt von deiner Rechnerarchitektur ab.
Hast du einen schnellen Rechner muss time größer sein als bei einem langesamen Rechner wenn du auf beiden die selbe Zeit warten willst.
--> Wenn du also nicht planst dein Program auf anderen Rechnern laufen zu lassen kannst du hiermit Arbeiten.Es gibt auch noch eine Ctime Funktion/Hearderdatei
Schaumal was du da finden kannst.Wenn du die sache anders als mit meiner Funktion löst, poste ma deine Lösung.
Viele Grüße
David