1
resposta

[Dúvida] Meu código não conta a quantidade de tentativas

let numeroSecreto = gerarNumeroAleatorio();

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

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','Você acertou!');
        let palavraTentativas = tentativas > 1 ? 'tentativas' : 'tentativa';
        let mensagemTentativas = `Parabéns, você descobriu o número secreto em ${tentativas} ${palavraTentativas}!`;
        exibirTextoNaTela('p',mensagemTentativas);
    } else if(chute < numeroSecreto) {
        exibirTextoNaTela('h1', 'Tente novamente...');
        exibirTextoNaTela('p', `O número secreto é maior que ${chute}!`);
    } else {
        exibirTextoNaTela('h1', 'Tente novamente...');
        exibirTextoNaTela('p', `O número secreto é menor que ${chute}!`);
    } tentativas++;
}

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

Olá João!

Pelo que entendi, você está com uma dúvida em relação à contagem de tentativas no seu código. Vou te ajudar a resolver isso!

No seu código, você já criou uma variável chamada tentativas e a inicializou com o valor 1 na linha 2. Isso é ótimo! Agora, vamos fazer algumas alterações para exibir corretamente o número de tentativas.

Na linha, onde você criou a variável mensagemTentativas, você pode substituir o número fixo 5 pelo valor da variável tentativas. Para isso, basta utilizar a template string ${tentativas}. Assim, a linha ficará assim:

let mensagemTentativas = `Você descobriu o número secreto com ${tentativas} tentativas!`;

Além disso, na linha 18, você pode criar uma variável chamada palavraTentativas que será responsável por definir se a palavra "tentativas" será no singular ou no plural. Você pode fazer isso utilizando o operador ternário ?. Ficará assim:

let palavraTentativas = tentativas > 1 ? 'tentativas' : 'tentativa';

Por fim, na linha 19, você pode substituir a palavra fixa 'tentativas' pela variável palavraTentativas. Assim, a linha ficará assim:

exibirTextoNaTela('p', `Parabéns, você descobriu o número secreto em ${tentativas} ${palavraTentativas}!`);

Dessa forma, a mensagem exibida será corretamente no singular quando tiver apenas uma tentativa e no plural quando tiver mais de uma.

Espero ter ajudado! Bons estudos!