1
resposta

[Bug] botão ''Novo Jogo'' não operando de forma correta

Olá a todos, espero que estejam bem!

Finalizei o curso ontem, segui todas as instruçoes, fiz o deployed no Vercel e estava tudo funcionando de forma correta.

No entanto, hoje antes de compartilhar o meu repositório no Linkedin, resolvi fazer um teste e entrar novamente no link do jogo, e percebi que o botão de ''Novo Jogo'' não funciona, ou seja, ele não emite nenhuma resposta após ser clicado quando acertamos o número, para que assim se reinicie o jogo. Conferi o meu código algumas vezes e não consegui encontrar o problema, alguém poderia me ajudar?

Segue o link do projeto: https://jogo-do-numero-secreto-khaki-two.vercel.app/

E abaixo segue o código:

let listaDeNumerosSorteados = [];
let numeroLimite = 10;
let numeroSecreto = gerarNumeroAleatorio();
let tentativas = 1;

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

function exibirMensagemInicial() {
    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 palavraTentativa = tentativas > 1 ? 'tentativas' : 'tentativa';
        let mensagemTentativas = `Você descobriu o número secreto com ${tentativas} ${palavraTentativa}!`;
        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() {
    let numeroEscolhido = parseInt(Math.random() * numeroLimite + 1);
    let quantidadeDeElementosNaLista = listaDeNumerosSorteados.length;

    if (quantidadeDeElementosNaLista == numeroLimite) {
        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();
    document.getElementById('reiniciar').setAttribute('disabled', true)
}

Além disso, se eu precisar fazer alguma alteração no código, onde ela deve ser feita? Como proceder? Neste caso preciso mudar no VSCODE, apagar todos os arquivos que já estão no meu repositório, e fazer todo o processo de deployed e upload de arquivos no respositorio novamente? Ou há alguma maneira mais facil?

Obrigado!!

1 resposta

Olá Halysson, tudo bem?

Olhei o seu código JavaScript e está tudo certinho! Portanto, peço que verifique se o botão está devidamente conectado à função reiniciarJogo() no seu HTML.

<button onclick="reiniciarJogo()" id="reiniciar" class="container__botao" disabled>Novo jogo</button>

Certifique-se de que o id do botão está correto e que a função onclick está chamando reiniciarJogo().

Quanto à questão de fazer alterações no código, você não precisa apagar todos os arquivos no seu repositório. Você pode fazer as alterações necessárias no seu código localmente no VSCode, testar para garantir que tudo está funcionando como esperado e então fazer um commit das alterações para o seu repositório Git. Após isso, você pode fazer o push das alterações para o repositório remoto no GitHub. Uma das características da Vercel é o deploy automático, ou seja, toda vez que você fizer um commit no seu repositório a Vercel irá fazer o deploy automático do seu site.

Espero ter ajudado e bons estudos!

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

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software