Unmittelbare Verarbeitung durch Tastendruck



  • Hi,

    ich brauche ne funktion aus C oder C++ wie getch(); also eine Funktion die eine Unmittelbare Verarbeitung des Tastendrucks verursacht.

    Würd ja gerne getch(); benutzen, doch das ist kein Standard 😞 Gibbet noch ne andere möglichkeit oder irgendeinen "Trick" dafür? z.B. Assembler oder sowas? 😕

    [ Dieser Beitrag wurde am 12.06.2003 um 18:31 Uhr von Ikari editiert. ]



  • Assembler oder sowas?

    Was denn nun? Willst du Standard, dann heißt die Antwort nein und Assembler ist natürlich keine Möglichkeit. Wenn Standard wurscht ist, warum dann nicht einfach eine der vom BS gebotenen Funktionen. Damit spart man sich Assembler.



  • weil ich keine 3 Compilier habe für 3 Verschiedene OS.

    Und mit ASM gehts absolut net? 😕 Und wieso im Standard auch net? 😕



  • Und mit ASM gehts absolut net?

    Assembler ist *immer* platformabhängig.

    Und wieso im Standard auch net?

    Ganz einfach, weil der Standard keine Tastatur kennt. Demzufolge auch kein Tastendruck.

    Ich würde mir einfach *eine* Schnittstelle basteln und diese entsprechend für die einzelnen Platformen implementieren.



  • hm da benutz ich dann besser die SDL 🙂

    bzw. guck mir den Quellcode davon mal an 🙂

    [ Dieser Beitrag wurde am 12.06.2003 um 19:53 Uhr von Ikari editiert. ]



  • Original erstellt von Ikari:
    **bzw. guck mir den Quellcode davon mal an 🙂
    **

    Kommt auf's selbe raus. Die SDL wird da auch keine bs-unabhängige Variante geschrieben haben, sondern hat halt nur den entsprechenden Teil auf alles mögliche portiert (neu programmiert).



  • #include <stdio.h>

    ....
    getchar();

    ....

    //dann klappts auch mit den Tasten



  • @linux
    Die Frage lautete:

    ich brauche ne funktion aus C oder C++ wie getch(); also eine Funktion die eine Unmittelbare Verarbeitung des Tastendrucks verursacht.

    Die Betonung liegt wohl auf *unmittelbar*. Damit fällt getchar aus <cstdlib> natürlich raus.



  • HumeSikkins, du hast recht.

    Gruß



  • hmmm, wie haben es wohl die Profis in PC-Spielen gemacht?



  • Original erstellt von Spieleprogrammierer:
    hmmm, wie haben es wohl die Profis in PC-Spielen gemacht?

    Ne sehr gute Frage, like DOOM oder Duke 3D



  • Original erstellt von Spieleprogrammierer:
    hmmm, wie haben es wohl die Profis in PC-Spielen gemacht?

    Unter DOS schmeißt man den ganzen DOS-Kram und spricht gleich dirket mit der Hardware, unter Windows oder Linux benutzen die Spiele die jeweilige OS-Funktion dafür.



  • hmmm, wie haben es wohl die Profis in PC-Spielen gemacht?

    1. PC-Spiele sind meist für genau eine Platform. In diesem Fall sollte die Antwort klar sein. Man verwendet schlicht die API-Funktionen dieser Platform.
    2. Für den Fall, dass ein Programm portabel sein soll, macht man es genauso wie ich es gesagt habe. Man abstrahiert *eine* gemeinsame Schnittstelle die man im Programm nutzt und schreibt für diese Schnittstelle *mehrere unterschiedliche* Implementationen. Abhängig von der gewählten Platform wird dann die passende Implementation gewählt, übersetzt und gelinkt.

    Im einfachsten Fall kann man auch mit bedingter Compilierung arbeiten. Aber sowas würden Profis natürlich nie tun 🙂


Anmelden zum Antworten