En este programa llegando a la mitad de código, estoy atorado y no llego a entender (leer esa parte)...
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 desde cero, sin la más mínima noción previa, 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>