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

Interrumpiendo una Repetición

Buenos días. Como parte importante de Lógica de Programación, se requiere saber en donde colocaremos cada parte del código, por ejemplo, si el último if se coloca dentro del WHILE, se estará mostrando el resultado final que es el número pensado; esto lo comento porque a mí me sucedió, revisando en donde estaba mal pude detectar que ese último if va fuera de la estructura de control WHILE. Comparto mi código.

<meta charset="UTF-8">

<h1>PROGRAMA JUEGO DE ADIVINACIÓN</h1>

<script>

    function saltarLinea() 
    {
         // saltando cinco lineas
        document.write("<br>");    
        document.write("<br>");    
    }

    function imprimir(frase) 
    {
        document.write("<big>" + frase + "</big>");
        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 - 10"));
        if (numeroPensado == numeroLanzado)
        {
            alert("Usted acertó, en el intento: " + intentos + " el número pensado era: " + numeroPensado);
            break;
        }
        else
        {
            alert("Usted erró");
        }
        contador++;
    }

    if (numeroPensado == numeroLanzado)
    {
        imprimir("Usted acertó, en el intento: " + contador + " el número pensado era: " + numeroPensado);
    }
    else
    {
        alert("Usted erró, el número pensado era: " + numeroPensado);
    }

    imprimir("Fin");

</script>

Saludos

7 respuestas

es verdad Jose, pese a estar siguiendo los pasos del profesor me paso lo mismo porque no lo tenia bien indentado, por eso la importancia de indentar el código, gracias oor compartir tu experiencia

solución!

Excelente chicos .. solo faltaría cambiar la variable "intentos" por la variable "contador" en los mensajes mostrados:

  • alert("Usted acertó, en el intento: " + intentos + " el número pensado era: " + numeroPensado); por alert("Usted acertó, en el intento: " + contador + " el número pensado era: " + numeroPensado);

Muchas gracias Guillermo, tienes razón, me hizo falta cambiar la variable intentos por contador.

Saludos cordiales.

Hola chicos buenos días, viendo el foro he encontrado mejor al código como el aporte de Guillermo de cambiar intentos por contador.

También quiero hacer notar que hay un alert cuando se acierta pero no se imprime, incluso lo probé en el código de José Juan.

tocara verificar si esta bien el código completo puede que alguna estructura de control de flujo en este caso If esta incorrectamente ubicada como lo que ellos están recalcando. Le doy un vistazo y les comento.

Lo comparto con la corrección de la variable en el mensaje y probé las diferentes posibilidades y todas corren bien. Si puedes identificar el problema para que aprendamos juntos.

<meta charset="UTF-8">

<h1>PROGRAMA JUEGO DE ADIVINACIÓN</h1>

<script>

    function saltarLinea() 
    {
         // saltando cinco lineas
        document.write("<br>");    
        document.write("<br>");    
    }

    function imprimir(frase) 
    {
        document.write("<big>" + frase + "</big>");
        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 - 10"));
        if (numeroPensado == numeroLanzado)
        {
            alert("Usted acertó, en el intento: " + contador + " el número pensado era: " + numeroPensado);
            break;
        }
        else
        {
            alert("Usted erró");
        }
        contador++;
    }

    if (numeroPensado == numeroLanzado)
    {
        imprimir("Usted acertó, en el intento: " + contador + " el número pensado era: " + numeroPensado);
    }
    else
    {
        alert("Usted erró, el número pensado era: " + numeroPensado);
    }

    imprimir("Fin");

</script>
<meta charset="UTF-8">

<h1>PROGRAMA JUEGO DE ADIVINACIÓN</h1>
<!--
Añadiendo unas líneas mas de código, para mostrar al usuario cuántos intentos le quedan.
-->
<script>

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

    function imprimir(frase) 
    {
        document.write("<big>" + frase + "</big>");
        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 - 10"));
        if (numeroPensado == numeroLanzado)
        {
            alert("Usted acertó");
            break;
        }
        else
        {
            if (contador != intentos) {
                alert("Usted erró, le queda " + (intentos - contador) + " intento(s) más");
            } 

            else {
                alert("Ya no le queda más intentos");
            }

        }
        contador++;
    }

    if (numeroPensado == numeroLanzado)
    {
        imprimir("Usted acertó, en el intento: " + contador + " el número pensado era: " + numeroPensado);

    }
    else 
    {
        imprimir("Usted erró, el número pensado era: " + numeroPensado);
    }

    imprimir("Fin del juego");

</script>