Criando um loop em POO utilizando Swing

6 respostas
java
N
Olá,estou tentando criar um simples jogo,estilo cookie breaker

no qual você clica na tela e a cada clicada vai ganhando cookies,com 400 cookies você compra um robo escravo,no qual se ganha 1 cookie de 3 em 3 segundos,até ai tudo bem,para quebrar os cookies em um determinado tempo você utiliza um loop e dentro dele um thread.sleep

Porém

Quando eu uso o

while(true){

Try{Thread.sleep(3000);

soma += 1;

}catch(Exception erro){}
O programa simplesmente não executa e quando uso o

for(int e = 1; i < 1000; i++){

}

Os 1000 cookies são instantaneamente salvos(Até com o thread.sleep)

Quero saber qual loop se adapta mais a esta situação

Nesse caso quero que ele adiciona mais 1 em uma variável inteira de 3 em 3 segundos

Obrigado

6 Respostas

darlan_machado

Erro? Log?

Obviamente você não sabe o que acontece por ignorar a melhor de todas as práticas de programação: capturar e tratar adequadamente toda e qualquer exceção ou erro.

N

Olá,como eu disse ele não executa,não apresenta erros ou nada do tipo,simplesmente não abre nada,mas é como se o programa estivesse entalado compreende,eu acho que o while “pesou” muito o programa a ponto dele não executar e travar,para isso preciso saber se existe outro loop(além do for,while,if)poderia me ajudar com isto?

E como assim capturar e tratar adequadamente toda e qualquer exceção ou erro?
Desde já agradeço

PS: Sou iniciante no ramo de programação,fui me interessar mesmo no inicio do ano,comprei um livro e pretendo me aprofundar em Java para não fazer mais estas perguntas e começar a responder invés de perguntar,obrigado pelo compreensão

darlan_machado

Veja que, na minha publicação anterior, eu ressaltei isso

Este trecho captura as exceções. Porém você não está tratando (efetivamente, não faz nada com essa exceção).
Você pode fazer isso

catch(Exception erro) {
    //Possível opção para tratar a exceção
    JOptionPane.showMessageDialog(null, "Erro: " + erro.getMessage());
}

Quando qualquer exceção for capturada, vai abrir um popup informando a causa da mesma.
Veja, o ideal seria implementar uma estrutura de log, para teu sistema já ficar mais interessante. Como é desenvolvimento e está começando, pode usar isso que já ajuda muito

javaflex

catch(Exception erro){}

Se este livro está te ensinando a esconder os erros, melhor procurar outro.

N

A,sobre isto,eu aprendi com um canal do youtube,pelo visto está errado,mas sobre o livro,aprendi muito com ele e recomendo
O nome é Java para Leigos
Pois bem,vou seguir o exemplo do amigo ali de cima,mas obrigado pela ajuda :space_invader::+1:

N

Muito Obrigado pela ajuda e compreensão e garanto que vou usar isto muito
Abraços :space_invader::+1:

Criado 30 de março de 2018
Ultima resposta 2 de abr. de 2018
Respostas 6
Participantes 3