Anzeige:
Ergebnis 1 bis 9 von 9

Thema: Tastatur abfragen

  1. #1
    Registrierter Benutzer
    Registriert seit
    07.12.2002
    Beiträge
    14

    Tastatur abfragen

    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

  2. #2
    Registrierter Benutzer Avatar von peschmae
    Registriert seit
    14.03.2002
    Ort
    Schweizland
    Beiträge
    4.549
    gui oder konsole?

    Wenn konsole gibts da glaubich ein "getchar()" - Kommando

    Hatten wir kürzlich mal irgendwo...

    MfG Peschmä
    The greatest trick the Devil ever pulled was convincing the world he didn't exist. -- The Usual Suspects (1995)
    Hey, I feel their pain. It's irritating as hell when people act like they have rights. The great old one (2006)

  3. #3
    Registrierter Benutzer
    Registriert seit
    16.09.2001
    Beiträge
    1.182

    In Java...

    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;
    }
    Geändert von Lin728 (19-08-2017 um 21:53 Uhr)

  4. #4
    Registrierter Benutzer Avatar von peschmae
    Registriert seit
    14.03.2002
    Ort
    Schweizland
    Beiträge
    4.549
    scheint mir fast zu stimmen. Aber eher so:

    Code:
    int ch;
    while(true)
    {
      try {
        ch = inReader.read()
      }
      catch(IOException e) {}
    
      if(ch==??)
        break;
    }
    MfG Peschmä
    The greatest trick the Devil ever pulled was convincing the world he didn't exist. -- The Usual Suspects (1995)
    Hey, I feel their pain. It's irritating as hell when people act like they have rights. The great old one (2006)

  5. #5
    Registrierter Benutzer
    Registriert seit
    07.12.2002
    Beiträge
    14
    Danke. Aus nem anderen Forum hab ich eine c++ loesung bekommen mit getch()

  6. #6
    Registrierter Benutzer
    Registriert seit
    04.07.1999
    Ort
    Zürich
    Beiträge
    221
    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
    Doctrína est fructus dulcis radícis amárae.

  7. #7
    Registrierter Benutzer
    Registriert seit
    16.09.2001
    Beiträge
    1.182
    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 :-)
    Geändert von Lin728 (19-08-2017 um 21:54 Uhr)

  8. #8
    Registrierter Benutzer
    Registriert seit
    07.12.2002
    Beiträge
    14
    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:

    Code:
    #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...

  9. #9

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •