hallo leute,
ich muss ein memory spiel programmieren, aber komme nicht weiter. ich habe es geschafft, dass ich 8 karten habe und wenn ich draufklicke "dreht" sich die karte auch (es ändert vorerst nur die farbe) nur brauche ich 8*2 Karten. wie kriege ich es hin dass die karten doppelt werden und wenn ihr meinen code sieht merkt ihr dass es irgendwie zu lang ist gibt es für die buttons eine bessere lösung??? wäre für jede hilfe dankbar...
ich muss ein memory spiel programmieren, aber komme nicht weiter. ich habe es geschafft, dass ich 8 karten habe und wenn ich draufklicke "dreht" sich die karte auch (es ändert vorerst nur die farbe) nur brauche ich 8*2 Karten. wie kriege ich es hin dass die karten doppelt werden und wenn ihr meinen code sieht merkt ihr dass es irgendwie zu lang ist gibt es für die buttons eine bessere lösung??? wäre für jede hilfe dankbar...
Java:
import java.awt.Color;
import java.awt.Dimension;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JPanel;
public class feld extends JFrame {
JPanel panel;
JButton button, button1, button2, button3, button4, button5, button6, button7, button8;
JMenuBar menubar;
//Spiel
JMenu spiel;
JMenuItem newgame, score, close ;
//Einstellungen
JMenu einstellungen;
JMenuItem info;
//Fragezeichen
JMenu fragez;
JMenuItem mitwir;
Klick klick = new Klick();
public feld() {
super("Memory");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(700, 550);
//Menüleiste erzeugen
menubar = new JMenuBar();
//Menüelemente erzeugen
spiel = new JMenu("Spiel");
einstellungen = new JMenu("Einstellungen");
fragez = new JMenu("?");
//Untermenüelemente erzeugen
newgame = new JMenuItem("Neues Spiel");
score = new JMenuItem("Highscore");
close = new JMenuItem("Beenden");
info = new JMenuItem("Info");
mitwir = new JMenuItem("Mitwirkende");
//Menüelemente hinzufügen
menubar.add(spiel);
menubar.add(einstellungen);
menubar.add(fragez);
//Untermenüelemente hinzufügen
spiel.add(newgame);
spiel.add(score);
spiel.add(close);
einstellungen.add(info);
fragez.add(mitwir);
setJMenuBar(menubar);
panel = new JPanel();
panel.setBackground(Color.white);
panel.setLayout(new GridLayout(4, 4, 10, 10));
//bei 32 karten wäre dieser codeblock nicht die beste idee :/
button = new JButton();
button.setBackground(Color.black);
panel.add(button);
button.addActionListener(klick);
button1 = new JButton();
button1.setBackground(Color.black);
panel.add(button1);
button1.addActionListener(klick);
button2 = new JButton();
button2.setBackground(Color.black);
panel.add(button2);
button2.addActionListener(klick);
button3 = new JButton();
button3.setBackground(Color.black);
panel.add(button3);
button3.addActionListener(klick);
button4 = new JButton();
button4.setBackground(Color.black);
panel.add(button4);
button4.addActionListener(klick);
button5 = new JButton();
button5.setBackground(Color.black);
panel.add(button5);
button5.addActionListener(klick);
button6 = new JButton();
button6.setBackground(Color.black);
panel.add(button6);
button6.addActionListener(klick);
button7 = new JButton();
button7.setBackground(Color.black);
panel.add(button7);
button7.addActionListener(klick);
button8 = new JButton();
button8.setBackground(Color.black);
panel.add(button8);
button8.addActionListener(klick);
add(panel);
setVisible(true);
}
public class Klick implements ActionListener {
public void actionPerformed(ActionEvent e) {
Object obj = e.getSource();
if (obj == button){ button.setBackground(Color.orange);}
if (obj == button1){button1.setBackground(Color.red);}
if (obj == button2){button2.setBackground(Color.blue);}
if (obj == button3){button3.setBackground(Color.gray);}
if (obj == button4){button4.setBackground(Color.green);}
if (obj == button5){button5.setBackground(Color.cyan);}
if (obj == button6){button6.setBackground(Color.YELLOW);}
if (obj == button7){button7.setBackground(Color.pink);}
if (obj == button8){button8.setBackground(Color.magenta);}
}
}
}]
Zuletzt bearbeitet von einem Moderator: