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

Botão "Novo Jogo" não desabilita e frases não mudam ao reiniciar o jogo.

Olá! Alguém pode me ajudar a identificar o problema do meu código?

O botão "Novo Jogo" fica habilitado depois de acertar o número secreto, mas quando o jogo é reiniciado as frases não mudam e o botão não fica desabilitado.

Já revisei o js e o html diversas vezes e já reassisti a aula também e até agora não identifiquei o erro.

Código html:

<div class="container">
    <div class="container__conteudo">
        <div class="container__informacoes">
            <div class="container__texto">
                <h1>Adivinhe o <span class="container__texto-azul">numero secreto</span></h1>
                <p class="texto__paragrafo">Escolha um número entre 1 a 10</p>
            </div>
            <input type="number" min="1" max="10" class="container__input">
            <div class="chute container__botoes">
                <button onclick="verificarChute()" class="container__botao">Chutar</button>
                <button onclick="reiniciarJogo()" id="reiniciar" class="container__botao" disabled>Novo jogo</button>
            </div>
        </div>
        <img src="./img/ia.png" alt="Uma pessoa olhando para a esquerda" class="container__imagem-pessoa" />
    </div>
</div>




<script src="app.js" defer></script>

Código JS:

let numeroSecreto = gerarNumeroAleatorio(); let tentativas = 1

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

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

exibirMensagemInicial();

function verificarChute() { let chute = document.querySelector('input').value;

if(chute==numeroSecreto){
    exibirTextoNaTela('h1','Acertou!');
    let palavraTentativas = tentativas > 1 ? 'tentativas' : 'tentativa' ;
    let mensagemTentativas = `Você descobriu o número secreto com ${tentativas} ${palavraTentativas}`
    exibirTextoNaTela ('p',mensagemTentativas)
    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
solução!

Boa noite Karen, nas primeiras linhas do seu código Javascript está assim:

let numeroSecreto = gerarNumeroAleatorio(); let tentativas = 1

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

function exibirMesagemInicial() // aqui está o erro.

Acrescenta uma letra n em function exibirMesagemInicial() que seu código vai rodar.

Deu certo! Obrigada!!