PAGUE 6 MESES
LEVE 12 MESES
GARANTIR DESCONTO

Fórum Jogo da Memoria #521271

28/05/2015

0

Pessoal fiz um jogo da memoria em java, mas não estou conseguindo fundir o menu com o jogo, pois queria que o menu ficasse em cima e o jogo em baixo, alguémpode me ajudar !!! desde já agradeço!!!

esse e o código da carta
import javax.swing.JLabel;
import javax.swing.ImageIcon;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.event.*;
import java.util.Timer;
import java.util.TimerTask;
import javax.swing.JOptionPane;

class Carta extends JLabel
{
	protected int id;
	protected boolean status = false;
	protected static final ImageIcon IMGVERSO = new ImageIcon("cartas/verso.gif");
	protected static final ImageIcon IMGVERSOEFEITO = new ImageIcon("cartas/versoefeito.gif");
        Boolean boo=false;
	protected ImageIcon imagem;
	JogoDaMemoria jogo;
        
        

	Carta(int id)
	{ 
		
		this.id = id;
		imagem = new ImageIcon("cartas/c"+id+".gif");
		setPreferredSize(new Dimension(164,248));
		setBackground(Color.WHITE);
		setOpaque(true); // faz ser trasparente
                setIcon(IMGVERSO);
                
                
                
		addMouseListener(new MouseAdapter() // oque eu quero executar
		{
			public void mouseEntered(MouseEvent evento) //passar o mouse 
			{
				if(!status)
					setIcon(IMGVERSOEFEITO);
			}
			
			public void mouseExited(MouseEvent evento) // tirar o mouse
			{
				if(!status)
					setIcon(IMGVERSO);
			}
				
			public void mouseReleased(MouseEvent evento) // clicar
			{
                            viraCarta(true);
                          
                
			/*	if(i==1)
				{
					viraCarta(true);
					i=2;
				}
				else
				if(i==2)
				{
					viraCarta(false);
					setIcon(IMGVERSO);	
					i=1;				
				}*/
			}
		});
                                
	}

	public void viraCarta(boolean sts)
	{
		status = sts;
		setIcon(sts ? imagem : IMGVERSO);
	}
        
	public int getId()
	{
		return id;
	}
}



Esse e do jogo da memoria
import java.awt.event.*;
import java.awt.*;
import javax.swing.*;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Iterator;
import java.util.TimerTask;


class JogoDaMemoria extends JFrame
{
    Carta c1,c2,c3,c4,c5,c6,c7,c8,c9,c10;
    ArrayList baralho;
    Carta ref;
    static int pontos=0;
    static int jogadas=0;
    static int fimdejogo=0;
    static JLabel texto;
    int x[] = new int[20];
    Menu meno;
    int delay = 1000;   // delay de 5 seg.
    int interval = 1000;  // intervalo de 1 seg.
    java.util.Timer timer = new java.util.Timer();
    
    
    JogoDaMemoria()
    {
        super("Jogo da Memoria");
        setSize(1200,1200);
        setLocation(170,0);
        ref=null;
        baralho = new ArrayList<Carta>();
        getContentPane().setLayout(new FlowLayout());
        texto = new JLabel();
        getContentPane().add(texto).setBounds(10,50,90,30);
        texto.setText("Pontuação: "+pontos);
        
        for(int i=1; i<=10; i++)
        {
                baralho.add(new Carta(i));
                baralho.add(new Carta(i));
                Collections.shuffle(baralho); 
                
        }
        
        for(int i=0; i<20; i++)
        {
            Carta c = (Carta) baralho.get(i);
            c.addMouseListener(new MouseAdapter()
            {
                public void mouseReleased(MouseEvent e)	
                {
                        Carta c = (Carta)e.getSource();
                        if(ref == null&&!c.boo)
                        {
                            if(x[c.id]==c.id)
                            {
                                System.out.println("Carta aberta");
                            }
                            else
                            {
                                ref = c;
                            }    
                        }
                        else
                        {
                            if(x[c.id]==c.id)
                            {
                                System.out.println("Carta aberta");
                            }
                            else
                            if(ref.id==c.id)
                            {
                                if(ref==c)
                                {
                                    System.out.println("Clicou na mesma carta");
                                    ref=c;
                                }
                                else
                                {
                                    System.out.println("Acertou");
                                    pontos=pontos+10;
                                    jogadas=jogadas+2;
                                    fimdejogo=fimdejogo+1;
                                    if(fimdejogo==10)
                                    {
                                        JOptionPane.showMessageDialog(null,"Vocêª ganhou","erro",JOptionPane.INFORMATION_MESSAGE);
                                        Menu.text.setText("Pontuação: "+JogoDaMemoria.pontos);
                                        Menu.jogad.setText("Jogadas executadas: "+JogoDaMemoria.jogadas);
                                        setVisible(false);
                                    }
                                    texto.setText("Pontuação: "+JogoDaMemoria.pontos);
                                    x[ref.id]=c.id;
                                    ref=null;
                                }

                            }
                            else
                            {
                                if(x[ref.id]==ref.id||x[c.id]==c.id)
                                {
                                    System.out.println("Ja foi aberta");
                                    ref=c;
                                }
                                else
                                {
                                    texto.setText("Pontuação: "+JogoDaMemoria.pontos);
                                    if(pontos<=0)
                                    {
                                        pontos=0;
                                    }
                                    else
                                    {
                                        pontos=pontos-2;
                                    }
                                    texto.setText("Pontuação: "+JogoDaMemoria.pontos);
                                    JOptionPane.showMessageDialog(null,"Cartas diferentes","erro",JOptionPane.ERROR_MESSAGE);
                                    jogadas=jogadas+2;
                                    ref.viraCarta(false);
                                    c.viraCarta(false);
                                    ref=null;	
                                }
                            }
                        }
                    }
            });	

            getContentPane().add(c);
	}
        
            getContentPane().setBackground(Color.WHITE);
            setVisible(true);
    }
    
    
        public void Time(Boolean sts)
	{
            timer.scheduleAtFixedRate(new TimerTask() {
               public void run() {
                   
                   for(int j=0;j<20;j++)
                   {
                    Carta C = (Carta)baralho.get(j);
                    C.viraCarta(sts);
                   }
               }
            }, 1000, 1000);
        }  


}


e esse é o menu
import java.awt.event.*;
import java.awt.*;
import javax.swing.*;
import java.util.ArrayList;		//Implementação redimensionável-matriz da interface List. 
import java.util.TimerTask;		//Implementa todas as operações de lista opcional, e permite que todos os elementos, incluindo nulo. 
                           		//Além de implementar a interface List, essa classe fornece métodos para manipular o tamanho da matriz que é usado internamente para armazenar a lista. 
                           		//(Esta classe é aproximadamente equivalente a Vector, exceto que ele não está sincronizado.)
//A TimerTask classe representa uma tarefa para ser executada em um determinado momento

public class Menu extends JFrame
{       
        static JLabel text,jogad;
		JButton b1,b2;
		JogoDaMemoria jogo;
        int i=1;
        static int aux;
        Boolean sim;
	
		Menu()
		{
			super("Menu");
			setSize(169,700);
			b1 = new JButton("Novo Jogo");
			b2 = new JButton("Sair");
            jogad = new JLabel("Jogadas executadas: ");
			text = new JLabel("Pontuação: ");
			getContentPane().add(b1).setBounds(10,10,110,30);
			getContentPane().add(b2).setBounds(10,120,90,30);
			getContentPane().add(text).setBounds(10,50,90,30);
                        getContentPane().add(jogad).setBounds(10,70,200,30);

			b1.addActionListener(new ActionListener()
			{
				public void actionPerformed(ActionEvent e)
				{
                                    aux=1;
                                    
                                    if(i==1)
                                    {
                                        jogo = new JogoDaMemoria();
                                        i=2;
                                    }
                                    else
                                    {
                                        int resposta = JOptionPane.showConfirmDialog(null, "Deseja recomeçar novo jogo?","erro", JOptionPane.YES_NO_OPTION);
                                        
                                        if (resposta == JOptionPane.YES_OPTION) 
                                        {
                                            jogo.setVisible(false);
                                                if(i==2)
                                                {
                                                    text.setText("Pontuação: "+JogoDaMemoria.pontos);
                                                    jogad.setText("Jogadas executadas: "+JogoDaMemoria.jogadas);
                                                    JogoDaMemoria.pontos = 0;
                                                    JogoDaMemoria.jogadas = 0;
                                                    jogo = new JogoDaMemoria();
                                                    System.out.println(JogoDaMemoria.pontos);
                                                }
                                        } 
                                        else 
                                        if (resposta == JOptionPane.NO_OPTION) 
                                        {
                                            text.setText("Pontuação: "+JogoDaMemoria.pontos);
                                            jogad.setText("Jogadas executadas: "+JogoDaMemoria.jogadas);
                                            JogoDaMemoria.pontos = 0;
                                            JogoDaMemoria.jogadas = 0;
                                            jogo.setVisible(false);
                                            i=1;
                                        }
                                    }
                                    
				}
			});
			
			b2.addActionListener(new ActionListener()
			{
				public void actionPerformed(ActionEvent e)
				{
                                    jogo.setVisible(false);
                                    text.setText("Pontuação: "+JogoDaMemoria.pontos);
                                    jogad.setText("Jogadas executadas: "+JogoDaMemoria.jogadas);
                                    JogoDaMemoria.pontos = 0;
                                    JogoDaMemoria.jogadas = 0;
                                    i=1;
				}
			});
			
			
			setLayout(null);
			setVisible(true);	
                        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		}
		
		
				public static void main(String[] args)
				{
				new Menu();
				}
}


Aki estar as cartas
[img]http://arquivo.devmedia.com.br/forum/imagem/433678-20150528-221155.gif[/img][img]http://arquivo.devmedia.com.br/forum/imagem/433678-20150528-221216.gif[/img][img]http://arquivo.devmedia.com.br/forum/imagem/433678-20150528-221223.gif[/img][img]http://arquivo.devmedia.com.br/forum/imagem/433678-20150528-221232.gif[/img][img]http://arquivo.devmedia.com.br/forum/imagem/433678-20150528-221241.gif[/img][img]http://arquivo.devmedia.com.br/forum/imagem/433678-20150528-221249.gif[/img][img]http://arquivo.devmedia.com.br/forum/imagem/433678-20150528-221257.gif[/img][img]http://arquivo.devmedia.com.br/forum/imagem/433678-20150528-221305.gif[/img][img]http://arquivo.devmedia.com.br/forum/imagem/433678-20150528-221313.gif[/img][img]http://arquivo.devmedia.com.br/forum/imagem/433678-20150528-221323.gif[/img][img]http://arquivo.devmedia.com.br/forum/imagem/433678-20150528-221331.gif[/img][img]http://arquivo.devmedia.com.br/forum/imagem/433678-20150528-221339.gif[/img]
Gustavo

Gustavo

Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar