Eu estou com duvida de como fazer um GAME OVER, no jogo da memoria depois de 3 tentativas erradas
e um YOU WIN ,se COMPLETA TODO O JOGO.
import java.awt.Color;
import java.awt.GridLayout;
import java.awt.LayoutManager;
import java.awt.event.*;
import java.util.Random;
import javax.swing.*;
public class JogoMemoria extends JFrame implements ActionListener {
JPanel painel = new JPanel();
MeuBotao[] vbtn = new MeuBotao[16];
MeuBotao btn = new MeuBotao(null);
MeuBotao aux = new MeuBotao(null);
MeuBotao aux1 = new MeuBotao(null);
public JogoMemoria(){
painel.setLayout(new GridLayout(4,4));
setTitle("Jogo da Memória valendo 5 pontos eim :)");
setSize(720,540);
for(int i=0;i<16;i++){
vbtn[i] = new MeuBotao(new ImageIcon("smile"+i/2+".jpg"));
vbtn[i].addActionListener(this);
vbtn[i].id = i/2;
}
embaralhar(vbtn);
for(int i=0; i<16;i++){
painel.add(vbtn[i]);
}
setContentPane(painel);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setResizable(false);
setVisible(true);
}
public void embaralhar(MeuBotao[] btn){
MeuBotao aux;
int a;
Random r = new Random();
for(int i=0;i<16;i++){
a = r.nextInt(r.nextInt(16)+1);
aux=btn[a];
btn[a]=btn[i];
btn[i] = aux;
}
}//Fim do Método embaralhar
int cont =0;
@Override
public void actionPerformed(ActionEvent ev) {
btn = (MeuBotao)ev.getSource();
if((!btn.acertou)&&(aux!=btn)&&(!btn.bloqueio)){
//System.out.println("Cont: "+cont);
if((aux1.virada)&&(!aux1.acertou)){
aux1.virar();
aux.virar();
}
btn.virar();
if(cont==0){
aux = btn;
}
//System.out.print(btn.id+" ");
//System.out.print(aux.id+" ");
if(cont>0){
if(btn.id != aux.id){
aux1=btn;
aux1.virar();
btn.virar();
}else{
aux.acertou=true;
btn.acertou=true;
}
}
cont++;
if(cont>1){
cont =0;
}
}
}
public static void main(String[] args) {
new JogoMemoria();
}
}
import javax.swing.ImageIcon;
import javax.swing.JButton;
public class MeuBotao extends JButton {
ImageIcon imagem;
boolean virada,acertou,bloqueio;
int id;
public MeuBotao(ImageIcon imagem){
this.imagem = imagem;
virada = false;
acertou =false;
bloqueio= false;
}
public void virar(){
if (virada)
setIcon(null);
else
setIcon(imagem);
virada = !virada;
}
public void setAcertou(){
this.bloqueio = true;
this.acertou = true;
}
public void setBloqueio(boolean bloqueio){
this.bloqueio=bloqueio;
}
public static boolean ganhou(MeuBotao[] btn){
for(int i=0;i<12;i++){
if(!btn[i].acertou)
return false;
}
return true;
}
}