3
respuestas

No puedo realizar el ejercicio estoy trabadísimo!

El ejercicio del juego de adivinacion yo lo habia realizado de la siguiente manera agregandole algunas cositas mas. El tema es que esas cositas me complicaron todo a la hora de actualizar el ejercicio agragando botones. Comparto como lo habia echo haber si alguien se anima a resolverlo:


<meta charset="UTF-8">

<h1>JUEGO: ADIVINAR NUMERO SECRETO (con break)</h1>

<script>

function saltarLinea() {

    document.write("<br><br><br>");
}

function imprimir(frase) {

    document.write(frase);
    saltarLinea();
}

function sortea(n) {

    return Math.round(Math.random() * n);
}

var n = parseInt(prompt("Buenas! \nTe pido un numero para limitar el rango en el que deberas adivinar. \nEl rango quedaria de 0 hasta el numero elegido: "));

var numeroSecreto = sortea(n);

var intentos = 3;

var contadorIntentos = 1;

var numeroPensado = parseInt(prompt("Muy bien. Ahora trata de adivinar el número secreto entre 0 y " + n + ". \nTen en cuenta que solo contaras con 3 intentos. \nEl número secreto es el: "));

while (contadorIntentos <= intentos) {

    if (numeroPensado == numeroSecreto) {

        alert("¡Acertaste! El número secreto era el: " + numeroSecreto);
        break;

    } else if (numeroPensado > numeroSecreto) {

        alert("¡Erraste! El número secreto es menor a: " + numeroPensado);
        numeroPensado = parseInt(prompt("Probemos de nuevo. Trata de adivinar el número secreto entre 0 y " + n + ". \nTen en cuenta que solo te quedan " + (intentos - contadorIntentos) + " intentos. \nEl número secreto es el: "));

    } else {

        alert("¡Erraste! El número secreto es mayor a: " + numeroPensado);
        numeroPensado = parseInt(prompt("Probemos de nuevo. Trata de adivinar el número secreto entre 0 y " + n + ". \nTen en cuenta que solo te quedan " + (intentos - contadorIntentos) + " intentos. \nEl número secreto es el: "));
    }
    contadorIntentos++;
}

if (numeroPensado != numeroSecreto) {

    alert("Perdiste! El número secreto era el: " + numeroSecreto)
}


imprimir ("Fin. Gracias por jugar!");

</script>

y ahora comparto como lo actualice , pero con resultados malísimos! no doy pie con bola me re trabe:

<meta charset="UTF-8">

<h1>JUEGO: ADIVINAR NUMERO SECRETO (con Button)</h1>


<input/>  <!--voy a pedir un dato-->

<button> Verificar si acertaste </button>

<script>

function saltarLinea() {

    document.write("<br><br><br>");
}

function imprimir(frase) {

    document.write(frase);
    saltarLinea();
}

function sortea(n) {

    return Math.round(Math.random() * n);
}

var input = document.querySelector("input");
input.focus();

var n = parseInt(prompt("Buenas! \nTe pido un numero para limitar el rango en el que deberas adivinar. \nEl rango quedaria de 0 hasta el numero elegido: "));

var numeroSecreto = sortea(n);

var intentos = 3;

var contadorIntentos = 1;

var numeroPensado = parseInt(prompt("Muy bien. Ahora trata de adivinar el número secreto entre 0 y " + n + ". \nTen en cuenta que solo contaras con 3 intentos. \nEl número secreto es el: "));

while (contadorIntentos <= intentos) {

    function verificar() {


    if (numeroPensado == numeroSecreto) {

        alert("¡Acertaste! El número secreto era el: " + numeroSecreto);
       // break;

    } else if (numeroPensado > numeroSecreto) {

        alert("¡Erraste! El número secreto es menor a: " + numeroPensado);
        numeroPensado = parseInt(prompt("Probemos de nuevo. Trata de adivinar el número secreto entre 0 y " + n + ". \nTen en cuenta que solo te quedan " + (intentos - contadorIntentos) + " intentos. \nEl número secreto es el: "));

    } else {

        alert("¡Erraste! El número secreto es mayor a: " + numeroPensado);
        numeroPensado = parseInt(prompt("Probemos de nuevo. Trata de adivinar el número secreto entre 0 y " + n + ". \nTen en cuenta que solo te quedan " + (intentos - contadorIntentos) + " intentos. \nEl número secreto es el: "));
    }

        input.value = "";
        input.focus();
        numeroSecreto = sortea(n);

    }    contadorIntentos++;


    if (numeroPensado != numeroSecreto) {

        alert("Perdiste! El número secreto era el: " + numeroSecreto)
    }


}


var button = document.querySelector("button");
button.onclick = verificar;


imprimir ("Fin. Gracias por jugar!");

</script>

Si alguien me puede ayudar le agradezco. Igualmente tengo pensado hacerlo de cero mas básico, haber si me sale. Gracias!

3 respuestas
document.write("<br><br><br>");ponle comas entre cada br sácale el paréntesis al h1 lo probé en Chrome y funciona

al de button hace lo mismo ,a ese todavía no lo probé .

Buenas sergio, gracias!!! Vengo hace dias trabado. LLegue hasta aca pero no me esta funcionando el bucle creo. puse que me imprima el contador siempre para ver q funcione pero no funciona siempre me marca en 1 y que me quedan siempre 2 intentos. comparto el codigo:


<meta charset="UTF-8">

<h1>JUEGO: ADIVINAR NUMERO SECRETO (con Button)</h1>

<input/>
<button>Verificar numero</button>

<script> 

    var input = document.querySelector("input");
    input.focus();
    input.value = "";

    var button = document.querySelector("button");
    button.onclick = verificar;

    var n = parseInt(prompt("Buenas! \nTe pido un numero para limitar el rango en el que deberas adivinar. \nEl rango quedaria de 0 hasta el numero elegido: "));

    var numeroSecreto = Math.round(Math.random() * n);

    var intentos = 3;
    //var contadorIntentos;

    alert ("Muy bien, empezemos. Solo contaras con 3 intentos. Mucha suerte!");


    function verificar() {

        for ( var contadorIntentos =  1; contadorIntentos <= 3 ; contadorIntentos++) {

            //var numeroElegido =  parseInt(document.querySelector(input.value));
            var numeroElegido =  parseInt(input.value);

            if (numeroElegido == numeroSecreto){

                alert("Felicitaciones acertaste! El numero secreto era el "+ numeroSecreto);
                break;

            }else if (numeroElegido > numeroSecreto) {

                    alert("Erraste! El numero secreto es menor a " + input.value);
                    alert("Te quedan " + (intentos - contadorIntentos) + " intentos.");
                    alert(contadorIntentos);

            }else{     

                    if (numeroElegido < numeroSecreto) {

                        alert("Erraste! El numero secreto es mayor a " + input.value);
                        alert("Te quedan " + (intentos - contadorIntentos) + " intentos.");
                        alert(contadorIntentos);

                    }

            }

            input.value="";
            input.focus();
            //alert("Lo siento, perdiste! Te quedaste sin intentos.");
        }alert("Fin.")

    }   // alert("Fin.")

</script>

Saludos, bienvenido a quien me pueda ayudar.