Bom dia pessoal!
Quando eu clico no botão "Novo Jogo" aparece o seguinte erro no console e a função reiniciarJogo(); não é executada. Já tem umas 2 horas que eu to tentando encontrar o erro porém até agora nada.
Segue como está o meu HTML e JS caso alguém queira da uma olhada pra me ajudar :) Agradeço desde já!
<!DOCTYPE html>
<html lang="pt-br">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<script src="https://code.responsivevoice.org/responsivevoice.js"></script>
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Chakra+Petch:wght@700&family=Inter:wght@400;700&display=swap"
rel="stylesheet">
<link rel="stylesheet" href="style.css">
<title>JS Game</title>
</head>
<body>
<div class="container">
<div class="container__conteudo">
<div class="container__informacoes">
<div class="container__texto">
<h1></h1>
<p class="texto__paragrafo"></p>
</div>
<input type="number" min="1" max="10" class="container__input">
<div class="chute container__botoes">
<button onclick="verificarChute()" class="container__botao">Chutar</button>
<button onclick="reiniciarJogo()" id="reiniciar" class="container__botao" disabled>Novo jogo</button>
</div>
</div>
<img src="./img/ia.png" alt="Uma pessoa olhando para a esquerda" class="container__imagem-pessoa" />
</div>
</div>
<script src="app.js" defer></script>
</body>
</html>
//let titulo = document.querySelector("h1");
//titulo.innerHTML = "Jogo do numero secreto";
//let paragrafo = document.querySelector("p");
//paragrafo.innerHTML = "Escolha um númer entre 1 e 10";
let numeroSecreto = gerarNumeroAleatorio();
console.log(numeroSecreto);
let tentativas = 1;
function exibirTextoNaTela(tag, texto) {
//Aqui temos uma função que exibe coisas e que possui parametros, o primeiro é a tag HTML que queremos exibir e o segundo é o texto que queremos exibir.
//A função recebe esses parametros e executa uma ação, que é exibir o texto
let campo = document.querySelector(tag);
campo.innerHTML = texto;
}
exibirTextoNaTela("h1", "Jogo do numero secreto");
exibirTextoNaTela("p", "Escolha um número entre 1 e 10");
function gerarNumeroAleatorio() {
// Aqui temos uma função que não tem paramentro, porem tem um retorno, o retorno é a geração de um número aleatório entre 1 e 10.
return parseInt(Math.random() * 10 + 1);
}
// function verificarChute() {
// Aqui temos uma função que não tem paramentro e não tem retorno, mas executa uma ação, a ação de verificar o chute do usuário no console.
// console.log("O botao esta sendo clicado!");
// }
function verificarChute() {
//Aqui temos uma função que não tem paramentro e não tem retorno, mas executa uma ação, a ação de verificar o chute do usuário no console.
let chute = document.querySelector("input").value;
// console.log(chute == numeroSecreto);
if (chute == numeroSecreto) {
let palavraTentativa = tentativas > 1 ? "tentativas" : "tentativa";
let mensagemTentativas = `Você acertou o número secreto com ${tentativas} ${palavraTentativa} parabéns!`;
exibirTextoNaTela("h1", "Você acertou!");
// exibirTextoNaTela("p", "Você descobriu o numero secreto, parabéns!");
exibirTextoNaTela("p", mensagemTentativas);
document.getElementById("reiniciar").removeAttribute("disabled");
} else {
if (chute > numeroSecreto) {
exibirTextoNaTela("p", "O número secreto é menor!");
} else {
exibirTextoNaTela("p", "O número secreto é maior!");
}
tentativas++;
limparCampo();
}
function limparCampo() {
chute = document.querySelector("input");
chute.value = "";
}
}
function reiniciarJogo() {
numeroSecreto = gerarNumeroAleatorio();
limparCampo();
tentativas = 1;
exibirTextoNaTela("h1", "Jogo do numero secreto");
exibirTextoNaTela("p", "Escolha um número entre 1 e 10");
}