El código fuente del juego whack-a-mole basado en lenguaje Java
public void mouseClicked(MouseEvent e){
Object source=e.getSource(); //Obtiene la fuente del evento, es decir, la etiqueta del mouse
if( sourcestanceof JLabel){ //Si el evento es un componente de etiqueta
JLabel mouse=(JLabel)source; //Conversión forzada a etiqueta JLabel
mouse.setIcon( null); // Cancelar icono de etiqueta
}
}
});
this.getContentPane().add(mouses) [i]); //Agrega una etiqueta que muestre la tuza al formulario
}
mouses[0].setLocation(253, 300); etiqueta
mouses[1].setLocation(333, 250);
mouses[2].setLocation(388, 296);
mouses[3] .setLocation(362, 364);
mouses[4].setLocation(189, 353);
mouses[5].setLocation(240, 409);
final JLabel backLabel=new JLabel(); //Crea una etiqueta que muestra el fondo
backLabel.setBounds(0, 0, img.getIconWidth(), img.getIconHeight());
this .setBounds(100, 100, img.getIconWidth(), img.getIconHeight());
backLabel.setIcon(img); //Añadir fondo a la etiqueta
this.getContentPane ().add(backLabel); //Agregar etiqueta de fondo al formulario
}
/**
* Núcleo método de hilo
*/
public void run(){
while(true){ //Usar bucle infinito
try {
Thread.sleep(3000); //Dormir el hilo durante 3 segundos
int index=(int)(Math.random()*6); índice de gopher aleatorio
if(mouses[index].getIcon()==null){ //Si la etiqueta del mouse no tiene una imagen configurada
mouses[index].setIcon (imgMouse); //Agrega la imagen a la etiqueta Imagen de Gopher
}
}catch(InterruptedException e){<
/p>
e.printStackTrace();
}
}
}
}