Bom dia, estou tentando programar um jogo da memória.
Mas estou tendo problemas com a pontuação, não sei como fazer para o programa comparar as imagens e comparar se está certa.
Eu gostaria de ajuda, pensei em usar ArrayList para ele guardar as jogadas mas não sei como prosseguir.
public tela() {
initComponents();
IniciaJogo();
}
int[] posicaoCartas = new int[20]; //posição das cartas (0, 1...51)
String[] imagemCartas = new String[20];
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
cartinhas0 = new javax.swing.JLabel();
cartinhas1 = new javax.swing.JLabel();
cartinhas2 = new javax.swing.JLabel();
cartinhas3 = new javax.swing.JLabel();
cartinhas4 = new javax.swing.JLabel();
cartinhas5 = new javax.swing.JLabel();
cartinhas6 = new javax.swing.JLabel();
cartinhas7 = new javax.swing.JLabel();
cartinhas8 = new javax.swing.JLabel();
cartinhas9 = new javax.swing.JLabel();
cartinhas10 = new javax.swing.JLabel();
cartinhas11 = new javax.swing.JLabel();
cartinhas12 = new javax.swing.JLabel();
cartinhas13 = new javax.swing.JLabel();
cartinhas14 = new javax.swing.JLabel();
cartinhas15 = new javax.swing.JLabel();
cartinhas16 = new javax.swing.JLabel();
cartinhas17 = new javax.swing.JLabel();
cartinhas18 = new javax.swing.JLabel();
cartinhas19 = new javax.swing.JLabel();
pontos = new javax.swing.JLabel();
jLabel2 = new javax.swing.JLabel();
reiniciando = new javax.swing.JButton();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
cartinhas0.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));
cartinhas0.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
cartinhas0MouseClicked(evt);
}
});
cartinhas1.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));
cartinhas1.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
cartinhas1MouseClicked(evt);
}
});
cartinhas2.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));
cartinhas2.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
cartinhas2MouseClicked(evt);
}
});
cartinhas3.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));
cartinhas3.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
cartinhas3MouseClicked(evt);
}
});
cartinhas4.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));
cartinhas4.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
cartinhas4MouseClicked(evt);
}
});
cartinhas5.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));
cartinhas5.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
cartinhas5MouseClicked(evt);
}
});
cartinhas6.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));
cartinhas6.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
cartinhas6MouseClicked(evt);
}
});
cartinhas7.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));
cartinhas7.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
cartinhas7MouseClicked(evt);
}
});
cartinhas8.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));
cartinhas8.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
cartinhas8MouseClicked(evt);
}
});
cartinhas9.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));
cartinhas9.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
cartinhas9MouseClicked(evt);
}
});
cartinhas10.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));
cartinhas10.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
cartinhas10MouseClicked(evt);
}
});
cartinhas11.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));
cartinhas11.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
cartinhas11MouseClicked(evt);
}
});
cartinhas12.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));
cartinhas12.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
cartinhas12MouseClicked(evt);
}
});
cartinhas13.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));
cartinhas13.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
cartinhas13MouseClicked(evt);
}
});
cartinhas14.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));
cartinhas14.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
cartinhas14MouseClicked(evt);
}
});
cartinhas15.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));
cartinhas15.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
cartinhas15MouseClicked(evt);
}
});
cartinhas16.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));
cartinhas16.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
cartinhas16MouseClicked(evt);
}
});
cartinhas17.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));
cartinhas17.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
cartinhas17MouseClicked(evt);
}
});
cartinhas18.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));
cartinhas18.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
cartinhas18MouseClicked(evt);
}
});
cartinhas19.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));
cartinhas19.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
cartinhas19MouseClicked(evt);
}
});
pontos.setFont(new java.awt.Font("MV Boli", 1, 14)); // NOI18N
pontos.setText("PONTUAÇÃO:");
jLabel2.setFont(new java.awt.Font("MV Boli", 1, 36)); // NOI18N
jLabel2.setText("JOGO DA MEMÓRIA");
reiniciando.setText("REINICIAR");
reiniciando.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
reiniciandoActionPerformed(evt);
}
});
pack();
}// </editor-fold>
int jogada1, jogada2;//GUARDAR AS DUAS ÚLTIMAS CARTAS.
public void verificaGanhador(){
if(jogada1 == jogada2){
JOptionPane.showMessageDialog(rootPane, "Ganhou!");
}else{
JOptionPane.showMessageDialog(rootPane, "Perdeu!!");
IniciaJogo();
}
}
private void cartinhas0MouseClicked(java.awt.event.MouseEvent evt) {
ImageIcon PuxarCarta = new ImageIcon("imagens\\"+imagemCartas[0]);
Image miniCarta = PuxarCarta.getImage().getScaledInstance(96,96, java.awt.Image.SCALE_SMOOTH);
PuxarCarta = new ImageIcon(miniCarta);
cartinhas0.setIcon(PuxarCarta);
if(jogada1 == -1){
jogada1 = 0;
}else{
jogada2 = 0;
verificaGanhador();
}
}
private void cartinhas1MouseClicked(java.awt.event.MouseEvent evt) {
ImageIcon PuxarCarta = new ImageIcon("imagens\\"+imagemCartas[1]);
Image miniCarta = PuxarCarta.getImage().getScaledInstance(96,96, java.awt.Image.SCALE_SMOOTH);
PuxarCarta = new ImageIcon(miniCarta);
cartinhas1.setIcon(PuxarCarta);
if(jogada1 == 0){
jogada1 = 1;
}else{
jogada2 = 1;
verificaGanhador();
}
}
private void cartinhas2MouseClicked(java.awt.event.MouseEvent evt) {
// TODO add your handling code here:
ImageIcon PuxarCarta = new ImageIcon("imagens\\"+imagemCartas[2]);
Image miniCarta = PuxarCarta.getImage().getScaledInstance(96,96, java.awt.Image.SCALE_SMOOTH);
PuxarCarta = new ImageIcon(miniCarta);
cartinhas2.setIcon(PuxarCarta);
if(jogada1 == 1){
jogada1 = 2;
}else{
jogada2 = 2;
verificaGanhador();
}
}
private void cartinhas3MouseClicked(java.awt.event.MouseEvent evt) {
// TODO add your handling code here:
ImageIcon PuxarCarta = new ImageIcon("imagens\\"+imagemCartas[3]);
Image miniCarta = PuxarCarta.getImage().getScaledInstance(96,96, java.awt.Image.SCALE_SMOOTH);
PuxarCarta = new ImageIcon(miniCarta);
cartinhas3.setIcon(PuxarCarta);
if(jogada1 == 2){
jogada1 = 3;
}else{
jogada2 = 3;
verificaGanhador();
}
}
private void cartinhas4MouseClicked(java.awt.event.MouseEvent evt) {
// TODO add your handling code here:
ImageIcon PuxarCarta = new ImageIcon("imagens\\"+imagemCartas[4]);
Image miniCarta = PuxarCarta.getImage().getScaledInstance(96,96, java.awt.Image.SCALE_SMOOTH);
PuxarCarta = new ImageIcon(miniCarta);
cartinhas4.setIcon(PuxarCarta);
if(jogada1 == 3){
jogada1 = 4;
}else{
jogada2 = 4;
verificaGanhador();
}
}
private void cartinhas5MouseClicked(java.awt.event.MouseEvent evt) {
// TODO add your handling code here:
ImageIcon PuxarCarta = new ImageIcon("imagens\\"+imagemCartas[5]);
Image miniCarta = PuxarCarta.getImage().getScaledInstance(96,96, java.awt.Image.SCALE_SMOOTH);
PuxarCarta = new ImageIcon(miniCarta);
cartinhas5.setIcon(PuxarCarta);
if(jogada1 == 4){
jogada1 = 5;
}else{
jogada2 = 5;
verificaGanhador();
}
}
private void cartinhas6MouseClicked(java.awt.event.MouseEvent evt) {
// TODO add your handling code here:
ImageIcon PuxarCarta = new ImageIcon("imagens\\"+imagemCartas[6]);
Image miniCarta = PuxarCarta.getImage().getScaledInstance(96,96, java.awt.Image.SCALE_SMOOTH);
PuxarCarta = new ImageIcon(miniCarta);
cartinhas6.setIcon(PuxarCarta);
if(jogada1 == 5){
jogada1 = 6;
}else{
jogada2 = 6;
verificaGanhador();
}
}
private void cartinhas7MouseClicked(java.awt.event.MouseEvent evt) {
// TODO add your handling code here:
ImageIcon PuxarCarta = new ImageIcon("imagens\\"+imagemCartas[7]);
Image miniCarta = PuxarCarta.getImage().getScaledInstance(96,96, java.awt.Image.SCALE_SMOOTH);
PuxarCarta = new ImageIcon(miniCarta);
cartinhas7.setIcon(PuxarCarta);
if(jogada1 == 6){
jogada1 = 7;
}else{
jogada2 = 7;
verificaGanhador();
}
}
private void cartinhas8MouseClicked(java.awt.event.MouseEvent evt) {
// TODO add your handling code here:
ImageIcon PuxarCarta = new ImageIcon("imagens\\"+imagemCartas[8]);
Image miniCarta = PuxarCarta.getImage().getScaledInstance(96,96, java.awt.Image.SCALE_SMOOTH);
PuxarCarta = new ImageIcon(miniCarta);
cartinhas8.setIcon(PuxarCarta);
if(jogada1 == 7){
jogada1 = 8;
}else{
jogada2 = 8;
verificaGanhador();
}
}
private void cartinhas9MouseClicked(java.awt.event.MouseEvent evt) {
// TODO add your handling code here:
ImageIcon PuxarCarta = new ImageIcon("imagens\\"+imagemCartas[9]);
Image miniCarta = PuxarCarta.getImage().getScaledInstance(96,96, java.awt.Image.SCALE_SMOOTH);
PuxarCarta = new ImageIcon(miniCarta);
cartinhas9.setIcon(PuxarCarta);
if(jogada1 == 9){
jogada1 = 10;
}else{
jogada2 = 10;
verificaGanhador();
}
}
private void cartinhas10MouseClicked(java.awt.event.MouseEvent evt) {
// TODO add your handling code here:
ImageIcon PuxarCarta = new ImageIcon("imagens\\"+imagemCartas[10]);
Image miniCarta = PuxarCarta.getImage().getScaledInstance(96,96, java.awt.Image.SCALE_SMOOTH);
PuxarCarta = new ImageIcon(miniCarta);
cartinhas10.setIcon(PuxarCarta);
if(jogada1 == 10){
jogada1 = 9;
}else{
jogada2 = 9;
verificaGanhador();
}
}
private void cartinhas11MouseClicked(java.awt.event.MouseEvent evt) {
// TODO add your handling code here:
ImageIcon PuxarCarta = new ImageIcon("imagens\\"+imagemCartas[11]);
Image miniCarta = PuxarCarta.getImage().getScaledInstance(96,96, java.awt.Image.SCALE_SMOOTH);
PuxarCarta = new ImageIcon(miniCarta);
cartinhas11.setIcon(PuxarCarta);
if(jogada1 == 11){
jogada1 = 10;
}else{
jogada2 = 10;
verificaGanhador();
}
}
private void cartinhas12MouseClicked(java.awt.event.MouseEvent evt) {
// TODO add your handling code here:
ImageIcon PuxarCarta = new ImageIcon("imagens\\"+imagemCartas[12]);
Image miniCarta = PuxarCarta.getImage().getScaledInstance(96,96, java.awt.Image.SCALE_SMOOTH);
PuxarCarta = new ImageIcon(miniCarta);
cartinhas12.setIcon(PuxarCarta);
if(jogada1 == 12){
jogada1 = 11;
}else{
jogada2 = 11;
verificaGanhador();
}
}
private void cartinhas13MouseClicked(java.awt.event.MouseEvent evt) {
// TODO add your handling code here:
ImageIcon PuxarCarta = new ImageIcon("imagens\\"+imagemCartas[13]);
Image miniCarta = PuxarCarta.getImage().getScaledInstance(96,96, java.awt.Image.SCALE_SMOOTH);
PuxarCarta = new ImageIcon(miniCarta);
cartinhas13.setIcon(PuxarCarta);
if(jogada1 == 13){
jogada1 = 12;
}else{
jogada2 = 12;
verificaGanhador();
}
}
private void cartinhas14MouseClicked(java.awt.event.MouseEvent evt) {
// TODO add your handling code here:
ImageIcon PuxarCarta = new ImageIcon("imagens\\"+imagemCartas[14]);
Image miniCarta = PuxarCarta.getImage().getScaledInstance(96,96, java.awt.Image.SCALE_SMOOTH);
PuxarCarta = new ImageIcon(miniCarta);
cartinhas14.setIcon(PuxarCarta);
if(jogada1 == 14){
jogada1 = 13;
}else{
jogada2 = 13;
verificaGanhador();
}
}
private void cartinhas15MouseClicked(java.awt.event.MouseEvent evt) {
// TODO add your handling code here:
ImageIcon PuxarCarta = new ImageIcon("imagens\\"+imagemCartas[15]);
Image miniCarta = PuxarCarta.getImage().getScaledInstance(96,96, java.awt.Image.SCALE_SMOOTH);
PuxarCarta = new ImageIcon(miniCarta);
cartinhas15.setIcon(PuxarCarta);
if(jogada1 == 15){
jogada1 = 14;
}else{
jogada2 = 14;
verificaGanhador();
}
}
private void cartinhas16MouseClicked(java.awt.event.MouseEvent evt) {
// TODO add your handling code here:
ImageIcon PuxarCarta = new ImageIcon("imagens\\"+imagemCartas[16]);
Image miniCarta = PuxarCarta.getImage().getScaledInstance(96,96, java.awt.Image.SCALE_SMOOTH);
PuxarCarta = new ImageIcon(miniCarta);
cartinhas16.setIcon(PuxarCarta);
if(jogada1 == 16){
jogada1 = 15;
}else{
jogada2 = 15;
verificaGanhador();
}
}
private void cartinhas17MouseClicked(java.awt.event.MouseEvent evt) {
// TODO add your handling code here:
ImageIcon PuxarCarta = new ImageIcon("imagens\\"+imagemCartas[17]);
Image miniCarta = PuxarCarta.getImage().getScaledInstance(96,96, java.awt.Image.SCALE_SMOOTH);
PuxarCarta = new ImageIcon(miniCarta);
cartinhas17.setIcon(PuxarCarta);
if(jogada1 == 17){
jogada1 = 16;
}else{
jogada2 = 16;
verificaGanhador();
}
}
private void cartinhas18MouseClicked(java.awt.event.MouseEvent evt) {
// TODO add your handling code here:
ImageIcon PuxarCarta = new ImageIcon("imagens\\"+imagemCartas[18]);
Image miniCarta = PuxarCarta.getImage().getScaledInstance(96,96, java.awt.Image.SCALE_SMOOTH);
PuxarCarta = new ImageIcon(miniCarta);
cartinhas18.setIcon(PuxarCarta);
if(jogada1 == 18){
jogada1 = 17;
}else{
jogada2 = 17;
verificaGanhador();
}
}
private void cartinhas19MouseClicked(java.awt.event.MouseEvent evt) {
ImageIcon PuxarCarta = new ImageIcon("imagens\\"+imagemCartas[19]);
Image miniCarta = PuxarCarta.getImage().getScaledInstance(96,96, java.awt.Image.SCALE_SMOOTH);
PuxarCarta = new ImageIcon(miniCarta);
cartinhas19.setIcon(PuxarCarta);
if(jogada1 == 19){
jogada1 = 18;
}else{
jogada2 = 18;
verificaGanhador();
}
}
ArrayList<Integer> jogo = new ArrayList<Integer>();{
jogo.add(cartinhas0);
jogo.add(cartinhas1);
}