Boa noite! Queria compartilhar o código que eu fiz pro jogo da adivinhação, pra ver o que vocês acham. Naquele exercício de calcular as gerações desde 1500, percebi que era muito fácil o usuário bugar o cálculo usando strings e números inválidos, então achei legal começar a praticar as condicionais, limitando o tipo de input que o programa aceita na hora de trabalhar.
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
</head>
<body>
<h1>Tente adivinhar um número inteiro de 0 a 10!</h1>
<p>Você tem três chances para acertar o número que eu pensei...</p>
<input id="palpite" />
<button>Bora!</button>
<p id="resultado"></p>
<script>
let palpite = document.querySelector("input");
let resultado = document.getElementById("resultado");
palpite.focus();
let botaoPalpite = document.querySelector("button");
botaoPalpite.onclick = adivinhacao;
let numeroAleatorio = Math.round(Math.random() * 10);
let tentativas = 1;
function adivinhacao(){
palpite.focus();
if (tentativas <= 3 && palpite.value == numeroAleatorio){
resultado.textContent = "Parabéns, você acertou!";
palpite.value = "";
return;
}
if (isNaN(palpite.value) || palpite.value < 0 || palpite.value > 10){
resultado.textContent = "Tem que ser um número entre 0 e 10!";
palpite.value = "";
return;
}
if (!isNaN(palpite.value) && palpite.value != numeroAleatorio){
if(tentativas >= 3){
resultado.textContent = "Ih, acabaram as tentativas! O número era " + numeroAleatorio + "!";
return;
} else {
resultado.textContent = "Ops, não era esse... Tente novamente!";
tentativas++;
palpite.value = "";
}
}
}
</script>
</body>
</html>
O que acharam? Eu ainda quero aprimorar o código, e criar um botão através do script para que, se o usuário acertar ou gastar toda as tentativas, possa ser gerado outro número aleatório e ele possa jogar novamente sem ter que recarregar a página... Mas isso vai ficar pra mais além, que esse aqui já foi exercício o bastante por enquanto! hehe