2
respostas

[BUG] Aonde está o erro deste código?

Pessoal, me tirem uma dúvida, principalmente vocês que já são da área.

Realizei os testes, anotei tudo oque foi passado em vídeo aula, verifiquei o código até mesmo com as aulas, mas meu código não por nada!

Vocês pode me dizer em qual linha está com erro?

let numeroSecreto = gerarNumeroAleatorio();
tentativas = 1;
![]()

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

}
exibiMensagemInicial();

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

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

    if (chute == numeroSecreto) {
        exibirTextoNaTela ('h1' , 'Acertou!');
        let mensagemTentativas = ´Você descobriu o número com ${tentativas} ${palavraTentativas}´;
        let palavraTentativas = tentativas > 1? 'tentativas' : 'tentativa';
        exibirTextoNaTela ('p' , mensagemTentativas);
        document.getElementById ('reiniciar').removeAttribute ('disabled');
    } else {
        if (chute > numeroSecreto) {
            exibirTextoNaTela ('h1' , 'Está errado! O número é menor');
        } else {
            exibirTextoNaTela ('h1' , 'Está errado! O número é maior');
        }
       // or tentativas = tentativas +1;
        tentativas++;
        limparCampo();
    }
}
function gerarNumeroAleatorio () {
    return paseInt(Math.random () * 10 + 1);
}
        function limparCampo () {
        chute = document.querySelector ('input');
        chute.value = '';
        } 
        function reiniciarJogo () {
            numeroSecreto = gerarNumeroAleatorio ();
            limparCampo();
            tentativas = 1;
            exibiMensagemInicial ();
            document.getElementById('reiniciar').setAttribute('disabled' , true)

        }
    
    
    //console.log(chute == numeroSecreto);

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












Imagem do SITE PROJETO

2 respostas

Opa Luiz, beleza?

Acredito que o seu erro está acontecendo no momento em que você chama o método verificarChute() no html. se conseguir disponibilizar o html aqui também, verificamos juntos.

let numeroSecreto = gerarNumeroAleatorio();
tentativas = 1;

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

}
exibiMensagemInicial();

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

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

    if (chute == numeroSecreto) {
        exibirTextoNaTela ('h1' , 'Acertou!');
        let mensagemTentativas = `Você descobriu o número com ${tentativas} ${palavraTentativas}`;
        let palavraTentativas = tentativas > 1? 'tentativas' : 'tentativa';
        exibirTextoNaTela ('p' , mensagemTentativas);
        document.getElementById ('reiniciar').removeAttribute ('disabled');
    } else {
        if (chute > numeroSecreto) {
            exibirTextoNaTela ('h1' , 'Está errado! O número é menor');
        } else {
            exibirTextoNaTela ('h1' , 'Está errado! O número é maior');
        }
       // or tentativas = tentativas +1;
        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;
            exibiMensagemInicial ();
            document.getElementById('reiniciar').setAttribute('disabled' , true)

        }

E aiii Luiz, tudo bem? Vou te passar o que identifiquei, não consegui testar porque não estou no meu ambiente de desenvolvimento. Se der certo, peço a gentileza de avisar até porque é uma maneira de eu aprender também, saber que era isso mesmo.

1 - Na função gerarNumeroAleatorio, vc digitou paseInt em vez de parseInt

  1. Percebi que está usando template literals (delimitados por acentos graves) p/ criar a mensagem de tentativas. No entanto, há um erro de digitação na variável mensagemTentativas. A sintaxe correta é ${variavel} em vez de ´variavel´

  2. A variável palavraTentativas está sendo usada mas não está definida

  3. Na função limparCampo, você está atribuindo a variável chute a um elemento do DOM, mas não está declarando chute como uma variável

  4. Na função reiniciarJogo, você está usando a variável numeroSecreto sem a definir, por conta do escopo da função.

Como não consegui testar, pode ser que ainda haja algum problema, mas talvez já ajude a finalizar o código.