Ao invés de iniciar o Jogo do Número Secreto declarando as variáveis de:
let numeroSecreto = gerarNumeroAleatorio();
let numeroTentativas = 1;
Eu achei que seria mais fácil já iniciar executando a função reiniciarJogo()
visto que nada que ela faz "atrapalha" o início de jogo. Porém, quando eu faço isso, eu tenho o seguinte erro Uncaught ReferenceError: numeroTentativas is not defined at app.js:60:13
, o mesmo acontece para o numeroSecreto
Queria entender porque isso acontece, visto que eu entendo que quando eu chamo a função reiniciarJogo()
eu estou sim definindo o numeroTentativas
e numeroSecreto
.
Segue código completo para avaliação:
function gerarNumeroAleatorio () {
return parseInt(Math.random() * 10 + 1);
}
function reiniciarJogo() {
let numeroSecreto = gerarNumeroAleatorio();
let numeroTentativas = 1;
limparCampo();
document.getElementById('reiniciar').setAttribute('disabled',true);
exibirTextoNaTela('h1', 'Jogo do número Secreto');
exibirTextoNaTela('p', 'Escolha um número entre 1 e 10');
}
function exibirTextoNaTela(tag, texto) {
let campo = document.querySelector(tag);
campo.innerHTML = texto;
}
function limparCampo() {
let chute = document.querySelector('input');
chute.value = '';
}
reiniciarJogo();
function verificarChute() {
let chute = document.querySelector('input').value;
if (chute == numeroSecreto) {
let textTentativas = numeroTentativas > 1 ? 'tentativas' : 'tentativa';
exibirTextoNaTela('p',`Acertou! Usando ${numeroTentativas} ${textTentativas} .`);
document.getElementById('reiniciar').removeAttribute('disabled');
} else {
limparCampo();
numeroTentativas++;
if (chute < numeroSecreto) {
exibirTextoNaTela('p',`A resposta é maior que ${chute}`);
} else {
if (chute > numeroSecreto) {
exibirTextoNaTela('p',`A resposta é menor que ${chute}`);
}
}
}}