1
respuesta

Duda

¿Como es que funciona lo de "veces" y "vez" en el bucle?

//Variables let numeroSecreto = 4; let numeroUsuario = 0; let intentos = 1; let palabraVeces = 'vez';

while (numeroUsuario != numeroSecreto) { numeroUsuario = prompt("Me indicas un número entre 1 y 10 por favor:");

console.log(numeroUsuario);
if (numeroUsuario == numeroSecreto) {
    //Acertamos, fue verdadera la condición
    alert(`Acertaste, el número es: ${numeroUsuario}. Lo hiciste en ${intentos} ${palabraVeces}`);
} else {
    if (numeroUsuario > numeroSecreto) {
        alert('El número secreto es menor');
    } else {
        alert('El número secreto es mayor');
    }
    //Incrementamos el contador cuando no acierta
    intentos = intentos + 1;
    palabraVeces = 'veces';
    //La condición no se cumplió
    //alert('Lo siento, no acertaste el número');
}

}

1 respuesta

Hola ¿cómo estás?, me gustaría explicarte desde lo que a mi me ha funcionado.

Cuando declaramos una variable, nosotros le asignamos como deseamos que inicie, en este caso si lo pensamos como un camino la variable intentos está iniciando en 1, por lo que, si adivinamos a la primera debe decir "1 vez" y no "1 veces", para este caso se ha inicializado la variable let palabraVeces en "Vez"... si durante el camino, aciertas a la primera, así te lo marcará como "1 vez"... pero que pasa si continuas los intentos, avanzas en el camino y la variable palabraVeces cambia justo después de sumar un intento a plural, entonces si ya haz intentado más de una vez, y aciertas... como ha sido cambiada la variable a 'Veces' ya te aparecerá "lo lograste en 2 veces".

Trata de seguir el camino, todos son pasos, así funciona el compilador, me sirve hacerlo a mano para ver en que momento van mutando las variables.

Saludos.