Estou desenvolvedo uma lógica para fazer um jogo, porém emperrei em algo que ocorreu no desenvolvimento dde outro jogo no caso da memória e o que seria esse erro ? Parar um laço for.
Explicando melhor oq seria:
Meu jogo será mais ou menos um quiz de perguntas, e quando o usuário acerta uma pergunta seu carrinho move, só que o problema está na movimentação desse carrinho. No caso quero que ele se mecha aos poucos e não tudo de uma vez !
A movimentação desse carrinho é controlado por um laço for e quando o usuário acerta esse carrinho é movido de uma vez só e não aos poucos devido ao laço for. Antes que digam sobre o Thread.sleep, já testei e percebi que ele não para o LAÇO, mas sim a aplicação.
Crie uma Thread para movimentação do carrinho. Essa Thread ficará em espera (wait) até ser notificada (notify).
Tchauzin![/quote]
Primeiramente gostaria de agradecer a todos pelas respostas, mas como o douglaskd disse quero parar o laço em mili-segundos, e é isso que eu não consigo saber e gostaria se tem algum comando como o break, ou um método como o Thread.sleep.
Quanto a sua sugestão, você poderia dar um pequeno exemplo? Pois nunca usei esse wait e notify.
Pra ficar mais claro darei o exemplo do jogo da memória:
[code]for(int j = 0 ; j<button.length; j++){//// FOR INICIA AQUI
if (e.getSource() == button[j] && contador == 0){/// PRIMEIRO IF
a = button[j].getIndex();
primeiro = j;
button[primeiro].setFaceUp(true);
contador++;
repaint();
break;
} ///FIM PRIMEIRO IF
if (e.getSource() == button[j] && contador == 1){///SEGUNDO IF
b = button[j].getIndex();
segundo = j;
button[segundo].setFaceUp(true);// (SEGUNDA IMAGEM NÃO APARECE, ISSO PQ O LAÇO FOR ESTÁ EM EXECUÇÃO, NO CASO A PAUSA DO LAÇO TERIA DE SER FEITA AQUI !)
if (a == b){
acertou = true;
contador = 0;
}
if (a != b){
acertou = false;
contador = 0;
}
if (acertou == true){
button[primeiro].setEnabled( false );
button[segundo].setEnabled( false );
}
if (acertou == false){
button[primeiro].setFaceUp(false);
button[segundo].setFaceUp(false);
}