Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Solucionado (ver solución)
Solucionado
(ver solución)
5
respuestas

[Duda] Interrumpiendo una repetición

Hola chicos y señores Alura, no logro entender porque repite otra vez la condición del if

if(numeroPensado == numeroLanzado){
          alert("usted acertó, en el intento " + contador + " el numero pensado era " + numeroPensado);
      break;
       }
       else {
         alert("Usted fallò " );
       }
       contador = contador + 1;    
    }

    **  if(numeroPensado == numeroLanzado){  // por que lo vuelve a repetir?
          imprimir("usted acertó, en el intento " + contador + "el numero pensado era " + numeroPensado);

       }
       else {
         imprimir("usted falló, el numero pensado era " + numeroPensado);  // esto no se puede poner en el primer else ?
       }**

gracias por la ayuda

5 respuestas

No es necesario que este, no logre ver en el video que se repita, pero no es buena practica que existan 2 condiciones exactamente iguales

Tengo a misma duda

Creo que el código completo es este:

<h1>PROGRAMA JUEGO DE ADIVINACION </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-10"));
            if (numeroPensado == numeroLanzado){
                //corregir aquí
                alert("usted acertó, en el intento " + contador + " el número pensado era " + numeroPensado);
                break;
            }
            else {
                alert("usted erró");
            }
            contador++;
        }
        if (numeroPensado == numeroLanzado){
            //corregir aquí
            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");
    </script>

Si se fijan en la condición while, utiliza la función alert(), la cual muestra una alerta en pantalla, como tenemos 3 intentos, no sería correcto mostrarle al usuario cual es el numero pensado antes de que termine sus 3 intentos, así que en el if que esta dentro del while solo se muestra el numero pensado cuando el usuario adivina el numero y se rompe el ciclo, sino le informa al usuario que ha errado y vuelve a entrar al ciclo. Entonces si al terminar sus 3 intentos no logro adivinar el numero, sale del while y es donde entra al otro if, en este usa la función imprimir() que sirve para imprimir el texto directamente en la pagina html, entonces la funcion de este if-else es que al finalizar el juego, se le informe al usuario cual era el numero pensado

Hola Karen, si ya poco a poco lo he ido entendiendo, gracias por tu ayuda. Buen descanso.

solución!

Hola Graciela, me alegro mucho que vayas entendiendo. Feliz noche.