3
respostas

Gostaria de saber se desse jeito tá correto esse exercício, ficou diferente da resposta do professor

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

            function mostra(texto){
                document.write(texto);
                pularLinha();
            }

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

            var numeroPensado = sorteia(100);
            console.log(sorteia(100));
            var chute = parseInt(prompt("Digite o numero"));

            if(chute === numeroPensado){
                mostra("Vc acertou")
            }
            if (chute >= numeroPensado) {
                mostra("VC ERROU! Seu Chute foi maior que o pensado")                
            }else
             {
                mostra("VC ERROU! Seu Chute foi menor que o pensado")                
            }
3 respostas

Oi João tudo certo ?

É normal resolvermos o mesmo problema, mas com lógicas diferentes. O importante do curso de lógica é mesmo entender os fundamentos.

Bons Estudos !!

Oi João Paulo tudo bem?

Desse jeito falhou no meu computador.

Nas linhas var numeroPensado = sorteia(100); e console.log(sorteia(100)); o número que é impresso no console não é o mesmo porque é sorteado de novo.

Eu mudei para: var numeroPensado = sorteia(100); console.log(numeroPensado);

Achei que ficaria melhor escrever no alert também se você errou para mais ou para menos.

E também coloquei uma chamada recursiva a função jogo para o jogo não acabar no primeiro turno e também chamar a variável dizer no alert que diz se você errou para mais ou menos.

Eu dei uma mudadinha no código dá uma olhada:

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

            function mostra(texto){
                document.write(texto);
                pularLinha();
            }

            function sorteia(n){
                return Math.round( Math.random() * n);
            }
             var numeroPensado = sorteia(100);
            console.log(numeroPensado);
            var dizer = "";
             jogo(dizer);

            function jogo(dizer){

                var chute = parseInt(prompt(dizer + " Digite o numero"));

              if(chute === numeroPensado){
                  mostra("Vc acertou");

                return;
              }
              if (chute > numeroPensado) {

                  mostra("VC ERROU! Seu Chute foi maior que o pensado") ;
                  dizer=("VC ERROU! Seu Chute foi maior que o pensado :") ;
                 jogo(dizer);
              }else
               {
                  mostra("VC ERROU! Seu Chute foi menor que o pensado");
                 dizer=("VC ERROU! Seu Chute foi menor que o pensado:");
                  jogo(dizer);
              }
             }

Mas o código tirando os erros está bom sim, continue assim que logo será um excelente programador!!!

Espero ter ajudado!!!

Oi João Paulo existem alguns erros de lógica no seu programa, primeiramente como já foi falado se você der

console.log(sorteia(100));

Você fez isso, você executou a função e sorteou um número aleatório, como você fez isso nessa linha um novo número foi sorteado e ele não é o numeroPensado pois este já foi sorteado anteriormente. Para saber que número foi sorteado o correto seria loggar a variável que recebeu esse retorno, assim:

console.log(numeroPensado);

Outra questão é o seguinte se eu acertar o número ele vai cair no primeiro if e no segundo if e vai aparecer que eu acertei o número e que " VC ERROU! Seu Chute foi maior que o pensado" pq a condição do if contem um maior igual. O correto seria assim vc tem apenas três cenários ou o número é igual ou ele é maior ou é menor, então trabalhe com else if e a ultima condição deixe com else.

if(chute === numeroPensado){
    mostra("Vc acertou")
 } else if (chute > numeroPensado) {
    mostra("VC ERROU! Seu Chute foi maior que o pensado")                
 } else {
    mostra("VC ERROU! Seu Chute foi menor que o pensado")                
 }

Espero ter ajudado e bons estudos.