Não consegui entender o porque... quando acerta tudo bem, mas quando erra o loop não encerra nunca, fica infinito... tanto usando "for" quanto usando "while"
<meta charset="utf-8">
<input/>
<button>Você consegue adivinhar o meu segredo?</button>
<script>
function sorteia() {
return Math.round(Math.random()*10);
}
function sorteiNumero(quantidade) {
var segredos = [];
var numero = 1;
while(numero <= quantidade) {
var numeroAleatorio = sorteia();
if(numeroAleatorio != 0) {
var achou = false;
for(var posicao = 0; posicao < segredos.length; posicao++) {
if(segredos[posicao] == numeroAleatorio) {
achou = true;
break;
}
}
if(achou == false) {
segredos.push(numeroAleatorio);
numero++;
}
}
}
return segredos;
}
var segredos = sorteiNumero(3);
console.log(segredos);
function mostra() {
alert("FIM!!! Pressione Enter para reiniciar");
}
var input = document.querySelector("input");
input.focus();
function verifica() {
var achou = false;
// var cont = 1;
// while(cont < tentativas) {
for(var posicao = 0; posicao < segredos.length; posicao++) {
if(input.value == segredos[posicao]) {
alert("Você descobriu meu segredo");
achou = true;
mostra();
break;
}
}
if(achou == false) {
alert("Você errou");
// cont++
}
input.value = "";
input.focus();
// }
}
var tentativas = parseInt(prompt("quantas tentativas você deseja?"));
// for(var cont = 0; cont < tentativas; cont++) {
var button = document.querySelector("button");
button.onclick = verifica;
// }
document.write("<br>FIM!!!");
</script>