import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class Reactor implements ActionListener {
JButton[] btns = new JButton[25];
int punktzahl = 0;
int schwierigkeit = 5;
int sekundenzähler = 0;
int limit = 10000;
int wartezeit = 1000;
int high = 26;
int low = 1;
int mommentaneZahl = 12;
int spielfeldgröße = 25;
int spielfeldlänge = (int) Math.sqrt(spielfeldgröße);
boolean start = false;
public Reactor() {
initializeButtons();
JFrame f = new JFrame();
JPanel panel = new JPanel();
JPanel spielfeld = new JPanel();
panel.setLayout(new BorderLayout());
spielfeld.setLayout(new GridLayout(spielfeldlänge, spielfeldlänge));
for (int zeile = 0; zeile < spielfeldgröße; zeile++) {
spielfeld.add(btns[zeile]);
btns[zeile].addActionListener(this);
btns[zeile].setBackground(Color.WHITE);
btns[zeile].setText("" + (zeile) + "");
btns[zeile].setActionCommand("" + zeile + "");
}
btns[12].setBackground(Color.RED);
panel.add(spielfeld, BorderLayout.CENTER);
f.getContentPane().add(panel);
f.setVisible(true);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.pack();
f.setLocationRelativeTo(null);
}
private void initializeButtons() {
for (int a = 0; a < spielfeldgröße; a++) {
btns[a] = new JButton(" ");
}
while (start = true) {
while (sekundenzähler < limit) {
sekundenzähler++;
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
@Override
public void actionPerformed(ActionEvent arg0) {
start = true;
String gedrückteZahl = arg0.getActionCommand();
if (gedrückteZahl.equals(btns[mommentaneZahl])) {
punktzahl++;
if (punktzahl > 5) {
int zufallszahlextra1 = (int) (Math.random() * (spielfeldgröße + 1));
btns[zufallszahlextra1].setBackground(Color.BLUE);
}
if (punktzahl > 10) {
int zufallszahlextra2 = (int) (Math.random() * (spielfeldgröße + 1));
btns[zufallszahlextra2].setBackground(Color.GREEN);
}
if (punktzahl > 15) {
int zufallszahlextra3 = (int) (Math.random() * (spielfeldgröße + 1));
btns[zufallszahlextra3].setBackground(Color.YELLOW);
}
if (punktzahl > 20) {
int zufallszahlextra4 = (int) (Math.random() * (spielfeldgröße + 1));
btns[zufallszahlextra4].setBackground(Color.ORANGE);
}
if (punktzahl > 25) {
int zufallszahlextra5 = (int) (Math.random() * (spielfeldgröße + 1));
btns[zufallszahlextra5].setBackground(Color.BLACK);
}
btns[mommentaneZahl].setBackground(Color.WHITE);
int zufallszahl = (int) (Math.random() * (spielfeldgröße + 1));
btns[zufallszahl].setBackground(Color.RED);
mommentaneZahl = zufallszahl;
sekundenzähler = 0;
}
else {
for (int zeile = 0; zeile < spielfeldgröße; zeile++) {
btns[zeile].removeActionListener(this);
start = false;
}
}
}
public static void main(String[] args) {
Reactor re = new Reactor();
}
}