Nabend Leute,
ich bin es nochmal. Schreibe in der Uni eine Art Memory. Das Spiel nennt sich SET. Könnt ihr hier zocken ^^ Set Daily Puzzle
Nun schreib ich eine Variante, der der n-Spieler an einem PC gegeneinander spielen. Also wer ein Set gefunden hat, drückt seine Taste und dann werden Punkte gezählt usw.
Nun ist das Problem, dass ich in der GUI nur einmal eine Taste drücken kann, aber kein zweites Mal.
Ich erzeuge einen KeyListener und ordne diesem meinem JFrame zu. Focus ist auch gesetzt:
taPlayer ist TextArea zur Ausgabe
aPlayer ist der Momentan aktive Player, damit ich später weiß, wer denn nun gedrückt hat
cPlayers ist ein char-Array, dass alle Tastatursymbole der Spieler gespeichert hat
bPlayer ist ein boolean-Array, dass die Werte für die Spieler beinhaltet. Es kann ja nur einer drücken, der auch mitspielt ^^
bSet und bNoSet sind einfach die Button, ob ein Set gefunden wurde, oder ob kein Set gefunden wurde, da passiert nicht aufregendes. Auf jedenfall nichts mit dem frame oder Listener.
Ich hoffe die Infos reichen. Ich werde jetzt endlich mal schlafen gehen.
Gute Nacht und Danke schonmal
ich bin es nochmal. Schreibe in der Uni eine Art Memory. Das Spiel nennt sich SET. Könnt ihr hier zocken ^^ Set Daily Puzzle
Nun schreib ich eine Variante, der der n-Spieler an einem PC gegeneinander spielen. Also wer ein Set gefunden hat, drückt seine Taste und dann werden Punkte gezählt usw.
Nun ist das Problem, dass ich in der GUI nur einmal eine Taste drücken kann, aber kein zweites Mal.
Ich erzeuge einen KeyListener und ordne diesem meinem JFrame zu. Focus ist auch gesetzt:
Java:
klPlayer = new KeyListener(){
public void keyPressed(KeyEvent arg0) {
char key = arg0.getKeyChar();
for (int i=0; i<36; i++){
//Schauen, welcher Spieler gedrückt hat und ob er überhaupt mitspielt
if (key == cPlayers[i] && bPlayers[i]==true){
taPlayer.append("\nPlayer "+i+": It is your turn!\n");
taPlayer.setCaretPosition(taPlayer.getText().length() - 1);
aPlayer = i;
bSet.setEnabled(true);
bNoSet.setEnabled(true);
}
}
}
public void keyReleased(KeyEvent arg0) {}
public void keyTyped(KeyEvent arg0) {}
};
frameGame.addKeyListener(klPlayer);
taPlayer ist TextArea zur Ausgabe
aPlayer ist der Momentan aktive Player, damit ich später weiß, wer denn nun gedrückt hat
cPlayers ist ein char-Array, dass alle Tastatursymbole der Spieler gespeichert hat
bPlayer ist ein boolean-Array, dass die Werte für die Spieler beinhaltet. Es kann ja nur einer drücken, der auch mitspielt ^^
bSet und bNoSet sind einfach die Button, ob ein Set gefunden wurde, oder ob kein Set gefunden wurde, da passiert nicht aufregendes. Auf jedenfall nichts mit dem frame oder Listener.
Ich hoffe die Infos reichen. Ich werde jetzt endlich mal schlafen gehen.
Gute Nacht und Danke schonmal