Ocorreu o seguinte: Meu código está exatamente igual ao mostrado no vídeo, porém não permite um segundo chute. Utilizei IA para verificar se havia algum erro, porém não apontou nada. Quando informei a IA que o problema era não aceitar novos chutes, me foi recomendado a adicionar document.querySelector('input').value = ''; para limpar o campo sempre que eu chutasse, e isto deu certo. Porém esta linha de código apenas limpa o campo, não influencia na lógica do meu jogo.
Então por que o de vocês deu certo sem essa linha, e o meu não?
Não consigo entender onde está o problema no código.
Meu código:
let numeroSecreto = gerarNumeroAleatorio();
let tentativas = 1;
function exibirTextoNaTela(tag, texto) { //A função recebe dois parâmetros:
//tag → qual elemento do HTML queremos alterar
//texto → o que vai aparecer na tela.
let campo = document.querySelector(tag); //procura um elemento no HTML. Esse elemento encontrado é guardado na variável campo.
campo.innerHTML = texto; //Então essa linha troca o texto que está dentro do elemento encontrado.
}
exibirTextoNaTela('h1', 'Jogo Secreto'); //Procura <h1> e Coloca dentro dele: "Jogo Secreto"
exibirTextoNaTela('p', 'Escolha um número entre 1 e 10'); // Procura <p> e Coloca dentro dele: "Escolha um número entre 1 e 100"
function verificarChute() {
let chute = Number(document.querySelector('input').value);
if (chute == numeroSecreto) {
exibirTextoNaTela('h1', 'Acertou.');
let palavraTentativa = tentativas > 1 ? 'tentativas' : 'tentativa';
let mensagemTentativas = `Você descobriu o número secreto com ${tentativas} ${palavraTentativa}!`;
exibirTextoNaTela('p', mensagemTentativas);
} else {
if (chute > numeroSecreto) {
exibirTextoNaTela("p", "O número secreto é menor que o chute!");
} else {
exibirTextoNaTela("p", "O número secreto é maior que o chute!");
}
//tentativas = tentativas + 1;
tentativas++;
document.querySelector('input').value = '';
}
}
function gerarNumeroAleatorio() {
return parseInt(Math.random() * 10 + 1);
}