Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Consolidando o conhecimento - Jogo de Adivinha Incrementado

Conseguir incrementar meu código colocando opções para que o jogador informe a faixa de número pensado e a quantidade de tentativas, porém não consegue resolver um pequeno problema, quando o jogador escolhe mais que uma tentativa, ele deveria ter o retorno se seu número é maior ou menor ao número pensado, antes dele digitar a nova tentativa, se alguém puder me ajudar agradeço!

<meta charset="UTF-8">
<script>

    function pulaLinha() {
        document.write("<br>");
    };

    function mostra(frase) {
        document.write(frase);
        pulaLinha();
    };

    var nome = prompt("Antes de começarmos, informe seu nome.");
    var n = prompt(nome + "! Vamos começar nosso jogo! Escolha entre 10, 100 e 1000!");

    function sorteia (n) {
        return Math.round(Math.random() * n);
    };

    var numeroPensado = sorteia(n);

    var qtdChutes = prompt(nome + ", Escolha a quantidade de chutes entre 1 e 3");

    if (qtdChutes == 1) {
        var chute = parseInt(prompt(nome + ", já pensei. Qual você acha que é?"));

        if(chute == numeroPensado) {
            mostra("Uau!" + nome + ", Você acertou, pois eu pensei no " + numeroPensado);
        } else {
            if(chute > numeroPensado) {
                mostra(nome + ", Você errou! Seu chute é maior que o número pensado!");
            } else {
                mostra(nome + ",Você errou! Seu chute é menor que o número pensado!");
            }
        }
    }

    if (qtdChutes == 3) {
        var chute1 = parseInt(prompt(nome + ", Já pensei. Sua primeira tentativa é?"));

        if(chute1 == numeroPensado) {
            mostra("Uau!" + nome + ", Você acertou, pois eu pensei no " + numeroPensado);
        } else {
            if(chute1 > numeroPensado) {
                mostra(nome + ", Você errou! Seu chute é maior que o número pensado! Você possui mais duas tentativas!");
            } else {
                mostra(nome + ",Você errou! Seu chute é menor que o número pensado! Você possui mais duas tentativas!");
            }
        }

        var chute2 = parseInt(prompt("Vamos para sua segunda tentativa?"));

        if(chute2 == numeroPensado) {
            mostra("Uau!" + nome + ", Você acertou, pois eu pensei no " + numeroPensado);
        } else {
            if(chute2 > numeroPensado) {
                mostra(nome + ", Você errou! Seu chute é maior que o número pensado! Você possui uma última tentativa!");
            } else {
                mostra(nome + ", Você errou! Seu chute é menor que o número pensado! Você possui uma última tentativa!");
            }
        }

        var chute3 = parseInt(prompt("Vamos para sua última tentativa?"));

        if(chute3 == numeroPensado) {
            mostra("Uau!" + nome + ", Você acertou, pois eu pensei no " + numeroPensado);
        } else {
            if(chute3 > numeroPensado) {
                mostra(nome + ", Você errou! Seu chute é maior que o número pensado! Que pena, acabaram suas tentativas!");
            } else {
                mostra(nome + ", Você errou! Seu chute é menor que o número pensado! Que pena, acabaram suas tentativas!");
            }
        }
    }
</script>
1 resposta
solução!

Olá Diogo, não sei se entendi 100%, mas pelo que entendi você quer ter um retorno se o usuário acertou o número antes dele digitar as próximas tentativas certo?

Uma sugestão seria você usar a função alert:

function pulaLinha() {
  document.write("<br>");
};

function mostra(frase) {
  document.write(frase);
  pulaLinha();
};

var nome = prompt("Antes de começarmos, informe seu nome.");

var n = prompt(nome + "! Vamos começar nosso jogo! Escolha entre 10, 100 e 1000!");

function sorteia (n) {
  return Math.round(Math.random() * n);
};

var numeroPensado = sorteia(n);

var qtdChutes = prompt(nome + ", Escolha a quantidade de chutes entre 1 e 3");

console.log(qtdChutes);

if (qtdChutes == 1) {
  var chute = parseInt(prompt(nome + ", já pensei. Qual você acha que é?"));

  if(chute == numeroPensado) {
      mostra("Uau!" + nome + ", Você acertou, pois eu pensei no " + numeroPensado);
  } else {
      if(chute > numeroPensado) {
          alert(nome + ", Você errou! Seu chute é maior que o número pensado!");
      } else {
          alert(nome + ",Você errou! Seu chute é menor que o número pensado!");
      }
  }
}

if (qtdChutes == 3) {
  var chute1 = parseInt(prompt(nome + ", Já pensei. Sua primeira tentativa é?"));

  if(chute1 == numeroPensado) {
      mostra("Uau!" + nome + ", Você acertou, pois eu pensei no " + numeroPensado);
  } else {
      if(chute1 > numeroPensado) {
          alert(nome + ", Você errou! Seu chute é maior que o número pensado! Você possui mais duas tentativas!");
      } else {
          alert(nome + ",Você errou! Seu chute é menor que o número pensado! Você possui mais duas tentativas!");
      }
  }

  var chute2 = parseInt(prompt("Vamos para sua segunda tentativa?"));

  if(chute2 == numeroPensado) {
      mostra("Uau!" + nome + ", Você acertou, pois eu pensei no " + numeroPensado);
  } else {
      if(chute2 > numeroPensado) {
          alert(nome + ", Você errou! Seu chute é maior que o número pensado! Você possui uma última tentativa!");
      } else {
          alert(nome + ", Você errou! Seu chute é menor que o número pensado! Você possui uma última tentativa!");
      }
  }

  var chute3 = parseInt(prompt("Vamos para sua última tentativa?"));

  if(chute3 == numeroPensado) {
      mostra("Uau!" + nome + ", Você acertou, pois eu pensei no " + numeroPensado);
  } else {
      if(chute3 > numeroPensado) {
          alert(nome + ", Você errou! Seu chute é maior que o número pensado! Que pena, acabaram suas tentativas!");
      } else {
          alert(nome + ", Você errou! Seu chute é menor que o número pensado! Que pena, acabaram suas tentativas!");
      }
  }
}

Dá uma olhada se era mais ou menos isso que você queria. Você também pode usar a função mostra junto para ter o resultado tanto na tela quanto no pop-up.

Espero ter ajudado.