Hola Buenas tardes Abraham.
el valor de las variables se cambian porque antes de la modificación así esta el código
- las funciones para asignarTextoElemento() no se encontraba dentro de ninguna función pero se mandaban a llamar cada una por separado, por lo que solo se inicializaban cada vez que iniciabas o actualizabas la pagina.
asignarTextoElemento('h1','Juego del número secreto');
asignarTextoElemento('p','Indica un número del 1 al 10?');
La declaración de la variable let numeroSecreto se inicializaba con la función generarNumeroSecreto() para que se mandara a llamar la función generando el numero y asignándolo a la variable solo cada que abrías o se actualizaba la pagina.
La declaración de la variable let intentos se inicializaba en ese momento con el numero 1 porque en lo que se llevaba de desarrollo de juego al igual que la variable numeroSecreto y las funciones de asignarTextoElemento solo se ocupaban utilizar 1 sola vez en el programa.
Pero al activar el botón Nuevo Juego con la funcion reiniciarJuego se tenían que activar las variables y funciones anteriores cada que se diera click al botón, por lo que se creo la función:
function condicionesIniciales(){
asignarTextoElemento('h1','Juego del número secreto');
asignarTextoElemento('p','Indica un número del 1 al 10?');
numeroSecreto = generarNumeroSecreto();
intentos = 1;
condicionesIniciales();
- Y es por eso que al cambiar las variables con el valor a "cero" sigue funcionando el juego porque al llamar la función condicionesIniciales() en la parte de abajo inicializa esas funciones y se la da valor a las variables cada vez que entras o actualizas la pagina, o das click en el botón Nuevo Juego .
- Y la declaración de las variables se deja en la parte superior porque eso es una buena practica.
Espero poder aclarar tu duda, saludos!!