No sé si en el próximo video se aborda la misma solución que yo encontré para solventar el error que se dio al final. Yo realicé este código a la mitad del video porque me puse a probar la función antes de avanzar y me topé con el mismo error. Al querer solucionarlo modifiqué el código de la siguiente manera, utilizando lo que ya hemos aprendido hasta ahora y de una manera sencilla:
function generarNumeroSecreto() {
let numeroGenerado = Math.floor(Math.random()*10 + 1);
if (listaNumerosSecretos.includes(numeroGenerado)) {
if (listaNumerosSecretos.length == 10) {
asignarTextoElemento('p', "Has descubierto todos los números secretos");
document.getElementById('intentar').setAttribute('disabled', 'true');
} else {
return generarNumeroSecreto();
}
} else {
listaNumerosSecretos.push(numeroGenerado);
return numeroGenerado;
}
}
Básicamente agregue una condición más, en donde si el numero generado esta en la lista, va a ver primero si el tamaño de la lista es 10 y en caso afirmativo va a deshabilitar el botón de intentar y a mostrar un mensaje explicativo al usuario, para que él mismo entienda lo que sucedió y no tenga manera de seguir generando nuevos números. Así mismo, si esta condición se cumple, ya no va a volver a ejecutar la función porque dicho evento es la condición alternativa, la cual no se ejecutará debido a que se cumplió la primera condición que acabo de explicar.
No sé si esta es la solución que se da en el próximo video, pero la testeé bastante y no me salió ningún resultado fuera del esperado. Lo dejo aquí por si a alguien le sirve :)
PD: Para poder seleccionar el botón de "intentar", fui al HTML y le agregué el id por el que lo estoy invocando en el código, así que si quieres probar el código debes hacer lo mismo o sino no funcionará.