Ich versuchs ja, aber wie du ja selbst gesagt hast, gibt es keine andere Funktion mit der das geht und getch () ist eben in conio.h. Außerdem schreibe ich (noch) auf WIndows. Und da es keine Möglichkeit gibt, es Linux und WIndows recht zu machen, musste ich mich für Windows entscheiden.Also so wies aussieht hat dein Avatar aber nichts mit Plattformübergreifender Programmierung zu tun, oder?
Begrenzte Zeit für Eingabe
Re: Begrenzte Zeit für Eingabe
- Xin
- nur zu Besuch hier
- Beiträge: 8861
- Registriert: Fr Jul 04, 2008 11:10 pm
- Wohnort: /home/xin
- Kontaktdaten:
Re: Begrenzte Zeit für Eingabe
Wenn SDL das kann, dann passt es doch portabel!?dani93 hat geschrieben:Ich versuchs ja, aber wie du ja selbst gesagt hast, gibt es keine andere Funktion mit der das geht und getch () ist eben in conio.h. Außerdem schreibe ich (noch) auf WIndows. Und da es keine Möglichkeit gibt, es Linux und WIndows recht zu machen, musste ich mich für Windows entscheiden.Also so wies aussieht hat dein Avatar aber nichts mit Plattformübergreifender Programmierung zu tun, oder?
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.
Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.
Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.
Re: Begrenzte Zeit für Eingabe
Code: Alles auswählen
#include<stdio.h>
#include<stdlib.h>
/* Systemkonstante setzen */
#ifdef WINDOWS
#define ERASE "cls"
#elif LINUX
#define ERASE "clear"
#endif
int main(){
/* ... */
system(ERASE);
/* ... */
getchar();
/* ... */
return 0;
}
Re: Begrenzte Zeit für Eingabe
Bei 'getchar' gibt es nur das Problem, dass man jede Eingabe mit Enter bestätigen muss, was bei einer Spielsteuerung über die Pfeiltasten etwas ungeeignet seien dürfte. Also ich würde auch zur SDL raten, oder für einfache Versuche unter Windows zur Not auf die WinAPI mit 'GetAsyncKeyState()' zurückgreifen.Metamorph hat geschrieben:Code: Alles auswählen
#include<stdio.h> #include<stdlib.h> /* Systemkonstante setzen */ #ifdef WINDOWS #define ERASE "cls" #elif LINUX #define ERASE "clear" #endif int main(){ /* ... */ system(ERASE); /* ... */ getchar(); /* ... */ return 0; }
"Make it idiot-proof and someone will invent an even better idiot." (programmers wisdom)
OpenGL Tutorials und vieles mehr rund ums Programmieren: http://www.tomprogs.at
OpenGL Tutorials und vieles mehr rund ums Programmieren: http://www.tomprogs.at
- Dirty Oerti
- Beiträge: 2229
- Registriert: Di Jul 08, 2008 5:05 pm
- Wohnort: Thurndorf / Würzburg
Re: Begrenzte Zeit für Eingabe
Mit SDL wäre das wie schon gesagt auch nicht sonderlich schwierig.
Bei Fragen einfach an daniel[ät]proggen[Punkt]org
Ich helfe gerne!
----------
Wenn du ein Licht am Ende des Tunnels siehst, freu dich nicht zu früh! Es könnte ein Zug sein, der auf dich zukommt!
----
It said: "Install Win95 or better ..." So I installed Linux.
Ich helfe gerne!
----------
Wenn du ein Licht am Ende des Tunnels siehst, freu dich nicht zu früh! Es könnte ein Zug sein, der auf dich zukommt!
----
It said: "Install Win95 or better ..." So I installed Linux.
Re: Begrenzte Zeit für Eingabe
Ja, es ist wirklich ganz einfach. Man muss nur unter Windows ein Archiv entpacken oder unter Linux ein Packet installieren und schon kann man die SDL verwenden. Auf meiner Hompage hab ich auch ein Tutorial geschrieben, wie man die SDL initialisiert. Und ein Tutorial über Eingaben ist gerade in Arbeit.Dirty Oerti hat geschrieben:Mit SDL wäre das wie schon gesagt auch nicht sonderlich schwierig.
Da könntest auch gleich mit OpenGL weitermachen
"Make it idiot-proof and someone will invent an even better idiot." (programmers wisdom)
OpenGL Tutorials und vieles mehr rund ums Programmieren: http://www.tomprogs.at
OpenGL Tutorials und vieles mehr rund ums Programmieren: http://www.tomprogs.at
Re: Begrenzte Zeit für Eingabe
Und genau deshalb brauch ich getch () (falls ich es ohne SDL mache).Kerli hat geschrieben:Bei 'getchar' gibt es nur das Problem, dass man jede Eingabe mit Enter bestätigen muss, was bei einer Spielsteuerung über die Pfeiltasten etwas ungeeignet seien dürfte.
Ich zitiere mich ungern selbst, aber:
Werd mir mal dein Tutorial ansehen.dani93 hat geschrieben:Das löst das Problem mit den Tasten, aber nicht mit dem Zeitlimit. Welche Dateien muss ich jetzt herunterladen, und wo genau entpacken/installieren?Dirty Oerti hat geschrieben: Aber wenn du das anders auch hinbekommst...
Und wie definiere ich, ob es WINDOWS oder LINUX sein soll?Metamorph hat geschrieben:Code: Alles auswählen
#include<stdio.h> #include<stdlib.h> /* Systemkonstante setzen */ #ifdef WINDOWS #define ERASE "cls" #elif LINUX #define ERASE "clear" #endif int main(){ /* ... */ system(ERASE); /* ... */ getchar(); /* ... */ return 0; }
Re: Begrenzte Zeit für Eingabe
Hier hab ich einen guten Beitrag dazu gefunden. Für erste Versuche ist 'getch' sicher nicht schlecht, für was größeres solltest du dann aber besser was anderes nehmen.dani93 hat geschrieben:Und genau deshalb brauch ich getch () (falls ich es ohne SDL mache).Kerli hat geschrieben:Bei 'getchar' gibt es nur das Problem, dass man jede Eingabe mit Enter bestätigen muss, was bei einer Spielsteuerung über die Pfeiltasten etwas ungeeignet seien dürfte.
Ein neuer Leser Sag mir dann bitte ob es funktioniert hat und ob es verständlich bzw. vollständig genug war.dani93 hat geschrieben: Ich zitiere mich ungern selbst, aber:Werd mir mal dein Tutorial ansehen.dani93 hat geschrieben:Das löst das Problem mit den Tasten, aber nicht mit dem Zeitlimit. Welche Dateien muss ich jetzt herunterladen, und wo genau entpacken/installieren?Dirty Oerti hat geschrieben: Aber wenn du das anders auch hinbekommst...
Versuchs einmal mit:dani93 hat geschrieben:Und wie definiere ich, ob es WINDOWS oder LINUX sein soll?Metamorph hat geschrieben:Code: Alles auswählen
#include<stdio.h> #include<stdlib.h> /* Systemkonstante setzen */ #ifdef WINDOWS #define ERASE "cls" #elif LINUX #define ERASE "clear" #endif int main(){ /* ... */ system(ERASE); /* ... */ getchar(); /* ... */ return 0; }
Code: Alles auswählen
#ifdef _WIN32
#define ERASE "cls"
#else
#define ERASE "clear"
#endif
"Make it idiot-proof and someone will invent an even better idiot." (programmers wisdom)
OpenGL Tutorials und vieles mehr rund ums Programmieren: http://www.tomprogs.at
OpenGL Tutorials und vieles mehr rund ums Programmieren: http://www.tomprogs.at
Re: Begrenzte Zeit für Eingabe
Was mir spontan dazu einfällt ist, zuvor schon auf den verwendeten Compiler hinzuweisen. Du erwähnst MinGW erst bei dem entpacken von SDL. So, weiter hab ich noch nicht gelesen.Ein neuer Leser Sag mir dann bitte ob es funktioniert hat und ob es verständlich bzw. vollständig genug war.
Gut zu wissen, Thx.'_WIN32' wird von allen Kompilern unter Windows automatisch definiert.
Re: Begrenzte Zeit für Eingabe
Danke, auf das bin ich eigentlich gar nicht wirklich gekommen Am Besten wird ws eh sein, wenn ich zuerst einmal ein paar Extraartikel schreib, in denen jeweils für eine Plattform und für einen Kompiler beschrieben wird, wie man es dort einrichtet.dani93 hat geschrieben:Was mir spontan dazu einfällt ist, zuvor schon auf den verwendeten Compiler hinzuweisen. Du erwähnst MinGW erst bei dem entpacken von SDL. So, weiter hab ich noch nicht gelesen.Ein neuer Leser Sag mir dann bitte ob es funktioniert hat und ob es verständlich bzw. vollständig genug war.
Diese Seite kann oft recht nützlich sein, wenn man nachschauen möchte, welche Makros wann definiert sind.dani93 hat geschrieben:Gut zu wissen, Thx.'_WIN32' wird von allen Kompilern unter Windows automatisch definiert.
"Make it idiot-proof and someone will invent an even better idiot." (programmers wisdom)
OpenGL Tutorials und vieles mehr rund ums Programmieren: http://www.tomprogs.at
OpenGL Tutorials und vieles mehr rund ums Programmieren: http://www.tomprogs.at