Olá, o caso é o seguinte eu estou fazendo um programa que é assim,
1.Possui número de 1 a 12.
2.O computador gera uma sequência aleatória com esse números
3.O jogado observa a sequêcia e tenta fazê-la.
Eu já comsegui contruir a interface gráfica, porém não sei como fazer para o programa analisar os números clicados pelo usuario e compará-los com os números riado aleatóriamente pelo programa.
Alguém poderia me ajudar.
import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.Random;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
public class GameControl {
protected JButton btns[];
protected JButton bControls[];
protected int idxOK;
ArrayList<Integer> rndList;
public GameControl() {
FormGame game = new FormGame();
game.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
game.pack();
game.setSize(300, 280); // set frame size
game.setVisible(true); // display frame
this.btns = game.getFormButtons();
ActionListenerControl acontrol = new ActionListenerControl();
bControls = game.getButtonControl();
bControls[0].addActionListener(acontrol);
bControls[1].addActionListener(acontrol);
rndList = new ArrayList<Integer>();
// criar classe interna para tratamento dos botoes de controle
}
public static void sleep(int n){
try {
Thread.sleep(n);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public void randomSequence(int max) {
Random rnd = new Random();
rndList.clear();
idxOK=0;
for (int i = 0; i < max; i++) {
int random = rnd.nextInt(12);
rndList.add(random);
}
}
public class ActionListenerControl implements ActionListener {
public void actionPerformed(ActionEvent e) {
JButton btn = (JButton)e.getSource();
if(btn.getText() == "Inicio") {
randomSequence(5);
Iterator <Integer> iterator = rndList.iterator();
while (iterator.hasNext()) {
System.out.println("Seq: " + iterator.next());
}
AnimationButton a = new AnimationButton();
a.start();
}else{rndList.clear();}
}
class AnimationButton extends Thread{
public void run(){
Iterator <Integer> i= rndList.iterator();
while(i.hasNext()){
int n = (int)i.next();
btns[n].setBackground(Color.RED);
try {
sleep(400);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
btns[n].setBackground(Color.GREEN);
try {
sleep(400);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
JOptionPane.showMessageDialog(null, "Agora e sua vez");
}
}
}
public class ActionListenerForm implements ActionListener {
public void actionPerformed(ActionEvent arg0){
if(!rndList.isEmpty()){
//Parte que analisará se os número clicados pelo usúario estão iguais aos
//criados pelo computador.
}else{
JOptionPane.showMessageDialog(null, "Aperte o Botão Iniciar");
}
}
}
}
Agradeço.