1
resposta

Poderia ser usado um comando while?

Neste exercício, usei um comando while que não permitia o jogo continuar, e sempre limpando novamente os campos. Segue o trecho abaixo:

while(de>=ate){
        alert('o campo "de" deve ser menor que "até" ');
        document.getElementById('quantidade').value = '';
        document.getElementById('de').value='';
        document.getElementById('ate').value= '';
        document.getElementById('resultado').innerHTML= '<label class="texto__paragrafo">Números sorteados:  nenhum até agora</label>';
        quantidade = parseInt(document.getElementById('quantidade').value);
        de = parseInt(document.getElementById('de').value);
        ate = parseInt(document.getElementById('ate').value);
    }
1 resposta

Oi, Carlos! Tudo bem?

Estamos tentando garantir que o valor do campo "de" seja sempre menor que o valor do campo "até". No entanto, o uso do while nesse contexto está causando um loop infinito porque os valores dos campos são redefinidos dentro do loop, mas o usuário não tem a chance de corrigi-los.

Uma abordagem mais eficaz seria usar uma estrutura de controle condicional, como um if, para verificar os valores e alertar o usuário, permitindo que ele corrija os campos sem entrar em um loop infinito. Aqui está um exemplo de como você pode fazer isso:

// Função para validar os campos
function validarCampos() {
    let de = parseInt(document.getElementById('de').value);
    let ate = parseInt(document.getElementById('ate').value);

    if (de >= ate) {
        alert('O campo "de" deve ser menor que "até"');
        document.getElementById('quantidade').value = '';
        document.getElementById('de').value = '';
        document.getElementById('ate').value = '';
        document.getElementById('resultado').innerHTML = '<label class="texto__paragrafo">Números sorteados: nenhum até agora</label>';
    } else {
        // Código para continuar o jogo
    }
}

// Chame a função validarCampos quando necessário, por exemplo, ao clicar em um botão
document.getElementById('seuBotao').addEventListener('click', validarCampos);

Dessa forma, a função validarCampos verifica se "de" é menor que "até" e, se não for, exibe um alerta e limpa os campos, permitindo que o usuário insira os valores corretos. Se os valores estiverem corretos, o código para continuar o jogo pode ser executado.

Espero ter ajudado!

Um forte abraço e bons estudos!