En el cual consta con 9 espacios designados por botones que se enumeran del 0 al 8 de izquierda a derecha , que están vinculados con partes de imagen para dar origen a una imagen en total.
Los botones (imágenes) tienen un número fijo de tal forma que nos permite saber si el puzzle esta resuelto, cuando tienen la secuencia de 0-8 en ese orden de izquierda a derecha.
Tiene una función Resolver, lo que hace es que a través de la función random desordena los espacios del 0 al 8.
public void revolver() {
for (int i = 0; i < 8; i++) {
cambiar(i, (int) (Math.random() * 8));
}
contador = 0;//se utiliza para contar los cambios
}
Donde además de una vez inicializado el puzzle , comienza a correr el tiempo a través de la función run.
public void run() { try { for (;;) { if (segundos == 59) { segundos = 0; minutos++; } if (minutos == 59) { minutos = 0; horas++; } segundos++; Time.setText(horas + ":" + minutos + ":" + segundos); Thread.sleep(1000); } } catch (InterruptedException e) { System.out.println(e.getMessage()); } }
Además de la función que permite cambiar los botones que llevan las imágenes.
void cambiar(int a, int b) { String temporal; Icon imagen; temporal = botones.get(a).getLabel(); imagen = botones.get(a).getIcon(); botones.get(a).setLabel(botones.get(b).getLabel()); botones.get(b).setLabel(temporal); botones.get(a).setIcon(botones.get(b).getIcon()); botones.get(b).setIcon(imagen); }
A continuación el archivo el Puzzle
No hay comentarios:
Publicar un comentario