Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

numero de tentativas fica maior do que o numero máximo atribuido

Boa noite pessoal! no meu código, eu usei 'if' para, se o usuário errar, indicar se o chute foi maior ou menor. Com isso, o contador não funciona adequadamente. Tenho a impressão que o programa está dando 6 tentativas: 3 se errar um número menor do que o pensado + 3 se errar maior do que o pensado.

<meta charset="UTF-8">

<!--s-->

<script>
    function espacar() {
        document.write("<br><br>");

    }

    function tracejar() {
        document.write("<hr>");
    }

    function mostra(frase) {
        document.write(frase);
        espacar();

    }

    function mostraTitulo(titulo) {
        document.write(titulo);
        tracejar();
    }

    function sorteia(n){
    //    var n = 100
        return Math.round(Math.random()*n);

    }

    mostraTitulo("<h2>Jogo de adivinhação</h2>");

    var numeroPensado = sorteia(10);
    console.log(numeroPensado);

    var contador = 1
    var chute = parseInt(prompt("Digite seu chute! (de 0 a 10)"+" Tentativas: "+contador));
    while (contador<=3) {



        if (chute == numeroPensado){
        mostra("Você acertou!");
        break;
        } 

        if (chute < numeroPensado){
            var chute = parseInt(prompt("Você errou, seu chute foi menor! tente de novo." +" Tentativas: "+contador));
        }

        if (chute > numeroPensado){
            var chute = parseInt(prompt("Você errou, seu chute foi maior! tente de novo."+" Tentativas: "+contador));

        }
        contador ++;
    }

</script>
3 respostas

Deu trabalho, mas consegui. Só coloquei o "contador++" a cada comando de tentativa, inclusive na introdução do código

<meta charset="UTF-8">

<!--s-->

<script>
    function espacar() {
        document.write("<br><br>");

    }

    function tracejar() {
        document.write("<hr>");
    }

    function mostra(frase) {
        document.write(frase);
        espacar();

    }

    function mostraTitulo(titulo) {
        document.write(titulo);
        tracejar();
    }

    function sorteia(n){
    //    var n = 100
        return Math.round(Math.random()*n);

    }

    mostraTitulo("<h2>Jogo de adivinhação</h2>");

    var numeroPensado = sorteia(10);
    console.log(numeroPensado);

    var contador = 0
    var chute = parseInt(prompt("Digite seu chute! (de 0 a 10)"+" Tentativas: " + contador++));
    while (contador < 3) {

        if (chute == numeroPensado){
        break;
        } 

        if (chute < numeroPensado){
            var chute = parseInt(prompt("Você errou, seu chute foi menor! tente de novo." + " Tentativas: " + contador));
            contador++;

        }

        if (chute > numeroPensado){
            var chute = parseInt(prompt("Você errou, seu chute foi maior! tente de novo." + " Tentativas: " + contador));
            contador++;

        }
    }

</script>

Opa, agora deu certo. Valeu!

solução!

Poderia registrar como resolvido? Queria meus pontos kkk

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software