2
respostas

gostaria de saber oque ha de errado nesse código

<meta charset="UTF-8">

<input/>
<button>digite seu chute</button>

<script>

    function pulaLinha() {

        document.write("<br>");
        document.write("<br>");
}

    function mostra(frase) {

        document.write(frase);
        pulaLinha();
}
var input= document.querySelector("input");
function exibeTeste(){

    alert(input.value);
    var numeroPensado = 5
    var tentativas = 1;

    while(tentativas <= 3) {

        var chute = input

        if(chute == numeroPensado) {

            mostra("Você acertou!");
            break;
        } 

        else {

            mostra("Você errou!");
        }

        tentativas++;
    } mostra ("FIM");

}   var button = document.querySelector("button");
    button.onclick = exibeTeste;

</script>
2 respostas

o problema, pelo que eu entendi, desculpa se nao for esse, é que voce esta pegando o valor apenas uma vez e colocando ele dentro do while, e por conta disso as 3 tentativas vao de uma vez só. Eu vejo duas solucoes... Colocar o input dentro do while. entao ja dentro do while voce pega o valor atual e valida com o numero pensado; ou voce pede os 3 chutes antes de colocar dentro do while, e depois dos 3 chutes voce manda ele para dentro do while verificando cada um dos 3 com o valor pensado.

Oi isnard santos neto não é possível executar essa lógica porque você só checa o valor do input quando você clica no botão, e ele só é executado uma vez para fazer uma verificação. O que poderia ser feito baseando no que já foi estudado era utilizar o prompt como nos exercícios anteriores ou um array de chutes para ser verificado todo de uma vez pela função.

Espero ter ajudado e bons estudos.