1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.
  2. Informação: Pela 0:30 desta Sexta-feira (9 de Dezembro, 23:30 de Quinta-feira nos Açores) o Fórum e restantes sites da ZWAME vão estar offline para manutenção durante cerca de 1h30.
    Se necessário faremos actualizações via Twitter e Facebook.
    Remover anúncio

[JAVA] Jogo da memoria

Discussão em 'Programação' iniciada por XxIkKo, 12 de Junho de 2008. (Respostas: 5; Visualizações: 4003)

  1. Sou estudante e no ambito da disciplina de programação java 1 do meu curso foi-nos proposto pelo professor elaborar um jogo da memoria.

    Eu criei um array de botões para guardar as imagens, mas ao baralhar as cartas não consigo evitar que elas apareçam mais de duas vezes.
    Para baralhar as imagens utilizei o método Math.random().

    Nao sei se me fiz compreender mas precisava mesmo de ajuda...
     
  2. Usa um ArrayList e remove os elementos à medida que eles forem sendo seleccionados.
     
  3. Podias dar-me um exemplo??

    obrigado
     
  4. OubeLa

    OubeLa Power Member

    Podia ser simplesmente um array bidimensional. E ou mostrava a carta virada ao contrario (se ainda nao tivesse acertado nessa), ou então mostrava o valor da carta caso ja estivesse sido estabelecido o par.
     
  5. olha eu nao consigo fazer por aí...

    mas aqui ta o meu codigo pa baralhar

    Código:
    import javax.swing.*;
    import java.awt.*;
    import java.awt.event.*;
    import java.applet.*;
    import javax.swing.event.*;
    
    public class PainelJogo extends JApplet/* implements ActionListener*/ {
            private JButton botoes [] = new JButton [10];
            private JButton ajudaA;
            private ImageIcon imagem [] = new ImageIcon [6];
            private JLabel HighScore, cronometro, pontuacao, HS, Crono, pont;
            int i;
            JMenuBar ficheiro = new JMenuBar();
            JMenu jogo = new JMenu("Jogo");
            JMenu ajuda = new JMenu("Ajuda");
            JMenuItem novo = new JMenuItem("Novo Jogo");
            JMenuItem reiniciar = new JMenuItem("Reiniciar");
            JMenuItem sair = new JMenuItem("Sair");
            public void init() {
                
                    for(int i = 0; i <= 9; i++) {
                    botoes[i] = new JButton();
                }
                
                HighScore = new JLabel("HighScore: ");
                cronometro = new JLabel("Cronometro: ");
                pontuacao = new JLabel("Pontuação: ");
                HS = new JLabel(" ");
                Crono = new JLabel(" ");
                pont = new JLabel(" ");
                
                //IMAGENS
                
                
                imagem[0] = new ImageIcon ("0.jpg");
                imagem[1] = new ImageIcon ("1.jpg");
                imagem[2] = new ImageIcon ("2.jpg");
                imagem[3] = new ImageIcon ("3.jpg");
                imagem[4] = new ImageIcon ("4.jpg");
                imagem[5] = new ImageIcon ("5.jpg");
                
                
                //MENU
                
    
                this.setJMenuBar(ficheiro);
                ficheiro.add(jogo);
                ficheiro.add(ajuda);
                //ajuda.addActionListener(this);
                jogo.add(novo);
                jogo.add(reiniciar);
                jogo.add(sair);
            
                JPanel painelA = new JPanel(new FlowLayout());
                JPanel painelB = new JPanel(new GridLayout(2,5));
                
                painelA.add(HighScore);
                painelA.add(cronometro);
                painelA.add(pontuacao);
                
    
                
                for(int i = 0; i <= 9; i++) {
                    painelB.add(botoes[i]);
                }
                
                add(painelA, BorderLayout.SOUTH);
                add(painelB, BorderLayout.CENTER);
                
                setSize(900,600);
                
                                
                        
                        
                        for(int i = 0; i <= botoes.length; i++) {
                            int j = (int)(Math.random()*4);
                        if (j == 0) {
                            botoes[i].setIcon(imagem[0]);
                        }
                        else if (j == 1) {
                            botoes[i].setIcon(imagem[1]);
                        }
                        else if (j == 2) {
                            botoes[i].setIcon(imagem[2]);
                        }
                        else if (j == 3) {
                            botoes[i].setIcon(imagem[3]);
                        }
                        else if (j == 4) {
                            botoes[i].setIcon(imagem[4]);
                        }
                    }
                    }
                    
                }
    para já eu ainda só tou a mostrar na imagem para confirmar se baralha
    mas ainda ta com o mesmo problema de baralhar, pois aprecem as cartas mais que duas vezes...

    Nota: se provavelmente tiver alguma lonha desnecessária provavelmente fui eu que tive a experimentar algo e nao apguei...
     
    Última edição: 12 de Junho de 2008

Partilhar esta Página