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!