Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

1
resposta

Executa apenas uma vez

O meu código funciona só uma vez pra inserir um numero, depois da primeira tentativa o input para de funcionar, não tem mais como colocar nada na caixinha, só se eu atualizo a página.

<meta charset="UTF-8">

<input/>
<button>Coloque o numero</button>

<script>

var segredo = 5
var input = document.querySelector ("input");

function verifica () {

    if (input.value == segredo) {
        alert ("Voce acertou!");
    }else{
        alert ("Voce errou");
    }
}

var button = document.querySelector ("button");
button.onclick = verifica;

</script>
1 resposta

Olá, Mônica. O problema é que seu código não tem uma "volta" ao início. Ele foi escrito justamente para ser executado uma vez. Uma forma de resolver isso, seria com um "for", ou "while". No caso ficaria algo como :

while(tentativas <= 3)
    {
        var chute = parseInt(prompt("Digite seu chute!"));

        if(chute == segredo)
        {
            mostra("Você acertou!")
            break;
        }else{
            mostra("Você errou!");
        }
        tentativas++;

    }
        input.value = "";
        input.focus();

    }

Com isso, enquanto o código não for o número do "sorteia", ele retornará ao início do código, lendo-o novamente, até o número certo fazê-lo sair do loopping. Do contrário, terá apenas o número de tentativas até acertar. Espero ter ajudado!