Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
1
respuesta

Me sale el mensaje "límite de intentos" incluso cuando adivino en el último intento

Hola equipo

Quiero compartir una observación que tuve al probar el juego del número secreto.

Cuando acertaba el número secreto en el último intento permitido, el juego primero me mostraba el mensaje de felicitación ("¡Acertaste!"), pero inmediatamente después salía el mensaje:
"Llegaste al límite de intentos. El número secreto era...", lo cual genera confusión, ya que ¡yo ya había ganado!

Estuve revisando el código del profesor y noté que falta un break justo después del mensaje ganador. Esto hace que, aunque aciertes, el while continúe y evalúe si superaste el máximo de intentos, incluso cuando ya no debería hacerlo.

Mi propuesta:
Agregar break; justo después del alert de victoria para detener el bucle inmediatamente, así:

if (numeroUsuario == numeroSecreto) {
    alert(`¡Acertaste! El número es: ${numeroUsuario}...`);
    break; // detener el juego al ganar
}
1 respuesta

Hola Cinthya, tendría que revisarse el código completo de esa parte del bucle... yo lo tengo como lo plantea el video y me funcion bien:


if( **numeroUsuario** == numeroSecreto ) {
        //resultado si la condición es verdadera
        alert(`¡Acertaste! el número secreto es: ${**numeroSecreto**}. Lo hiciste en ${intentos} ${intentos ==1 ? "intento" : "intentos"}`);
    } else {
        if( numeroUsuario > numeroSecreto ){
            alert('el número secreto es menor');
        } else {
            alert('El número secreto es mayor');
        }
        intentos ++;
        if(intentos > maximosIntentos){
            alert(`Llegaste al número máximo de ${maximosIntentos} intentos`);
            break;
        }

El único cambio que realicé en esa línea que indicas, es que la variable que debería ir allí es ${numeroSecreto} ya que es el número a revelar, pues el usuario ya sabe el último número que colocó.

Espero te ayude,