Não é bem uma dúvida, apenas queria compartilhar o jogo de adivinha que consegui aprimorar do curso de lógica de programação, agora sinto que estou evoluindo de verdade.
Ele detecta e bloqueia fazendo digitar de novo se a pessoa colocar letras ao invés de números e também se o número de chute for maior que 10, que é o número máximo.
Também gostaria de opiniões de aprimorar o código.
<meta charset="UTF-8">
<script>
function mostra(frase) {
document.write(frase);
document.write("<br>");
}
var numeroPensado = Math.round(Math.random() * 10);
var chances = 1;
while (isNaN(numTentativas)) {
var numTentativas = parseInt(prompt("Quantas tentativas pra acertar o número você deseja?"));
if (isNaN(numTentativas)) {
alert("Você não pode usar palavras, escolha apenas números!");
}
}
while (isNaN(chute) || chute > 10 || chances <= numTentativas) {
var chute = parseInt(prompt("Adivinhe o número que eu pensei entre 0 e 10!"));
var tentativas = (numTentativas - chances);
if (isNaN(chute)) {
alert("Você não pode usar palavras, escolha apenas um número entre 0 e 10!");
}
else if (chute > 10) {
alert("Você deve escolher apenas um número entre 0 e 10!");
}
else if (chute == numeroPensado) {
mostra("Parabéns! você acertou! o número pensado era " + numeroPensado + "!!");
mostra("(Você acertou em " + chances + " tentativas)");
break;
}
else if (chute < 10) {
if (tentativas > 0) {
alert("Você errou! Lhe restam " + tentativas + " tentativas!");
}
else {
mostra("Acabaram suas tentativas! O número pensado era " + numeroPensado + "!!");
}
chances++;
}
}
</script>