Archiv verlassen und diese Seite im Standarddesign anzeigen : Tastatur abfragen
felix_do
29-12-2003, 15:28
Hallo,
für ein Spiel möchte ich in einer Schleife herausfragen, ob der Benutzer eine Taste gedrückt hat, und wenn ja, welche. also etwa so:
for(;;){
if (char c = Benutzer_hat_Tastegedrückt()){
break;
}
}
Ich suche die Lösung für c/c++, wer weiss wie das in Java geht kann sich aber auch melden..
guten Rutsch, Felix
peschmae
29-12-2003, 16:38
gui oder konsole?
Wenn konsole gibts da glaubich ein "getchar()" - Kommando
Hatten wir kürzlich mal irgendwo...
MfG Peschmä
Ich kann dir so ungefähr sagen wies in Java geht:
(Code ist paktisch nur pseudocode, sind sicher fehler drinnen....)
[code]
BufferedReader inReader = new BufferedReader(InputStreamReader(System.in));
int ch;
while(ch = inReader.read())
{
if(ch==??)
break;
}
peschmae
29-12-2003, 17:43
scheint mir fast zu stimmen. Aber eher so:
int ch;
while(true)
{
try {
ch = inReader.read()
}
catch(IOException e) {}
if(ch==??)
break;
}
MfG Peschmä
felix_do
29-12-2003, 21:46
Danke. Aus nem anderen Forum hab ich eine c++ loesung bekommen mit getch()
Danke. Aus nem anderen Forum hab ich eine c++ loesung bekommen mit getch()
für die Zukunft: Falls du Lösungen hast, die nicht gepostet wurde, poste sie doch für Andere, weleche evtl. das gleiche Problem haben sollten ;-)
greets
f0rtex
Schau besser in die ncurses lib, die haben dort ganz sicher so eine funktion (bin beim lesen der doku drübergestolpert, hab aber nicht daran gedacht). Die ist portabel und GNU :-)
felix_do
30-12-2003, 11:25
Du meinst doch das getch() aus conio.h?
Das ist schlecht, böse, grausam, furchtbar!
Und das schlimmste ist: Es ist nicht portabel!
Schau besser in die ncurses lib[...]
Aus dem c-plusplus.de Forum:
Hi, du kannst das so machen:
#include <conio.h>
bool b= true;
while(b)
{
if (kbhit())
{
cout << getch() << endl;
break;
}
}
Danke für den Tipp mit Ncurses, da ich die eh zum zeichnen benutze. Kennt jemand ne gute Doku für die Ncurses-Libs? Bitte nicht RTFM...
felix_do
30-12-2003, 23:32
Hab eben noch was gefunden:
http://hpcf.nersc.gov/vendor_docs/ibm/libs/basetrf2/getch.htm
http://hpcf.nersc.gov/vendor_docs/ibm/libs/basetrf2/nodelay.htm
Powered by vBulletin® Version 4.2.5 Copyright ©2025 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.