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

Mensagem da contagem de tentativas não aparece

meu código está funcionando normalmente fora o fato de que a mensagem de tentativas não é exibida ao ganhar. O que poderia ser?

let numeroSecreto = 1; //gerarNumeroAleatorio();

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

adicionaTexto('h1', 'Jogo do número secreto');
adicionaTexto('p', 'Escolha um número entre 1 e 100:');

function verificarChute() {
    let chute = document.querySelector('input').value;
    if (chute == numeroSecreto) {
        adicionaTexto('h1', 'Você acertou!');
        let palavraTentativa = tentativas > 1 ? 'tentativas' : 'tentativa';
        let mensagemTentativas = `Parabéns! Você acertou com um total de ${tentativas} ${palavraTentativa}!`;
        adicionaTexto('p', mensagemTentativas);
    } else if (chute > numeroSecreto) {
        adicionaTexto('p', 'Errou! O número é menor! Tente novamente:');
    } else if (chute < numeroSecreto) {
        adicionaTexto('p', 'Errou!, o numero é maior! Tente novamente:');
    }
    tentativas++
}

function gerarNumeroAleatorio() {
    return parseInt(Math.random() * 100 + 1);
}
2 respostas
solução!

Olá, Yan! Tudo bem?

Pelo que percebo, parece que você esqueceu de inicializar a variável tentativas. No seu código, essa variável é incrementada dentro da função verificarChute(), mas ela não foi inicializada antes disso.

Na atividade, Guilherme e Mônica inicializam a variável tentativas com o valor 1 logo no início do código, antes de qualquer função. Isso porque, desde o início do jogo, caso o número seja acertado de primeira, já teremos ali uma tentativa.

Então, para corrigir o problema, você deve adicionar let tentativas = 1; no início do seu código, antes da função adicionaTexto(). Seu código ficaria assim:

let numeroSecreto = 1;
let tentativas = 1;

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

adicionaTexto('h1', 'Jogo do número secreto');
adicionaTexto('p', 'Escolha um número entre 1 e 100:');

function verificarChute() {
    let chute = document.querySelector('input').value;
    if (chute == numeroSecreto) {
        adicionaTexto('h1', 'Você acertou!');
        let palavraTentativa = tentativas > 1 ? 'tentativas' : 'tentativa';
        let mensagemTentativas = `Parabéns! Você acertou com um total de ${tentativas} ${palavraTentativa}!`;
        adicionaTexto('p', mensagemTentativas);
    } else if (chute > numeroSecreto) {
        adicionaTexto('p', 'Errou! O número é menor! Tente novamente:');
    } else if (chute < numeroSecreto) {
        adicionaTexto('p', 'Errou!, o numero é maior! Tente novamente:');
    }
    tentativas++
}

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

Espero ter ajudado e bons estudos!

Realmente! Não acredito que não vi isso kkkkk, muito obrigado pela sua ajuda Renan :)