2
respostas

O botão de novo jogo não esta desabilitando após pedir pra reiniciar

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

function exibirTextoNaTela(tag, texto) {
    let campo = document.querySelector(tag);
    campo.innerHTML = texto;
}
function exibirMensagemInicial() {
    exibirTextoNaTela('h1', 'Jogo do número secreto');
    exibirTextoNaTela('p', 'Escolha um número entre 1 e 10'); I
}

exibirMensagemInicial()

function verificarChute() {
    let chute = document.querySelector('input').value;
    if (chute == numeroSecreto) {
        exibirTextoNaTela('h1', 'Acertou!')
        let palavraTentativa = tentativas > 1 ? 'tentativas' : 'tentativa'
        let mensagemTentativa = `Você descobriu o número secreto com ${tentativas} ${palavraTentativa}!`;
        exibirTextoNaTela('p', mensagemTentativa)
        document.getElementById('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 = '';
}

function reiniciarJogo() {
    numeroSecreto = gerarNumeroAleatorio();
    limparCampo();
    tentativas = 1;
    exibirMensagemInicial();
    document.getElementById('reiniciar').setAttribute('disabled', true);
}
2 respostas

Olá, Bruno! Tudo joia?

Esse problema estava acontecendo, pois você acabou adicionando o caractere I após fazer a chamada da função exibirTextoNaTela, chamada essa feita dentro da função exibirMensagemInicial. Segue o trecho do código:

function exibirMensagemInicial() {
    exibirTextoNaTela('h1', 'Jogo do número secreto');
    exibirTextoNaTela('p', 'Escolha um número entre 1 e 10'); I //<<nessa chamada>>
}

Esse caractere acabou causando um erro de referência toda vez que a função exibirMensagemInicial fosse executada, e como essa função é chamada dentro da função reiniciarJogo antes da reatribuição do atributo disabled, o botão de "Novo Jogo" nunca era desabilitado.

Espero ter ajudado e caso tenha mais problemas ou até mesmo dúvidas, estarei à sua disposição.

Bons estudos!

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

Muito obrigado,Armano