Oi! Estava tentando misturar os dois jogos que o professor ensina na aula, tentando colocar um limite máximo de tentativas nesse código aí de baixo. Ele fez isso no primeiro jogo, que era mais simples, usando while() e if() mas não tô conseguindo acertar nesse.
Tentei colocar o while logo acima da função verifica() e o máximo que consegui foi que ele dê três alerts de erro seguidos com um chute.
Tentei também colocar o button.onclick entre while e if e não deu resultado nenhum, o jogo seguiu rodando igual. Alguém pode me dar uma luz? :)
Valeu!
<meta charset="UTF-8">
<input/>
<button>Tenta adivinhar um número de 0 a 10! Digita e clica aqui!</button>
<script>
function pulaLinha() {
document.write("<br>");
document.write("<br>");
}
function mostra(frase) {
pulaLinha();
document.write(frase);
pulaLinha();
}
function sorteia() {
return Math.round(Math.random() * 10)
}
function sorteiaNumeros(quantidade) {
var numerosPensados = [];
var numero = 1
while(numero <= quantidade) {
var numeroAleatorio = sorteia();
var achou = false;
if(numeroAleatorio !== 0){
for(var posicao = 0; posicao < numerosPensados.length; posicao++) {
if(numerosPensados[posicao] == numeroAleatorio) {
achou = true;
break;
}
}
if(achou == false) {
numerosPensados.push(numeroAleatorio);
numero++;
}
}
}
return numerosPensados;
}
var numerosPensados = sorteiaNumeros(3);
console.log(numerosPensados);
var chute = document.querySelector("input");
var input = document.querySelector("input");
input.focus();
var button = document.querySelector("button");
function verifica() {
var achou = false
for(var posicao = 0; posicao < numerosPensados.length; posicao++) {
if(input.value == numerosPensados[posicao]) {
alert("Você ACERTOU");
achou = true
mostra("Acabou o joguinho!")
break;
}
}
if(achou == false) {
alert("Você errou :(")
}
input.value = "";
input.focus();
}
button.onclick = verifica;
</script>