Olá,
Pessoal, consegui realizar o que o último exercício pedia, que era colocar mais chances pro usuário e sortear números aleatórios que não se repetem e não são 0.
Mas agora, na função verificaChutes, eu não consigo eliminar os IFS, porque tenho 2 listas, a lista "listaChutes" e a "numeroPensado", não consigo fazer o loop de alguma forma que compare o primeiro chute com o primeiro número, o segundo chute com o segundo número e assim por diante.
Segue código:
<meta charset="UTF-8">
<script>
function mostra (frase) {
document.write(frase);
pulaLinha();
}
function pulaLinha() {
document.write("<br><br>")
}
function sorteia () {
return Math.round(Math.random() * 10);
}
function listaSegredos (quantidade) {
var segredos = [];
var contador = 1;
while (contador <= 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);
contador++;
}
}
}
return segredos;
}
//
var numeroPensado = listaSegredos(3);
console.log(numeroPensado);
alert("Tente acertar três números premiados de 0 a 10");
function adicionaChutes () {
var listaChutes = []
var chutes = 3
var contador = 1;
while (contador <= chutes) {
var chute = parseInt(prompt("Chute " + contador))
listaChutes.push (chute);
contador++;
}
return listaChutes;
}
var listaChutes = adicionaChutes();
function verificaChutes () { // é aqui o problema, eu tive que colocar um IF para cada chute e cada número sorteado, está funcionando, mas quero eliminar os IFS e utilizar alguma forma de loop
if (listaChutes[0] == numeroPensado[0]) {
mostra("Parabéns, você acertou o primeiro número!");
} else {
mostra ("Que pena, você errou o primeiro número!")
}
if (listaChutes[1] == numeroPensado[1]) {
mostra("Parabéns, você acertou o segundo número!");
} else {
mostra ("Que pena, você errou o segundo número!")
}
if (listaChutes[2] == numeroPensado[2]) {
mostra("Parabéns, você acertou o terceiro número!");
} else {
mostra ("Que pena, você errou o terceiro número!")
}
}
alert ("Mostrar resultado");
verificaChutes();
mostra("FIM");
</script>
Já tentei usar o while e for mas estou confuso, não tô conseguindo passar disso.