Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Reiniciando o jogo.

app.js

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

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

    if(chute == numeroSecreto)
    {
        exibirTextoNaTela('h1', 'Acertou!');
        let palavraTentativa = tentativas > 1 ? 'tentativas' : 'tentativa';
        let mensagemTentativas = `Você descobriu o número secreto com ${tentativas} ${palavraTentativa}!`;
        exibirTextoNaTela('p', mensagemTentativas);
        mudarEstadoBotoes('reiniciar','chutar');
    }
    else if (chute > numeroSecreto)
    {
        exibirTextoNaTela('h1', 'Errou!');
        exibirTextoNaTela('p', 'O número secreto é menor.');
        limparCampo();
    }
    else
    {
        exibirTextoNaTela('h1', 'Errou!');
        exibirTextoNaTela('p', 'O número secreto é maior.');
        limparCampo();
    }
    tentativas++;
}

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

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

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

function reiniciarJogo()
{
    numeroSecreto = gerarNumeroAleatorio();
    limparCampo();
    tentativas = 1;
    exibirMensagemInicial();
    mudarEstadoBotoes('chutar','reiniciar');
}

function exibirMensagemInicial()
{
    exibirTextoNaTela('h1', 'Jogo do Número Secreto.');
    exibirTextoNaTela('p', 'Escolha um número entre 1 e 10:');
}

function mudarEstadoBotoes(idBotao1, idBotao2)
{
    document.getElementById(idBotao1).removeAttribute('disabled');
    document.getElementById(idBotao2).setAttribute('disabled', true);
}

index.html

<!DOCTYPE html>
<html lang="pt-br">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <script src="https://code.responsivevoice.org/responsivevoice.js"></script>
    <link rel="preconnect" href="https://fonts.googleapis.com">
    <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
    <link href="https://fonts.googleapis.com/css2?family=Chakra+Petch:wght@700&family=Inter:wght@400;700&display=swap"
        rel="stylesheet">
    <link rel="stylesheet" href="style.css">
    <title>JS Game</title>
</head>

<body>

    <div class="container">
        <div class="container__conteudo">
            <div class="container__informacoes">
                <div class="container__texto">
                    <h1></h1>
                    <p class="texto__paragrafo"></p>
                </div>
                <input type="number" min="1" max="10" class="container__input">
                <div class="chute container__botoes">
                    <button onclick="verificarChute()" id="chutar" 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>
</body>

</html>

O meu código ficou assim no fim da aula.

1 resposta
solução!

Oi Leonardo, tudo bem?

Agradeço por compartilhar o código! É positivo ver que você dividiu as funções em partes claras, como verificarChute, reiniciarJogo, e assim por diante. Isso torna o código mais legível e modular e a utilização de funções como exibirTextoNaTela e mudarEstadoBotoes facilita a manipulação do conteúdo da interface e o estado dos botões.

Continue praticando e explorando novos recursos!

Um abraço e bons estudos.