1
resposta

[Bug] curso 3 Loops e tentativas: aula 7(Desafio: hora da pratica)

Insira aqui a descrição dessa imagem para ajudar na acessibilidade3 - Crie um programa de contagem regressiva. Peça um número e conte deste número até 0, usando um loop while no console do navegador. Como podem ver eu fiz o programa de "contagem regressiva" acima, contudo eu ainda não aprendi a utilizar temporizadores nesse seguimento do curso. Com isso o temporizador não segue a escala de tempo em segundos, a atualização do loop - "while" - é simplesmente intantaneo no console.log.... enfim, digamos que não consigo resolver essa questão, com 100% de exito, nesse seguimento da aula, porque não sei adicionar temporizadores no codigo ainda. Enfim, estou triste que essa bomba não nós deu tempo de desativa-lá. :-C

PS.: Alguma sujestão quanto ao codigo??

Cod.:

let ligarBomba = prompt('Olá! Você vai ligar a bomba amigo? Digite sim ou não.');
let contador = 24;
let fimDaContagem = 0;
// USAREMOS O COMANDO WHILE(ENGUANTO) para dimunuir o contador repetidamente até ficar igual a 0;
if (ligarBomba == 'sim') {
    while (contador > 0) {
    // o console.log mostrara a mensagem de cada rapetição do loop do comando WHILE(enguanto)
        console.log('Executando a iteração ' + contador);
    // linha 8: contador = contador - 1
        contador--;       
            } if (contador == fimDaContagem) {
                alert('KABUUUM! A BOMBA EXPLODIU!');
            }
} else {
    alert('A bomba se manterá desativada.');
}
1 resposta

Olá Gustavo! Tudo bem?

Para adicionar um temporizador à sua contagem regressiva, você pode usar a função setInterval. Isso fará com que o loop diminua o contador a cada segundo. Vou mostrar como você pode ajustar o seu código:

let ligarBomba = prompt('Olá! Você vai ligar a bomba amigo? Digite sim ou não.');
let contador = 24;
let fimDaContagem = 0;

if (ligarBomba == 'sim') {
    let intervalo = setInterval(() => {
        console.log('Executando a iteração ' + contador);
        contador--;

        if (contador < fimDaContagem) {
            clearInterval(intervalo);
            alert('KABUUUM! A BOMBA EXPLODIU!');
        }
    }, 1000); // 1000 milissegundos = 1 segundo
} else {
    alert('A bomba se manterá desativada.');
}

Com esse ajuste, o setInterval irá executar a função a cada segundo, diminuindo o contador e exibindo a mensagem no console. Quando o contador chegar a zero, ele para o intervalo e mostra o alerta de explosão.

Espero ter ajudado e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.