Tengo una tarea para el miercoles 15 de Diciembre del 04 de realizar un juego "memorama" para niños. Con las funciones on clic permut ya puedo hacer que cambie o que gire las imágenes pero, el problema no es ese, el problema es que no puedo validar que solamente gire dos imágenes o que solamente active dos clics y si son iguales que siga jugando ya con un par menos o lo contrario, que despues de dar dos clics y la imágen no es igual que las tape.
Si me pueden ayudar, se los agradeceré:
no he entendido muy bien tu pregunta pero bueno:
cuando capturas el evento de click 'MouseEvent' blablabla
llamas a una funcion con ese mismo evento.
cada una de las fichas tiene que tener unas coordenadas (x,y) y un width y un height.
el evento MouseEvent evt
tiene una funcion que te indica donde haspinchado.
evt.getPoint();
y eso lo pones en un point
Point p = evt.getPoint();
y ahora haces un bucle para buscar si has pinchado encima de alguna de las imagenes.
y puedes por ejemplo, ponerle un booleano, 'pinchado' a true.
con lo cuál, si al encontrar la imagen que has pinchado, tenia ese booleano a true, no haces nada.
en serio no he entendido tu preguna, y llego tarde a clase ¬¬' (como siempre que me entretengo en este foro jeje) luego releo tu cuestión que lo mismo me he pasao 3 pueblo (asco)
Si es java (un applet quizás?) (JButton)evt.getSource() devuelve el boton pulsado. Puede hacerse con toggle buttons con una imagen de 'deseleccionado' (la parte trasera de las cartas) y otra de seleccionado (la imagen real). Si los botones estan en una matriz, al pinchar en uno, con el actionPerformed se recorre la matriz en busca de otro seleccionado, y se comparan sus imagenes (las imagenes pueden tener un codigo apuntado en otra matriz de enteros). Darles la vuelta es tan facil como jButtoni.setSelected(boolean) y ocultarlos jButtoni.setVisible(false). (con javax.swing, con awt es parecido, pero creo que cambiaba la api de setvisible, ya no recuerdo).
he tao pensando jeje y lo de comparar que has pinchado el mismo objeto, es mucho mas sencillo.
ya pensando no en el memorama sino en un tipo mjajong.
si tus objetos son Piezas, necesitas 3 variables.
Pieza p1;
Pieza p2;
int numClicks.
a cada click, dependiendo el numClicks actualizas p1 o p2.
cuando numClicks sea 1 ya q se actualizara como (numClicks+1)%2
puedes o provocar un evento propio o llamar a una funcion tuya, provocar un evento queda mas bonito pero menos eficiente.
y esta funcion es la que se encarga de ver si has pinchado en dos objetos parecido, iguales o distintos.
p1.equals(p2);
sirve pa saber si es el mismo.
---------------------------------------
pero para lo del memorama es mucho mas sencillo :)