synchronisation von ereignissen (oder so ähnlich=)
-
hallo erstmal!
bin neu hier..versuche mich immo in der c++ programmierung in der standard-console und suche nach einer möglichkeit 2 ereignisse unabhäönig voneinander geschehen zu lassen.
z.b. habe ich eine abfrageschleife in der ich eine "spielfigur" steuere. in diese schleife lässt sich ja kaum soetwas wie ein gegner einbauen, der sich konstant in eine richtung bewegt und sich der spieler trotzdem noch bewegen kann. das würde sich ja püberschneiden. kurz: wie kann ich 2 schleifen parallel laufen lassen oder wie ließe sich das sonst realisieren?
vielen dank mfg
-
da reicht auch eine schleife
die sieht bei nem einfachen spiel in etwa so ausschleifenanfang
-frage tastatur ab und bewege spielfigur
-bewege gegner
-zeichne alles neu auf den bildschirmschleifenende
-
so geschieht es ja doch nacheinander. wenn hierbei keine tastatureingabe kommt steht der gegner doch? was wäre z.b. bei einem projektil das vom gegner abgeschossen wird und sich unabhängig von der eingabe fortbewegen, während spieler sich unabhöngig davon bewegt..
-
nein, du musst ja nicht drauf warten, bis der spieler etwas eingegeben hat, sondern du fragst einfach ab, ob der spieler etwas eingegeben hat. Dafür brauchst du aber die WinAPI.
-
achso, danke. in der win32 console geht das also nicht?
-
doch ichg denk schon, dass du directinput auch von nem consolenprogramm aus nutzen kannst
-
DI dafür zu nehmen ist übertrieben

guck ma nach GetAsncKeyState (musst glaub ich windows.h einbinden)
Oder schau nach _kbhit oder __kbhit (kann ich mir nciht merken)
-
ok, danke..
kann mir einer erklären wie ich den wert von _kbhit() auslese?
kann man das so machen?
char c; if(_kbhit()) { //und dann wie den wert auslesen?? c=_kbhit(); switch(c) .... }sry etwas wirr, aber hab ka wie ich das machen soll, speichert kbhit überhaupt den char wert?
-
bool GetKey(char *key) { if (kbhit()) { *key=getch(); return true; }; return false; };
-
dank dir