Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
4
respuestas

Juego de adivinación. Corregido

Fue complicado darme cuenta del error, ya que muy pocas veces acertaba en el juego para darme cuenta que fallaba;

Con los cambios mencionados ( en el IF, cambio de var "intento" por "contador") ya no tuve ningún problema.

Aqui el código correcto:

<meta charset="UTF-8">

<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){
            imprimir ("Número correcto, en el intento: " + contador+ "el número pensado era: " + numeroPensado);
            break;
        }


    else {
        alert ("Número equivocado");
    }

    contador++;
}

    imprimir("Fin");


</script>
4 respuestas

Exelente tu respuesta tuve el mismo inconveniente. Ya me quedo la corrección.

<!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>Correccion</title>
</head>
<h1>Correccion</h1>
<body>
    <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> 

</body>
</html>

Probe tu codigo y no muestra las alertas de forma correcta.

No me queda claro qué habría que modificar, intenté varias opciones pero no logro que me diga el n° de intentos que voy o que me quedan.

Buenas gente, la modificación va en el sentido de la aplicación del ciclo while:

PROGRAMA JUEGO DE ADIVINACION

la primera convinacion de if y else funciona de manera correcta )prueben el codigo eliminando: ** 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); }.

Mientras que si dejan éste último y eliminan el primero, el programa no te avisa si acertaste hasta que terminas el tercer intento.

Espero se entienda.

Saludos