Hi,
ich bin zurzeit im Grundkurs Informatik an unserer Schule und ich habe nen Memory programmiert, allerdings hab ich keine Ahnung wie ich es hinkriegen soll dass die Karten zufällig angeordnet sind. Bei all meinen Versuchen waren nicht alle Karten dargestellt. Deswegen wärs cool wenn ihr mir Ideen geben könntet wie man es lösen kann bzw. es mir erklären könnt
.
Danke schon mal im Vorraus
.
ich bin zurzeit im Grundkurs Informatik an unserer Schule und ich habe nen Memory programmiert, allerdings hab ich keine Ahnung wie ich es hinkriegen soll dass die Karten zufällig angeordnet sind. Bei all meinen Versuchen waren nicht alle Karten dargestellt. Deswegen wärs cool wenn ihr mir Ideen geben könntet wie man es lösen kann bzw. es mir erklären könnt
Java:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.util.*;
public class Memory extends JFrame implements ActionListener
{
/*
* Panels
*/
JPanel root = new JPanel();
JPanel versuchpanel = new JPanel();
JPanel karten = new JPanel();
/*
* Bilder
*/
ImageIcon null0 = new ImageIcon("0.jpg");
ImageIcon eins = new ImageIcon("1.jpg");
ImageIcon zwei = new ImageIcon("2.jpg");
ImageIcon drei = new ImageIcon("3.jpg");
ImageIcon vier = new ImageIcon("4.jpg");
ImageIcon fuenf = new ImageIcon("5.jpg");
ImageIcon sechs = new ImageIcon("6.jpg");
ImageIcon sieben = new ImageIcon("7.jpg");
ImageIcon back = new ImageIcon("back.jpg");
ImageIcon [] aIcons = {null0, eins, zwei, drei, vier, fuenf, sechs, sieben, null0, eins, zwei, drei, vier, fuenf, sechs, sieben};
/*
* Buttons
*/
JButton button1 = new JButton(back);
JButton button2 = new JButton(back);
JButton button3 = new JButton(back);
JButton button4 = new JButton(back);
JButton button5 = new JButton(back);
JButton button6 = new JButton(back);
JButton button7 = new JButton(back);
JButton button8 = new JButton(back);
JButton button1_2 = new JButton(back);
JButton button2_2 = new JButton(back);
JButton button3_2 = new JButton(back);
JButton button4_2 = new JButton(back);
JButton button5_2 = new JButton(back);
JButton button6_2 = new JButton(back);
JButton button7_2 = new JButton(back);
JButton button8_2 = new JButton(back);
JButton [] aButtons = {button1, button2, button3, button4, button5, button6, button7, button8, button1_2, button2_2, button3_2, button4_2, button5_2, button6_2, button7_2, button8_2};
/*
* Labels
*/
JLabel versuche = new JLabel("Klicks: 0");
/*
* Menu
*/
JMenuItem starten = new JMenuItem("Spiel starten");
JMenuItem beenden = new JMenuItem("Beenden");
JMenu menu = new JMenu("Menu");
JMenuBar menubar = new JMenuBar();
/*
* Variablen
*/
private int a;
private int b;
private boolean pressed;
private ImageIcon current;
private ImageIcon previous;
private int klicks;
public Memory()
{
super("Memory");
setDefaultCloseOperation(Memory.EXIT_ON_CLOSE);
root.setLayout(new BorderLayout());
karten.setLayout(new GridLayout(4, 4, 10, 10));
for(int i=0; i < aButtons.length; i++)
{
karten.add(aButtons[i]);
aButtons[i].addActionListener(this);
}
menu.add(starten);
menu.add(beenden);
menubar.add(menu);
setJMenuBar(menubar);
starten.addActionListener(this);
beenden.addActionListener(this);
versuchpanel.add(versuche);
root.add(karten, "Center");
root.add(versuchpanel, "North");
getContentPane().add(root);
}
public void actionPerformed(ActionEvent e)
{
for(int j=0; j < aButtons.length; j++)
{
if(e.getSource()==aButtons[j])
{
if(pressed==true)
{
b=j;
previous=current;
current=aIcons[b];
aButtons[b].setIcon(current);
pressed=false;
}
else
{
if (current != null && previous !=null)
{
if(current.getImage()==previous.getImage())
{
current=null;
previous=null;
}
else
{
aButtons[a].setIcon(back);
aButtons[b].setIcon(back);
}
}
a=j;
current=aIcons[a];
aButtons[a].setIcon(current);
pressed=true;
}
klicks += 1;
versuche.setText("Klicks: "+klicks);
}
}
if(e.getSource()==beenden)
{
System.exit(0);
}
if(e.getSource()==starten)
{
for(int k=0; k < aButtons.length; k++)
{
aButtons[k].setIcon(back);
a=0;
b=0;
current=null;
previous=null;
pressed=false;
klicks=0;
versuche.setText("Klicks: "+klicks);
}
}
}
}
Danke schon mal im Vorraus