import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
import java.util.*;
import java.awt.Color.*;
/**
*
* Beschreibung
*
* @version 1.0 vom 27.09.2011
* @xxx
*/
public class Mastermind extends JFrame
{
// Anfang Attribute
private JButton weiss = new JButton();
private JButton gelb = new JButton();
private JButton rot = new JButton();
private JButton gruen = new JButton();
private JButton blau = new JButton();
private JButton schwarz = new JButton();
private JButton neuesSpiel = new JButton();
private JButton raten = new JButton();
private JButton loeschen = new JButton();
private int getRandomNumber ()
{
int number = (int) (Math.random() * 6);
return number;
}
int genaueTreffer = 0;
int halbeTreffer = 0;
private JLabel jlbl1 = new JLabel();
private JLabel jlbl2 = new JLabel();
private JLabel jlbl3 = new JLabel();
private JLabel jlbl4 = new JLabel();
private JLabel jlbl5 = new JLabel();
private JLabel jlbl6 = new JLabel();
private JLabel jlbl7 = new JLabel();
private JLabel jlbl8 = new JLabel();
private JLabel jlbl9 = new JLabel();
private JLabel jlbl10 = new JLabel();
private JLabel jlbl11 = new JLabel();
private JLabel jlbl12 = new JLabel();
private JLabel jlbl13 = new JLabel();
private JLabel jlbl14 = new JLabel();
private JLabel jlbl15 = new JLabel();
private JLabel jlbl16 = new JLabel();
private JLabel jlbl17 = new JLabel();
private JLabel jlbl18 = new JLabel();
private JLabel jlbl19 = new JLabel();
private JLabel jlbl20 = new JLabel();
private JLabel jlbl21 = new JLabel();
private JLabel jlbl22 = new JLabel();
private JLabel jlbl23 = new JLabel();
private JLabel jlbl24 = new JLabel();
private JLabel jlbl25 = new JLabel();
private JLabel jlbl26 = new JLabel();
private JLabel jlbl27 = new JLabel();
private JLabel jlbl28 = new JLabel();
private JLabel jlbl29 = new JLabel();
private JLabel jlbl30 = new JLabel();
private JLabel jlbl31 = new JLabel();
private JLabel jlbl32 = new JLabel();
private JLabel jlbl33 = new JLabel();
private JLabel jlbl34 = new JLabel();
private JLabel jlbl35 = new JLabel();
private JLabel jlbl36 = new JLabel();
private JLabel jlbl37 = new JLabel();
private JLabel jlbl38 = new JLabel();
private JLabel jlbl39 = new JLabel();
private JLabel jlbl40 = new JLabel();
private JLabel jlbl41 = new JLabel();
private JLabel jlbl42 = new JLabel();
private JLabel jlbl43 = new JLabel();
private JLabel jlbl44 = new JLabel();
private JLabel jlbl45 = new JLabel();
private JLabel jlbl46 = new JLabel();
private JLabel jlbl47 = new JLabel();
private JLabel jlbl48 = new JLabel();
private JLabel jlbl49 = new JLabel();
private JLabel jlbl50 = new JLabel();
private JLabel jlbl52 = new JLabel();
private JLabel jlbl53 = new JLabel();
private JLabel jlbl54 = new JLabel();
private JLabel jlbl55 = new JLabel();
private JLabel jlbl56 = new JLabel();
private JLabel jlbl57 = new JLabel();
private JLabel jlbl58 = new JLabel();
private JLabel jlbl59 = new JLabel();
private JLabel jlbl60 = new JLabel();
private JLabel jlbl61 = new JLabel();
private JLabel jlbl62 = new JLabel();
private JLabel jlbl63 = new JLabel();
private JLabel jlbl64 = new JLabel();
private JLabel jlbl65 = new JLabel();
private JLabel jlbl66 = new JLabel();
private JLabel jlbl67 = new JLabel();
private JLabel jlbl68 = new JLabel();
// Ende Attribute
public M(String title)
{
// Frame-Initialisierung
super(title);
setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
int frameWidth = 651;
int frameHeight = 681;
setSize(frameWidth, frameHeight);
Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
int x = (d.width - getSize().width) / 2;
int y = (d.height - getSize().height) / 2;
setLocation(x, y);
Container cp = getContentPane();
cp.setLayout(null);
// Anfang Komponenten
weiss.setBounds(32, 32, 40, 40);
weiss.setText("");
weiss.setBackground(Color.white);
weiss.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent evt)
{
if (jlbl5.isOpaque()==false)
{
jlbl5.setBackground(Color.white);
jlbl5.setOpaque(true);
}
}
});
cp.add(weiss);
gelb.setBounds(80, 32, 40, 40);
gelb.setText("");
gelb.setBackground(Color.yellow);
gelb.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent evt)
{
if (jlbl5.isOpaque()==false)
{
jlbl5.setBackground(Color.yellow);
jlbl5.setOpaque(true);
}
}
});
cp.add(gelb);
rot.setBounds(128, 32, 40, 40);
rot.setText("");
rot.setBackground(Color.red);
rot.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent evt)
{
if (jlbl5.isOpaque()==false)
{
jlbl5.setBackground(Color.red);
jlbl5.setOpaque(true);
}
}
});
cp.add(rot);
gruen.setBounds(176, 32, 40, 40);
gruen.setText("");
gruen.setBackground(Color.green);
gruen.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent evt)
{
if (jlbl5.isOpaque()==false)
{
jlbl5.setBackground(Color.green);
jlbl5.setOpaque(true);
}
}
});
cp.add(gruen);
blau.setBounds(224, 32, 40, 40);
blau.setText("");
blau.setBackground(Color.blue);
blau.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent evt)
{
if (jlbl5.isOpaque()==false)
{
jlbl5.setBackground(Color.blue);
jlbl5.setOpaque(true);
}
}
});
cp.add(blau);
schwarz.setBounds(272, 32, 40, 40);
schwarz.setText("");
schwarz.setBackground(Color.black);
schwarz.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent evt)
{
if (jlbl5.isOpaque()==false)
{
jlbl5.setBackground(Color.black);
jlbl5.setOpaque(true);
}
}
});
cp.add(schwarz);
/**
* Aktionen für 2. Button
*/
weiss.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent evt)
{
if (jlbl5.isOpaque()==true & jlbl6.isOpaque()==false)
{
jlbl6.setBackground(Color.white);
jlbl6.setOpaque(true);
}
}
});
gelb.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent evt)
{
if (jlbl5.isOpaque()==true & jlbl6.isOpaque()==false)
{
jlbl6.setBackground(Color.yellow);
jlbl6.setOpaque(true);
}
}
});
rot.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent evt)
{
if (jlbl5.isOpaque()==true & jlbl6.isOpaque()==false)
{
jlbl6.setBackground(Color.red);
jlbl6.setOpaque(true);
}
}
});
gruen.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent evt)
{
if (jlbl5.isOpaque()==true & jlbl6.isOpaque()==false)
{
jlbl6.setBackground(Color.green);
jlbl6.setOpaque(true);
}
}
});
blau.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent evt)
{
if (jlbl5.isOpaque()==true & jlbl6.isOpaque()==false)
{
jlbl6.setBackground(Color.blue);
jlbl6.setOpaque(true);
}
}
});
schwarz.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent evt)
{
if (jlbl5.isOpaque()==true & jlbl6.isOpaque()==false)
{
jlbl6.setBackground(Color.black);
jlbl6.setOpaque(true);
}
}
});
/**
* Aktionen für 3. Button
*/
weiss.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent evt)
{
if (jlbl5.isOpaque()==true & jlbl6.isOpaque()==true & jlbl7.isOpaque()==false)
{
jlbl7.setBackground(Color.white);
jlbl7.setOpaque(true);
}
}
});
gelb.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent evt)
{
if (jlbl5.isOpaque()==true & jlbl6.isOpaque()==true & jlbl7.isOpaque()==false)
{
jlbl7.setBackground(Color.yellow);
jlbl7.setOpaque(true);
}
}
});
rot.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent evt)
{
if (jlbl5.isOpaque()==true & jlbl6.isOpaque()==true & jlbl7.isOpaque()==false)
{
jlbl7.setBackground(Color.red);
jlbl7.setOpaque(true);
}
}
});
gruen.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent evt)
{
if (jlbl5.isOpaque()==true & jlbl6.isOpaque()==true & jlbl7.isOpaque()==false)
{
jlbl7.setBackground(Color.green);
jlbl7.setOpaque(true);
}
}
});
blau.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent evt)
{
if (jlbl5.isOpaque()==true & jlbl6.isOpaque()==true & jlbl7.isOpaque()==false)
{
jlbl7.setBackground(Color.blue);
jlbl7.setOpaque(true);
}
}
});
schwarz.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent evt)
{
if (jlbl5.isOpaque()==true & jlbl6.isOpaque()==true & jlbl7.isOpaque()==false)
{
jlbl7.setBackground(Color.black);
jlbl7.setOpaque(true);
}
}
});
/**
* Aktionen für 4. Button
*/
weiss.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent evt)
{
if (jlbl5.isOpaque()==true & jlbl6.isOpaque()==true & jlbl7.isOpaque()==true & jlbl8.isOpaque()==false)
{
jlbl8.setBackground(Color.white);
jlbl8.setOpaque(true);
}
}
});
gelb.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent evt)
{
if (jlbl5.isOpaque()==true & jlbl6.isOpaque()==true & jlbl7.isOpaque()==true & jlbl8.isOpaque()==false)
{
jlbl8.setBackground(Color.yellow);
jlbl8.setOpaque(true);
}
}
});
rot.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent evt)
{
if (jlbl5.isOpaque()==true & jlbl6.isOpaque()==true & jlbl7.isOpaque()==true & jlbl8.isOpaque()==false)
{
jlbl8.setBackground(Color.red);
jlbl8.setOpaque(true);
}
}
});
gruen.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent evt)
{
if (jlbl5.isOpaque()==true & jlbl6.isOpaque()==true & jlbl7.isOpaque()==true & jlbl8.isOpaque()==false)
{
jlbl8.setBackground(Color.green);
jlbl8.setOpaque(true);
}
}
});
blau.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent evt)
{
if (jlbl5.isOpaque()==true & jlbl6.isOpaque()==true & jlbl7.isOpaque()==true & jlbl8.isOpaque()==false)
{
jlbl8.setBackground(Color.blue);
jlbl8.setOpaque(true);
}
}
});
schwarz.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent evt)
{
if (jlbl5.isOpaque()==true & jlbl6.isOpaque()==true & jlbl7.isOpaque()==true & jlbl8.isOpaque()==false)
{
jlbl8.setBackground(Color.black);
jlbl8.setOpaque(true);
}
}
});
neuesSpiel.setBounds(352, 32, 105, 40);
neuesSpiel.setText("Neues Spiel");
neuesSpiel.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent evt)
{
neuesSpiel_ActionPerformed(evt);
Color[] Farbe = new Color[6];
Farbe[0] = Color.white;
Farbe[1] = Color.yellow;
Farbe[2] = Color.red;
Farbe[3] = Color.green;
Farbe[4] = Color.blue;
Farbe[5] = Color.black;
jlbl1.setBackground(Farbe[getRandomNumber()]);
jlbl1.setOpaque(true);
jlbl2.setBackground(Farbe[getRandomNumber()]);
jlbl2.setOpaque(true);
jlbl3.setBackground(Farbe[getRandomNumber()]);
jlbl3.setOpaque(true);
jlbl4.setBackground(Farbe[getRandomNumber()]);
jlbl4.setOpaque(true);
}
});
cp.add(neuesSpiel);
raten.setBounds(456, 32, 85, 40);
raten.setText("Raten");
raten.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent evt)
{
if (jlbl5.getBackground().equals(jlbl1.getBackground()) || jlbl6.getBackground().equals(jlbl2.getBackground()) || jlbl7.getBackground().equals(jlbl3.getBackground()) || jlbl8.getBackground().equals(jlbl4.getBackground()) )
{
jlbl9.setBackground(Color.black);
jlbl9.setOpaque(true);
}
if (jlbl5.getBackground().equals(jlbl1.getBackground()) && jlbl6.getBackground().equals(jlbl2.getBackground()) || jlbl5.getBackground().equals(jlbl1.getBackground()) && jlbl7.getBackground().equals(jlbl3.getBackground()) || jlbl5.getBackground().equals(jlbl1.getBackground()) && jlbl8.getBackground().equals(jlbl4.getBackground()) ||
jlbl6.getBackground().equals(jlbl2.getBackground()) && jlbl7.getBackground().equals(jlbl3.getBackground()) || jlbl6.getBackground().equals(jlbl2.getBackground()) && jlbl8.getBackground().equals(jlbl4.getBackground()) || jlbl7.getBackground().equals(jlbl3.getBackground()) && jlbl8.getBackground().equals(jlbl4.getBackground()) )
{
jlbl9.setBackground(Color.black);
jlbl9.setOpaque(true);
jlbl10.setBackground(Color.black);
jlbl10.setOpaque(true);
}
if (jlbl5.getBackground().equals(jlbl1.getBackground()) && jlbl6.getBackground().equals(jlbl2.getBackground()) && jlbl7.getBackground().equals(jlbl3.getBackground()) || jlbl5.getBackground().equals(jlbl1.getBackground()) && jlbl6.getBackground().equals(jlbl2.getBackground()) && jlbl8.getBackground().equals(jlbl4.getBackground()) ||
jlbl5.getBackground().equals(jlbl1.getBackground()) && jlbl8.getBackground().equals(jlbl4.getBackground()) && jlbl7.getBackground().equals(jlbl3.getBackground()) || jlbl6.getBackground().equals(jlbl2.getBackground()) && jlbl7.getBackground().equals(jlbl3.getBackground()) && jlbl8.getBackground().equals(jlbl4.getBackground()) )
{
jlbl9.setBackground(Color.black);
jlbl9.setOpaque(true);
jlbl10.setBackground(Color.black);
jlbl10.setOpaque(true);
jlbl11.setBackground(Color.black);
jlbl11.setOpaque(true);
}
if (jlbl5.getBackground().equals(jlbl1.getBackground()) && jlbl6.getBackground().equals(jlbl2.getBackground()) && jlbl7.getBackground().equals(jlbl3.getBackground()) && jlbl8.getBackground().equals(jlbl4.getBackground()) )
{
jlbl9.setBackground(Color.black);
jlbl9.setOpaque(true);
jlbl10.setBackground(Color.black);
jlbl10.setOpaque(true);
jlbl11.setBackground(Color.black);
jlbl11.setOpaque(true);
jlbl12.setBackground(Color.black);
jlbl12.setOpaque(true);
}
}
});
cp.add(raten); JLabel[] ergebnisKombi = new JLabel[4];
ergebnisKombi[0] = jlbl1;
ergebnisKombi[1] = jlbl2;
ergebnisKombi[2] = jlbl3;
ergebnisKombi[3] = jlbl4;
loeschen.setBounds(544, 32, 85, 40);
loeschen.setText("Löschen");
loeschen.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent evt)
{
jlbl5.setBackground(new Color(0,0,0,0));
jlbl5.setOpaque(false);
jlbl6.setBackground(new Color(0,0,0,0));
jlbl6.setOpaque(false);
jlbl7.setBackground(new Color(0,0,0,0));
jlbl7.setOpaque(false);
jlbl8.setBackground(new Color(0,0,0,0));
jlbl8.setOpaque(false);
jlbl9.setBackground(new Color(0,0,0,0));
jlbl9.setOpaque(false);
jlbl10.setBackground(new Color(0,0,0,0));
jlbl10.setOpaque(false);
jlbl11.setBackground(new Color(0,0,0,0));
jlbl11.setOpaque(false);
jlbl12.setBackground(new Color(0,0,0,0));
jlbl12.setOpaque(false);
}
});
cp.add(loeschen);
jlbl1.setBounds(64, 96, 40, 35);
jlbl1.setText("");
jlbl1.setFont(new Font("MS Sans Serif", Font.PLAIN, 13));
cp.add(jlbl1);
jlbl2.setBounds(120, 96, 40, 35);
jlbl2.setText("");
jlbl2.setFont(new Font("MS Sans Serif", Font.PLAIN, 13));
cp.add(jlbl2);
jlbl3.setBounds(176, 96, 40, 35);
jlbl3.setText("");
jlbl3.setFont(new Font("MS Sans Serif", Font.PLAIN, 13));
cp.add(jlbl3);
jlbl4.setBounds(232, 96, 40, 35);
jlbl4.setText("");
jlbl4.setFont(new Font("MS Sans Serif", Font.PLAIN, 13));
cp.add(jlbl4);
... // die weiteren labels
// Ende Komponenten
setResizable(false);
setVisible(true);
}
// Anfang Methoden
public void weiss_ActionPerformed(ActionEvent evt)
{
}
public void gelb_ActionPerformed(ActionEvent evt)
{
// TODO hier Quelltext einfügen
}
public void rot_ActionPerformed(ActionEvent evt)
{
// TODO hier Quelltext einfügen
}
public void gruen_ActionPerformed(ActionEvent evt)
{
// TODO hier Quelltext einfügen
}
public void blau_ActionPerformed(ActionEvent evt)
{
// TODO hier Quelltext einfügen
}
public void schwarz_ActionPerformed(ActionEvent evt)
{
// TODO hier Quelltext einfügen
}
public void neuesSpiel_ActionPerformed(ActionEvent evt)
{
}
public void raten_ActionPerformed(ActionEvent evt)
{
// TODO hier Quelltext einfügen
}
public void loeschen_ActionPerformed(ActionEvent evt)
{
// TODO hier Quelltext einfügen
}
// Ende Methoden
public static void main(String[] args)
{
new Mastermind("Mastermind");
}
}