2 tasten gleichzeitig abfragen
-
hi,
ich habe ein kleines funspiel programmiert in der konsole. dort steuert man so nen typen und es kommt immer ein gegnerauf den mann draufspringen muss.
jetzt will ich aber das der gegner von einem zweiten spieler gesteuert werden kann. Das Problem ist jedoch das wenn man eine taste gedrückt hällt dann wird natürlich immer sofort nach der dieser taste abgebrochen und halt nur diese aktion ausgeführt.hier mal der code schnippsel
if(_kbhit()) a=getch (); //cout.flush(); if(go==false) { switch(a) { case 'a': leerz--; g_leer_counter--; break; case 'd': leerz++; g_leer_counter++; break; case '2': // zeile++; break; case 'w': sprung=true; break; case 'e': sprung=true; leerz++; g_leer_counter++; break; case 'q': sprung=true; leerz--; g_leer_counter--; break; case 'k': if(sprung) player2=3; else player2=1; break; case 'l': if(sprung) player2=-3; else player2=-1; break; case 'c': cout<<"Sie sind im cheater menue. Geben sie ihren cheat ein! "; cin>>cheat; break; default: break; };
hier mal das spiel bevor ich den "multyplayer" einbauen wollte.
http://hansfred.ha.funpic.de/Hansfred.exevllt weis ja jemand wie ich das mit den zwei tasten regeln kann
-
n00b12356 schrieb:
hi,
ich habe ein kleines funspiel programmiert in der konsole. dort steuert man so nen typen und es kommt immer ein gegnerauf den mann draufspringen muss.
jetzt will ich aber das der gegner von einem zweiten spieler gesteuert werden kann. Das Problem ist jedoch das wenn man eine taste gedrückt hällt dann wird natürlich immer sofort nach der dieser taste abgebrochen und halt nur diese aktion ausgeführt.if ohne else if statt switch case
-
danke, geht aber leider auch nicht da ja nur eine taste gespeichert wird und das ist halt die erste taste die gedrückt bleibt. gibts keine möglichkeit zwei tasten gleichzeitig abzufragen?
-
Du kannst Tastenkobminationen abfragen (zB STRG+H) - siehe FAQ. Mehrere Tasten gleichzeitig allerdings nicht. Dazu benötigst du Low-Level-Input-Libraries wie zB DirectInput.
MfG SideWinder
-
ok, danke dann werd ichs mal gucken ob ichs mit directinput auf die reihe bekomme!! danke nochmal
-
char tastentabelle[256]; GetKeyboardState(char *tastentabelle);
Gibt den Status aller Tasten an.
Ist zwar ne API-Funktion, müßte aber genauso wie MessageBox() in einem Konsolenprogramm funktionieren.
-
Nebenfrage, wie entlockst du dem PC Speaker verschiedene Töne?
-
hallo, noch ne frage. kann es sein das du dein spielfeld jedesmal komplett löschst und dann wieder aufbaust?