En la versión #3 del programa "Juego_secreto_v3.html" llegando a la mitad de código, estoy atorado y no llego a entender...
No entiendo por qué ni para qué, en el ultimo IF en el caso de que el número sea falso le ingresa "numeroAleatorio" a "secretos" y después para qué incrementa el "contador" con contador++
Primero les paso el fragmento del código donde estoy trabado y luego les paso el código completo para que se entienda el contexto.
Soy principiante el programación completamente desde cero, así que valoro muchísimo la ayuda. Gracias!!
if (encontrado == false) {
secretos.push(numeroAleatorio);
contador++;
Código completo:
<meta charset="UTF-8">
<input/>
<button>Verificar si acertó algún valor secreto</button>
<script>
function aleatorio() {
return Math.round(Math.random() * 10);
}
// Math.round DEVUELVE NUMEROS DECIMALES (POR ESO MULTIPLICO POR "10")
// return EJECUTA Math.round SIN DEVOLVER EL VALOR Y REGRESA A LA FUNCION
function sortearNumeros(cantidad) {
var secretos = [];
var contador = 1;
while (contador <= cantidad) {
var numeroAleatorio = aleatorio();
console.log(numeroAleatorio); // SI QUISIERA VERLO EN LA CONSOLA
var encontrado = false;
if (numeroAleatorio != 0) {
for (var posicion = 0; posicion < secretos.length; posicion++) {
// secretos.length VA A secretos Y TOMA TODOS LOS VALORE QUE HAY AHI
if (numeroAleatorio == secretos[posicion]) {
encontrado = true;
break;
}
}
if (encontrado == false) {
secretos.push(numeroAleatorio);
contador++;
}
}
}
return secretos;
}
var secretos = sortearNumeros(4);
console.log(secretos); // SI QUISIERA VERLO EN LA CONSOLA
var input = document.querySelector("input");
input.focus();
function verificar() {
var encontrado = false;
for (var posicion = 0; posicion < secretos.length; posicion++) {
if (parseInt(input.value) == secretos[posicion]) {
alert("usted acerto");
encontrado = true;
break;
}
}
if (encontrado == false) {
alert("usted erro");
}
input.value = "";
input.focus();
}
var boton = document.querySelector("button");
boton.onclick = verificar;
</script>