Estoy haciendo un juego de memoria, cuando se pulsa el boton "Juego nuevo" intento simular el efecto de revolver las fichas y luego poner imagen por defecto a todas.
Como he utilizado el método Thread.sleep(); entonces he creado un hilo para que haga el efecto de revolver.
Aqui como lo he creado:
Código Java:
Ver original
@Override public void run() { try { for (int x = 0; x < 4; x++) { parejaAleatoria(); jbtn_juegoNuevo.setEnabled(false); for (int y = 0; y < botonesParejas.length; y++) { .toString(posicionesImagenes[y])); .parseInt(botonesParejas[y] .getActionCommand()))); } } jbtn_juegoNuevo.setEnabled(true); } } };
Lo que pasa es que luego cuando hago uso del método "nuevoJuego();" yo llamo al método start del hilo.
Código Java:
Ver original
private void nuevoJuego() { parejaAleatoria(); for (int x = 0; x < botonesParejas.length; x++) { botonesParejas[x].setEnabled(true); .toString(posicionesImagenes[x])); .parseInt(botonesParejas[x].getActionCommand()))); } hilo.start(); tiempo.schedule(task, 0, speed); intentos = 200; primerToque = false; }
La primera vez que se ejecuta el hilo si lo corre bien, pero cuando vuelvo a empezar otro juego me tira IllegalThreadStateException. El error se da cuando llamo al método start();
¿como podría para crear un hilo que se ejecute cada vez que quiero simular el efecto de revolver?
Muchas gracias.
PD: He utilizado un hilo aparte ya que si utilizo Thread.sleep(); me detiene todo el hilo principal.