Als erstes Entschuldigung für den Fragetitel, ich war mir nicht sicher, wie ich das nennen sollte.
Wie auch immer, ich arbeite an einem Spiel, in dem es eine Anzahl von Spielern geben kann, die jeweils eine Anzahl von Haustieren haben können. Ich habe die Hauptstruktur des Spiels entwickelt, z.B. Spielerklasse, Haustierklasse und eine Hauptklasse .. Von dort aus habe ich am GUI gearbeitet, wo ich frage, wie viele Spieler es gibt und wie viele Haustiere jeder Spieler möchte.. Wo ich stecke, ist, wie ich die Haustiere für jeden Spieler erstellen soll.
Ich habe ein ziemlich einfaches Formular erstellt, das den Spieler auffordert, einen Haustiertyp auszuwählen, ihm einen Namen zu geben und dann das Haustier zu erstellen..
public void createPets(final Player player){
//verschiedene Schaltflächen, ComboBox und Beschriftungen kommen hierher
//Layout-Manager
//alles zu einem Frame hinzufügen
JButton jbCreatePet = new JButton("Haustier erstellen");
jbCreatePet.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
String name = jtfName.toString();
if (cbSpecies.getSelectedIndex() == 0){
Alien alien = new Alien();
alien.setName(name);
player.getAllPets.add(alien);
}
else if(cbSpecies.getSelectedIndex() == 1){
//Haustier 2 erstellen
}
else{
//Haustier 3 erstellen
}
}
});
player ist ein Player-Objekt, das mit einer for-Schleife in die Methode übergeben wird..
for (Player player: allPlayers){
createPets(player);
}
Ich weiß, dass es NICHT korrekt ist, die for-Schleife zu verwenden, d.h. das Formular wird einfach zum letzten Spieler springen und keiner der anderen Spieler wird ein Haustier erstellen können..
Also habe ich ein paar Fragen:
-
Als ich das erstellte Haustier der Liste aller Haustiere des Spielers zugewiesen habe, hat mir Eclipse gesagt, ich müsste es als final erstellen. Ich verstehe das teilweise, aber meine Frage ist, indem ich den Spielerparameter als final festlege, bedeutet das, dass ich keine Haustiere für andere Spieler erstellen kann, nur für den ersten Spieler..
-
Wie kann ich mein Formular jedem Spieler zeigen, z.B. 2 Spieler im Spiel, beide mit 2 Haustieren, Spieler 1 wählt ein Haustier aus, gibt ihm einen Namen und erstellt es, dann wird ihm gesagt, dass er ein weiteres Haustier erstellen muss (Formular wird erneut angezeigt), also erstellt er ein weiteres Haustier, dann ist Spieler 2 an der Reihe, um 2 Haustiere zu wählen und zu erstellen... Ich versuche herauszufinden, wie ich zum richtigen Zeitpunkt das richtige Spielerargument an die createPet-Methode übergebe...
Bitte lassen Sie mich wissen, ob ich noch etwas anderes erklären soll...
Vielen Dank an jeden, der mir dabei helfen kann!!!!