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

Quebrando a cabeça a 2hs... hehe

Bem, o código está um pouco bagunçado (o que é ruim, eu sei), mas consegui fazer quase tudo o que queria. Eu gostaria que reiniciasse o jogo, e infelizmente não faço a mínima ideia de como. Podem me ajudar?

Deixei campos em branco tipo a função reinicio e o onclick do reiniciar, pois não consegui fazê-los funcionais.

<meta charset="UTF-8">

<b><big>Adivinhe o número de 0 a 10!</b></big>
<br>
<input>
<button>Dê seu palpite</button>

<script>
    function mostra (frase) {
        document.write(frase);
    }

    var numeroPensado = Math.round(Math.random() * 10);
    var input = document.querySelector("input");
        input.focus();
    var chance = 1;

    function reinicio () {

    }

    function fim () {
        mostra("<h1> FIM </h1>")
    }

    function fimDeJogo() {
        mostra("<b>Deseja jogar novamente?</b><br>");
        mostra("<button type=text id=Sim>Sim</button>");
        mostra("<button type=text id=Não>Não</button>");
        var reiniciar = document.querySelector("#Sim");
        reiniciar.onclick = 
        var encerrar = document.querySelector("#Não");
        encerrar.onclick = fim;
    }

    function verifica (){
        if(input.value == numeroPensado) {
            alert("Parabéns! Você acertou!");
            chance = chance + 3;
            fimDeJogo();
        } else if (chance < 3) {
            alert("Que pena! Você errou. Tente novamente.");
            chance++;
            input.value = " ";
            input.focus();
            return;
        } else {
            alert("Suas chances acabaram! O número pensado era " + numeroPensado);
            fimDeJogo();
        }
    }

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



</script>
2 respostas

Fala, Róger! Tudo bem contigo?

Desculpe a demora em dar um retorno!!!

Parabéns pelo código =D

Vamos resolver esse reinício ;-)

Primeiro vou criar duas variáveis para guardar as funções.

Uma dessas funções é a que você já criou chamada fim

    var fim = function fim () {
        mostra("<h1> FIM </h1>")
    }

E a outra vou criar chamada reload

    var reload = function reload() {
        location.reload();
    }

O Javascript possui esse método chamado location.reloadque faz com que o navegador reinicie. Depois você pode dar até uma olhada na documentação da MDN Web Docs para dar uma aprofundada nesse método.

Feito isso, vamos chamá-la no onclickque você já deixou iniciado

reiniciar.onclick = reload;

E a outra variável fim, também deixaremos chamando no método onclick(como já estava)

encerrar.onclick = fim;

Espero ter ajudado, Róger!!!

Mandou bem!

Um abraço e bons estudos!!!

solução!

Cara! Agora ficou show! Muito obrigado! Eu estava tentando de outras formas, mas estava ficando deveras extenso a programação. Além disso, eu vi sobre esse "reload", mas não consegui fazer funcionar. Obrigado Cassio Murilo!!

<meta charset="UTF-8">

<b><big>Adivinhe o número de 0 a 10!</b></big>
<br>
<input>
<button>Dê seu palpite</button>

<script>
    function mostra (frase) {
        document.write(frase);
    }

    var numeroPensado = Math.round(Math.random() * 10);
    var input = document.querySelector("input");
        input.focus();
    var chance = 1;

    var fim = function fim () {
        mostra("<h1> FIM </h1>")
    }
    var reload = function reload() {
        location.reload();
    }

    function fim () {
        mostra("<h1> FIM </h1>")

}
    function fimDeJogo() {
        mostra("<b>Deseja jogar novamente?</b><br>");
        mostra("<button type=text id=Sim>Sim</button>");
        mostra("<button type=text id=Não>Não</button>");
        var reiniciar = document.querySelector("#Sim");
        reiniciar.onclick = reload;
        var encerrar = document.querySelector("#Não");
        encerrar.onclick = fim;
    }

    function verifica (){
        if(input.value == numeroPensado) {
            alert("Parabéns! Você acertou!");
            chance = chance + 3;
            fimDeJogo();
        } else if (chance < 3) {
            alert("Que pena! Você errou. Tente novamente.");
            chance++;
            input.value = " ";
            input.focus();
            return;
        } else {
            alert("Suas chances acabaram! O número pensado era " + numeroPensado);
            fimDeJogo();
        }
    }

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



</script>

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