4
respostas

[Bug] Não Habilitou botão Novo Jogo

Não consegui encontrar o erro que está impedindo de habilitar o botão novo jogo. Alguém poderia me dar um help por favor

let numeroSecreto = gerarNumeroAleatorio();
let tentativas = 1;

function exibirTextoNaTela(tag, texto) {
    let campo = document.querySelector(tag);
    campo.innerHTML = texto;
}

exibirTextoNaTela('h1', 'Jogo do número secreto');
exibirTextoNaTela('p', 'Escolha um número entre 1 e 10');

function verificarChute() {
    let chute = document.querySelector('input').value;
    console.log(chute == numeroSecreto);
    if (chute == numeroSecreto) {
     exibirTextoNaTela('h1', 'Acertou!');
     let palavraTentativa = tentativas > 1 ? 'tentativas' : 'tentativa';
     let mensagemTentativas = `Você acertou o número secreto com ${tentativas} ${palavraTentativa}!`;
     exibirTextoNaTela('p', mensagemTentativas); 
     document.getElementsById('reiniciar').removeAttribute('disabled');
    } else{
        if (chute > numeroSecreto){
            exibirTextoNaTela('p', 'O número secreto é menor');
        } else{
            exibirTextoNaTela('p', 'O número secreto é maior');
        }
        tentativas++;
        limparCampo();
    }
}

function gerarNumeroAleatorio() {
   return parseInt(Math.random() * 10 + 1);
}

function limparCampo() {
    chute = document.querySelector('input');
    chute.value = '';
}
4 respostas

Olá Naiara! No seu código não tem uma função para reiniciar o jogo function reiniciarJogo(){}. Precisa criar. E com esta função ativar o botão Novo Jogo no HTML.

Olá Naiara,

O código está corretíssimo. Tens é de entender como funciona. Como esta dentro do if (chute == numeroSecreto) isto significa que só acontecerá quando acertarmos o número secreto. E faz sentido, porque só queremos um novo jogo quando terminarmos o anterior.

Espero que tenha ajudado.

E bom estudos !

o meu tambem teve o mesmo problema e não consegui resolver. O problema está no index, quando modificamos reiniciarJogo(), é como se o idex não reconhece a modificação

Olá Naiara, Alessandra!

No começo do jogo, o botão Novo Jogo está desabilitado (disabled no HTML). É logico. Normalmente, o botão de "Novo jogo" deveria ser habilitado após uma tentativa de chute errada. Para isso, no JS deve ser criada funçaõ reiniciarJogo() e em algum lugar dentro inserir algo como:

document.getElementById('reiniciar').removeAttribute('disabled');

Este modo vai remover modo desabilitado de botão Novo Jogo assim que o jogador fizer uma tentativa, permitindo que a função reiniciarJogo() seja chamada corretamente.