Hallo,
Ich habe ein Puzzle programmiert, jedoch fehlt mir noch eine letzte Sache, nämlich der Vergleich, ob das Puzzle gelöst wurde.
Ich habe mir jetzt überlegt, dass ich die erzeugten Buttons( welchen ein Image zugewiesen wird), auch in eine Liste schreiben könnte, und dann irgendwie pro Tausch vergleichen können müsste. ( inhalt array und liste)
Je nachdem ob alle Arrays und Listeneinträge den selben Inhalt aufweisen, könnte ich doch sagen das das Spiel vorbei ist oder?
Jetzt fehlt mir das richtige Coding um das umzusetzen.
Wie kann ich denn eine Liste erstellen, welche den Inhalt der Arrays hat/übernimmt ( In diesem Fall sind das ja Images, was mich ein bisschen überfordert), und diese dann bei jedem "Klicktausch" nach der Übereinstimmigkeit abfragen?
In diesem Codingstück erzeuge ich die Buttons, setze die Images drauf, shuffle sie, und füge sie in das Frame ein.
Hier tausche ich die buttons.
Freue mich auf tips und Codingbeispiele.
Gruß Hans
Ich habe ein Puzzle programmiert, jedoch fehlt mir noch eine letzte Sache, nämlich der Vergleich, ob das Puzzle gelöst wurde.
Ich habe mir jetzt überlegt, dass ich die erzeugten Buttons( welchen ein Image zugewiesen wird), auch in eine Liste schreiben könnte, und dann irgendwie pro Tausch vergleichen können müsste. ( inhalt array und liste)
Je nachdem ob alle Arrays und Listeneinträge den selben Inhalt aufweisen, könnte ich doch sagen das das Spiel vorbei ist oder?
Jetzt fehlt mir das richtige Coding um das umzusetzen.
Wie kann ich denn eine Liste erstellen, welche den Inhalt der Arrays hat/übernimmt ( In diesem Fall sind das ja Images, was mich ein bisschen überfordert), und diese dann bei jedem "Klicktausch" nach der Übereinstimmigkeit abfragen?
Java:
for (int i=1; i<button.length; i++) {
button[i] = new JButton();
button[i].addActionListener(this);
button[i].setIcon(new ImageIcon(getClass().getResource(comment+i+".jpg")));
}
for(int i = 1; i < button.length; i++){
JButton tmp = button[i];
int zelle = (int) (Math.random()*(button.length - i) + i);
button[i] = button[zelle];
button[zelle] = tmp;
}
for(int i = 1; i < button.length; i++){
panel.add(button[i]);
button[i].setVisible(false);
}
this.getContentPane().add(panel, BorderLayout.CENTER);
for (int i = 1; i < button.length; i++) {
button[i].setVisible(true);
}
In diesem Codingstück erzeuge ich die Buttons, setze die Images drauf, shuffle sie, und füge sie in das Frame ein.
Java:
private void swapIcons(int index1, int index2) {
Icon icon = button[index1].getIcon();
button[index1].setIcon(button[index2].getIcon());
button[index2].setIcon(icon);
}
Hier tausche ich die buttons.
Freue mich auf tips und Codingbeispiele.
Gruß Hans