Estou fazendo os exercícios referente a aula, e me deparei com uma questão que não consegui resolver ainda. Levando em consideração que não devemos repetir as partes dentro do código, e sim transformar em funções, me deparei com o seguinte problema:
No meu jogo também quero que ele mostre quantas tentativas foram realizadas pelo jogador, no mesmo local onde informamos se o chute é maior ou menor do que o número secreto.
Para isso, coloquei a seguinte parte no código:
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 com ${tentativas} ${palavraTentativa}!`;
exibirTextoNaTela ('p',mensagemTentativas);
document.getElementById('reiniciar').removeAttribute('disabled');
}
else {
let palavraTentativa = tentativas > 1 ? 'tentativas' : 'tentativa';
let maiorMenor = chute > numeroSecreto ? 'menor':'maior'
let msgMaiorMenor = `O número é ${maiorMenor} que ${chute}! Você usou ${tentativas} ${palavraTentativa}`;
exibirTextoNaTela ('h1',msgMaiorMenor);
tentativas++;
}
}
limparCampo()
Assim funcionou bem, conforme o esperado, porém, precisei adicionar tanto no if quanto no else a parte do let:+
let palavraTentativa = tentativas > 1 ? 'tentativas' : 'tentativa';
Eu imaginei que era só tirar essa parte de dentro do if/else, mas ao tentar ele dá um erro no console.
Vou deixar aqui o link do github com o jogo como está hoje, que está em pleno funcionamento. Gostaria de uma explicação mais "didática" do porque isso ocorre.
https://github.com/thzibetti/jogonumerosecreto/blob/main/app.js
De qualquer forma obrigado, estou adorando o curso!