Solucionado (ver solución)
Solucionado
(ver solución)
3
respuestas

Consulta sobre alert.

Hola!

Tengo una consulta con respecto a la respuesta en caso de que la persona no adivine el número. Si pongo el mensaje "Usted no acertó. Intente otra vez.", ¿Cómo puedo hacer para que solo aparezca 2 veces? Y que luego del tercer intento fallido no vuelva a aparecer.

¡Gracias!

<meta charset="UTF-8">

<h1>FUNCIÓN DE LOTERÍA y FUNCIÓN BREAK. </h1>

<script>

    function saltarLinea() {
        document.write("<br>");    
        document.write("<br>");    
        document.write("<br>");    
    }  

    function imprimir(frase) {
        document.write(frase);
        saltarLinea();
    }

    var numeroPensado= Math.round(Math.random()*10);
    var intentos= 3;
    var contador = 1;


    while(contador<=intentos) {

        var numeroLanzado= parseInt(prompt("Ingrese un número entre 0 y 10."));

            if (numeroPensado == numeroLanzado) {
                alert("Usted acertó en el intento " + contador + ".");
                               break;


            }

            else {

                alert("Usted no acertó. Intente otra vez.");

            }

        contador++;


    }


    if (numeroPensado == numeroLanzado) {

            imprimir("Usted acertó en el intento " + contador + ". El número pensado era " + numeroPensado + ".");

    }

    else {
            imprimir("Usted no acertó. El número pensado era " + numeroPensado + ".");

    }




</script>
3 respuestas
solución!

Buenas tardes, probé tu código y funciona bien, te paso mi código en el que al momento del tercer intento el mensaje es diferente. Espero te sea de utilidad. Saludos!

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <h1>Adivinanza desde 0 - 2do intento</h1>
    <script>
        function saltarlinea() {
            document.write("<br><br><br>");
        }
        function imprimir(frase) {
            document.write(frase);
            saltarlinea();
        }
        var numeropc = Math.round(Math.random() * 10);
        var intentos = 3;
        var contador = 1;

        while (contador <= intentos) {

            var numerousuario = parseInt(prompt("Ingrese un numero del 0 al 10"));

            if (numerousuario == numeropc) {
                alert("Acertaste el numero al azar, usaste " + contador + " intentos.");
                break;
            }
            else {
                if (contador == 3) {
                    alert("Usaste todos tus intentos, apreta F5")
                }
                else {
                    alert("Fallaste, volve a intentarlo");
                }
                contador++;
            }
        }
        if (numeropc == numerousuario) {
            imprimir("Felicitaciones, acertaste el numero al azar " + numeropc);
        }
        else {
            imprimir("Proba de nuevo");
        }
        imprimir("Fin")
    </script>
</body>

</html>

¡Muchas gracias, Ezequiel! Me fue de mucha ayuda tu código. Finalmente quedó así:

<meta charset="UTF-8">

<h1>FUNCIÓN DE LOTERÍA y FUNCIÓN BREAK. </h1>

<script>

    function saltarLinea() {
        document.write("<br>");    
        document.write("<br>");    
        document.write("<br>");    
    }  

    function imprimir(frase) {
        document.write(frase);
        saltarLinea();
    }

    var numeroPensado= Math.round(Math.random()*10);
    var intentos= 3;
    var contador = 1;


    while(contador<=intentos) {

        var numeroLanzado= parseInt(prompt("Ingrese un número entre 0 y 10. Tendrá 3 intentos para adivinar."));

            if (numeroPensado == numeroLanzado) {
                alert("Usted acertó en el intento " + contador + ".");
                // En vez de mostrar los INTENTOS, debería mostrar la variable CONTADOR para visualizar la cantidad de veces que el usuario intentó para acertar el número.
                break;
                // si se da la condición del IF el BREAK hace que no se repita la acción.

            }

            else {

                 if (contador == 3) {
                    alert("Ha usado sus 3 intentos ¡Mejor suerte para la próxima!")
                }
                else {
                    alert("Usted no acertó, vuelva a intentarlo.");
                }
                contador++;
            }

            }







    if (numeroPensado == numeroLanzado) {

            imprimir("Usted acertó en el intento " + contador + ". El número pensado era " + numeroPensado + ".");

    }

    else {
            imprimir("Usted no acertó. El número pensado era " + numeroPensado + ".");

    }


</script>

Me alegro mucho! Podrías colocarle a mi respuesta anterior que soluciono el tópico para que le sirva a alguien que pueda tener la misma duda? Saludos y a seguir aprendiendo!