Solucionado (ver solución)
Solucionado
(ver solución)
1
respuesta

Simulando una pantalla de inicio de sesión

Simulando una pantalla de inicio de sesión

La solución propuesta sólo me da dos intentos en vez de tres (tanto si el usuario y la contraseña están indicados correcta o incorrectamente, directamente luego del segundo intento ya me aparece la pantalla en blanco) y observo que no estan declaradas por fuera estas dos variables: var inicioDeSesionIngresado = prompt("Ingrese su usuario"); var contrasenhaIngresada = prompt("Ingrese su contraseña"); Disculpas no comprendo, me podran explicar? Gracias!!

<meta charset="UTF-8">

<script>

    var inicioDeSesioRegistrado = "alura";
    var contrasenhaRegistrada = "alura321";

    var maximoIntentos = 3;
    var intentoAtual = 1;

    while(intentoAtual <= maximoIntentos){
        var inicioDeSesionIngresado = prompt("Ingrese su usuario");
        var contrasenhaIngresada = prompt("Ingrese su contraseña");

        if(inicioDeSesionRegistrado == inicioDeSesionIngresado && contrasenhaRegistrada == contrasenhaIngresada){
            alert("Bienvenido al sistema" + inicioDeSesionIngresado);
            intentoActual = maximoIntentos; // Lo hice bien, así que paso todos los intentos que falten y salgo del loop. Allá abajo aumentará +1! 
        } else {
            if (intentoActual == 3) {
                alert("Agotaste el número permitido de intentos!");
            } else {
                alert("Inicio de sesión inválido. Favor intente de nuevo");
            }
        }

       // vaya al próximo intento 
        intentoActual = intentoActual +1  
    }

</script>
1 respuesta
solución!

Simulando una pantalla de inicio de sesión

<meta charset="UTF-8">

<script>

    var usuarioRegistrado = "alura";
    var contrasenhaRegistrada = "alura321";

    var maximoIntentos = 3;
    var intentoActual = 1;

    while(intentoActual <= maximoIntentos){

        var usuarioIngresado = prompt("Ingrese su usuario");
        var contrasenhaIngresada = prompt("Ingrese su contraseña");

        if(usuarioIngresado == usuarioRegistrado && contrasenhaIngresada == contrasenhaRegistrada){

         alert("Bienvenido al sistema " + usuarioIngresado);

          break;

       } else {

            if (intentoActual == maximoIntentos) {

                alert("Agotaste el número permitido de intentos!");

                break;

            } else {

                 alert("Inicio de sesión inválido. Favor intente de nuevo");

            }
        }

        intentoActual = intentoActual +1

    }

</script>

Yo tuve el mismo problema así que lo repetí guiandome del juego de adivinación mejorado, las variables no las declaran por fuera porque es la instrucción que le estas dando al loop, es decir que si la condición (en este caso que el intento actual sea inferior al maximo de intentos) tu programa te pregunte cual es tu usuario y contraseña, tecnicamente sería el usuario quien defina esas variables al ingresarlas en tu programa.