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

Implementação do campo Input e botão no jogo de adivinhação

Tive um problema interessante. Ao final da execução do código o campo input e o botão estavam desaparecendo. Descobri que na função mostra havia uma linha puxando a outra função pulaLinha. O que acontece é que essa função estava pulando uma linha sobre o campo input e o botão que criei, excluindo-os. Acredito que agora esteja funcional.

<meta charset="UTF-8">

<input/>
<button>Já pensei. Qual você acha que é?</button>

<script>

    var input = document.querySelector("input");
    input.focus();

    var button = document.querySelector("button");
    button.onclick = jogo;

    function pulaLinha() {

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

    function mostra(frase) {

        alert(frase);

    }

    function sorteia (n) {

        var number = Math.round(Math.random()*n);
        return number;

    }

    function jogo(){

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

            var chute = parseInt(input.value);

            if(chute == numeroPensado) {

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

            } else {

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

            if(chute < numeroPensado){

                mostra("O número pensado é menor!");

            } else {

                mostra("O número pensado é maior ou igual");

            }

            input.value = "";
            input.focus();
    }

</script>
2 respostas
solução!

Olá, Jorge, tudo bem?

Que bacana ver que você está levando os exercícios além! Continue assim que irá muito longe :)

É isso que acontece mesmo! Temos que tomar cuidado ao usar a função document.write, pois ela sobrescreve qualquer conteúdo que tenha sido carregado anteriormente, então não é ideal quando você quer manter os elementos que você criou.

Testei sua aplicação e funcionou normalmente! Só um detalhe: acredito que a lógica do número pensado ser maior ou menor que o digitado está invertida ;)

Obrigado por compartilhar com a gente! Qualquer dúvida estaremos aqui para te auxiliar. Bons estudos!

Obrigado Antônio! Vou me atentar mais a esses detalhes... Em um outro código tive problemas com as chaves, lembro de ter fechado o bloco de instruções de um for em um local errado.