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

Jogo de adivinhação! Dicas apenas no final.

Boa tarde,

Quando executo o código abaixo as dicas se o número correto é maior ou menor que o chute aparece apenas no final da execução. Já fiz outras tentativas e alterações e não encontrei o erro logico.

Adivinhe o número pensado!

3 respostas
solução!

Adivinhe o número pensado!

function pulaLinha(){

document.write (""); }

function mostrar (frase){

document.write (frase); pulaLinha(); }

function sorteia (){

var n; n = parseInt (prompt ("Digiti o número limite para o sorteio.")); resposta = Math.round (Math.random () * n); return resposta; }

var numeroPensar = sorteia (); var tentativas = 1;

while (tentativas <= 3){

var chute = parseInt(prompt ("Chute um número!"));

if (chute == numeroPensar){

mostrar ("Muito bem Barney! Você acertou " + numeroPensar); break;

} else {

if (chute > numeroPensar) { mostrar ("Não foi dessa vez Barney! O numero era menor que o seu chute ! ");

} else { mostrar ("Não foi dessa vez Barney! O numero era maior que o seu chute ! "); } }tentativas++;}

Pedro boa noite! Cara acontece a mesma coisa no meu código, mas somente no Chrome. Se eu utilizo o IE, Edge ou Firefox as mensagens são apresentadas. Acho que seja alguma peculiaridade do Chrome! Estou procurando uma solução pra isso! Dei uma alterada no seu código!

<meta charset="utf-8">

<script>


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

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

      var numeroEscolhido = Math.round(Math.random() * 10);
      console.log(numeroEscolhido);

      var tentativas = 1;

      while (tentativas <= 3){

          var chute = parseInt(prompt ("Chute um número!"));

          if (chute == numeroEscolhido){

              mostrar ("Muito bem Barney! Você acertou " + numeroEscolhido);
              break;

          } else {

                  if (chute > numeroEscolhido) { mostrar ("Não foi dessa vez Barney! O numero era menor que o seu chute ! ");

                  } else { mostrar ("Não foi dessa vez Barney! O numero era maior que o seu chute ! "); }
          }
        tentativas++;
      }

mostrar("FIM!")

</script>

Se vc perceber seu código esta perguntando 4 vezes o chute. a função pula linha faltou a tag " < b r >", não entendi esta váriavel :

var n; n = parseInt (prompt ("Digiti o número limite para o sorteio.")); resposta = Math.round (Math.random () * n); return resposta; }

Vc retorna a resposta e não utiliza também. Então cara é isso! Mas tenta esse código no IE ou no Firefox, ele apresenta as dicas.

Esse código esta com a função sorteia, se preferir também!

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

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

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

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


var numeroPensar = sorteia (10);
console.log(numeroPensar); 
var tentativas = 1;

while (tentativas <= 3){

var chute = parseInt(prompt ("Chute um número!"));

if (chute == numeroPensar){

mostrar ("Muito bem Barney! Você acertou " + numeroPensar); break;

} else {

if (chute > numeroPensar) { mostrar ("Não foi dessa vez Barney! O numero era menor que o seu chute ! ");

} else { mostrar ("Não foi dessa vez Barney! O numero era maior que o seu chute ! "); } }tentativas++;}



</script>

abraços.

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