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

Projeto final do curso.

app.js

let listaDeNumerosSorteados= [];
let numeroMaximo = 100;
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 que ${chute}.`);
        limparCampo();
    }
    else
    {
        exibirTextoNaTela('h1', 'Errou!');
        exibirTextoNaTela('p', `O número secreto é maior que ${chute}.`);
        limparCampo();
    }

    tentativas++;
}

function exibirTextoNaTela(tag, texto)
{
    let campo = document.querySelector(tag);
    campo.innerHTML = texto;
    responsiveVoice.speak(texto,'Brazilian Portuguese Female',{rate:1.2});
}

function gerarNumeroAleatorio()
{
    let numeroEscolhido = parseInt(Math.random() * numeroMaximo + 1);
    console.log(listaDeNumerosSorteados.length);
    if (listaDeNumerosSorteados.length >= parseInt(numeroMaximo / 10))
    {
        listaDeNumerosSorteados = [];
    }

    if (listaDeNumerosSorteados.includes(numeroEscolhido))
    {
        return gerarNumeroAleatorio();
    }
    else
    {
        listaDeNumerosSorteados.push(numeroEscolhido);
        console.log(listaDeNumerosSorteados);
        return numeroEscolhido;
    }
}

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 ${numeroMaximo}:`);
}

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" id="numeroChute" 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>
1 resposta
solução!

Oi, Leonardo, como vai?

Parabéns por concluir o projeto do curso. Ficou excelente!

Valeu por compartilhar seu código e o link do seu jogo na Vercel. Foi muito divertido jogar. Com certeza vai ser uma inspiração além de ajudar nos estudos de todas as pessoas que estão estudando este assunto.

Continue se dedicando em seus estudos e caso tenha dúvidas, conte com a comunidade do fórum para te ajudar!

Abraços e bons estudos!