1
resposta

Jogo de adivinha - minha resposta

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

    function pulaLinha() {

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

    function mostra(frase) {

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

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

    }
    function validaMaiorMenor(v){
        if (chute > numeroPensado){
            chute(mostra("Você digitou maior que o número pensado!"));
        }
        else{
            chute(mostra("Você digitou menor que o número pensado!"));
        }
    }

    var numeroPensado = sorteia();

    var chute = parseInt(prompt("Já pensei. Qual você acha que é?"));

    if(chute == numeroPensado) {

        mostra("Uau! Você acertou, pois eu pensei no " + numeroPensado);
    } else {

        mostra("Você errou! Eu tinha pensado no " + numeroPensado);
    }

    validaMaiorMenor(numeroPensado);


</script>

Tentei criar uma função para a validação do número se é maior ou menor do que o pensado. Algo que eu possa melhorar ou foi desnecessário essa criação?

1 resposta

Olá YRLAN, tudo bem com você? Espero que sim!

Peço minhas mais sinceras desculpas pela demora em lhe dar um retorno!

Eu estava avaliando o seu código, fazendo uns testes, e comparando com o do instrutor do curso, e realmente você teve uma ideia muito legal ao meu ver, pois você conseguiu dar uma diminuída bem interessante no código do desafio, usando aquela função: validaMaiorMenor. Agora é importante ressaltar que essa mudança que você fez apesar de ter sido uma ideia genial (que eu particularmente gostei muito mesmo), mesmo sem ela não teria tido muita diferença ok, mas tirando isso a ideia foi genial mesmo, parabéns ;)

Mas agora eu preciso fazer uma ressalva sobre a aplicação do seu código, pois ao testar seu jogo percebi um pequeno erro ou equívoco nele, veja abaixo e entenda melhor ok: Ao jogar como resultados temos pode-se ter:

Print da tela de um computador no navegador, com o fundo branco, e escrito na cor preta a seguinte frase na primeira linha: “Você errou! Eu tinha pensado no 2”, já na segunda linha também escrito na cor preto: “Você digitou maior que o número pensado!”

Ou então:

Print da tela de um computador, no navegador, com fundo branco e escrito e
na cor preta na primeira linha a seguinte frase: “Você errou! Eu tinha pensado no 3”, já na segunda linha está escrito ainda em preto: “Você digitou menor que o número pensado”.

Até aqui tudo bem, mas o erro veio aqui:

Print da tela de um computador no navegador com fundo branco e escrito na cor preto na primeira linha a seguinte frase: “Uau! Você acertou pois eu pensei no 2”, já na segunda linha também escrito em preto, porém grifado com a cor rosa claro levemente transparente, a frase: “Você digitou menor que o número pensado”.

E perceba que mesmo acertando o número aleatório sorteado, aparece a função que indica se o número digitado é menor ou então maior que o pensado; Percebe que isso pode gerar um pequeno problema? Então para lhe auxiliar com isso você pode pegar essa parte do seu código: validaMaiorMenor(numeroPensado);

E colocar dentro dessa parte:

if(chute == numeroPensado) {

        mostra("Uau! Você acertou, pois eu pensei no " + numeroPensado);
    } else {

        mostra("Você errou! Eu tinha pensado no " + numeroPensado);
    }

Deixando então o código dessa forma:

if(chute == numeroPensado) {

        mostra("Uau! Você acertou, pois eu pensei no " + numeroPensado);
    } else {

        mostra("Você errou! Eu tinha pensado no " + numeroPensado);
        validaMaiorMenor(numeroPensado);
    }

Assim você irá perceber que o “erro” de antes estará consertado. Como você pode ver na imagem abaixo: Print da tela de um computador no navegador, com fundo branco, e escrito na cor preto a seguinte frase: “Uau! Você acertou, pois eu pensei no 2”.

No mais era isso, e saiba que se precisar de mais algo eu estarei aqui para lhe auxiliar, ok.

Um grande abraço e bons estudos.

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!

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