Está en la página 1de 7

GRAFICACIN

MEMORAMA
Docente: CHAVEZ SANTANDER LILIANA MICHELLE

Grupo: 6A

Clave de la asignacin: SCM0415

Alumno: Labra Alvarado Luis Antonio

MEMORAMA
Es un juego clsico, el cual trata en colocar tarjetas boca abajo e irlas destapando de 2 en 2, si encuentras 2 tarjetas iguales se quedan boca arriba y si son diferentes se colocan boca abajo nuevamente. En esta simulacin de un memorama el objetivo es encontrar todas las tarjetas iguales con el menor nmero de movimientos. El juego comienza de esta forma

Dndole un click descubres la tarjeta

Si las tarjetas no son iguales se le de un tercer click que volteara las tarjetas

Si las tarjetas son iguales al hacer un tercer click le das vuelta a la tarjeta seleccionada.

El objetivo es completar el memorama con la menor cantidad de intentos posibles

Cdigo
import java.awt.*; import javax.swing.*; import java.awt.event.*; class memo extends JFrame implements ActionListener { //matriz de botones JButton boton [][] = new JButton[5][8]; ImageIcon foto []=new ImageIcon[20]; ImageIcon vacia; JLabel Nintentos=new JLabel("Nmero de intentos: 0 "); JLabel Puntos=new JLabel("Labra Alvarado Luis Antonio ",JLabel.RIGHT); //Donde se coloca cada ficha? matriz de fichas!! int filas,columnas; int ficha [][]=new int [5][8]; int comprobar=0; int pos1,i1,j1,j2,i2,quedan,intentos=0; memo() { //ficha por defecto vacia=new ImageIcon("C:/Users/Luis/Desktop/Memo/x.JPG"); //cargar las imgenes . . . . las imgenes se encuentran en la misma carpeta que el archivo Parejas.java //y se nombran de la forma x.JPG. for(int i=0;i<20;i++) { foto[i]=new ImageIcon("C:/Users/Luis/Desktop/Memo/"+Integer.toString(i) +".JPG"); } JPanel central=new JPanel(new GridLayout(5,8)); //Aadir Botones al panel principal de botones for(int i=0;i<5;i++) { for(int j=0;j<8;j++) { boton[i][j]=new JButton(); //aade el actionlistener al boton boton[i][j].addActionListener(this); boton[i][j].setBackground(Color.black); central.add(boton[i][j]); } } add(central,"Center"); JPanel Pun = new JPanel(); Pun.setLayout(new GridLayout(1,2)); Pun.add(Nintentos); Pun.add(Puntos); add(Pun,"South"); //Mtodo que coloca las imgenes aleatoriamente en la matriz ImagenesAleatorias (); //Mtodo para cerrar la ventana addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent we) { System.exit(0); }

}); // Propiedades de la ventana

setTitle("----------------------------------------------------------------------MEMORAMA---------------------------------------------------"); setResizable(false); setSize(800,600); setVisible(true); } void ImagenesAleatorias () { int x,y=0;int numero=-1; double x1,y1=0; //Pone la matriz de las fichas a -1. El nmero -1 indica que no tiene ficha for(int i=0;i<5;i++) { for(int j=0;j<8;j++) { ficha[i][j]=-1; } } //Crear Numeros aleatorios. for (int i=0;i<5;i++) { for(int j=0;j<8;j++) { //Genera una posicin aleatoria dentro de la matriz dada do { x1=Math.random()*5; y1=Math.random()*8; x=(int)x1; y=(int)y1; } while(ficha[x][y]!=-1); numero++; if (numero==20)numero=0; ficha[x][y]=numero; boton[i][j].setIcon(vacia); } } } public void actionPerformed(ActionEvent ae) { for (int i=0;i<5;i++) { for(int j=0;j<8;j++) { if(ae.getSource()==boton[i][j]) { if(boton[i][j].getIcon().equals(vacia)) { comprobar++; //Cuando la pulsacin no es la n 3 muestra la carta de esa posicion if(comprobar!=3)boton[i][j].setIcon(foto[ficha[i][j]]); if(comprobar==1) //Guarda las propiedades de la 1 carta { pos1=ficha[i][j]; //guarda la ficha que se encuentra en esa posicin

i1=i; //coordenada i de la ficha j1=j; //cordenada j de la ficha intentos++; //contador del nmero de intentos para establecer record } if(comprobar==2) //Guarda las propiedades de la 2 carta { if(pos1==ficha[i][j]) //Las cartas coinciden { quedan++; //Contador de fichas que han salido comprobar=0; //Poner a 0 la pulsacin intentos++; //contador de el numero de intentos } else //Has fallado. Las fichas son diferentes { i2=i; j2=j; }

} fichas

if(comprobar==3) //El 3 Click, al ser distintas vuelve a ocultar las { boton[i1][j1].setIcon(vacia); boton[i2][j2].setIcon(vacia); comprobar=0; } } } } } //El nmero de intentos que llevas..... Nintentos.setText("Nmero de intentos: "+intentos + " "); //Ganar consigues descrubir el panel. Verifica puntuacin y vuelve a empezar if(quedan==20) { JOptionPane.showMessageDialog(this,"Juego terminado en: intentos "," ----Resultado---- ",JOptionPane.INFORMATION_MESSAGE,vacia); quedan=0; intentos=0; ImagenesAleatorias(); Nintentos.setText("Nmero de intentos: "+intentos ); } }

" + intentos + "

public static void main (String [] args) { //lanzar la aplicacin new memo(); }

También podría gustarte