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

[Duda] Tengo dudas con respecto a esta clase, mi codigo tiene problemas

Compadres, tengo un pequeño problema. Logre que funcionara, pero al momento de dar el valor, solo repite la alerta tres veces de acuerdo a los intentos. ¿Como puedo hacer que rompa? y me deje colocar otro valor para continuar con los intentos

mi codigo tiene un gran problema y necesito ayuda!!

<meta charset="UTF-8">

<h1> Juego ¡Adivina el Número! </h1>

<input/>
<button>Verificar su respuesta<button/>

<script>

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

    function print (frase){
        document.write(frase);
        saltodelinea();
    }

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

    var numeroPrimordial = Math.round(Math.random ()*100);
        var intentos = 3;
        var contador = 1;

         alert("Una pequeña pista antes de empezar, los números van del 0 al 100");


function verificar (){
    while (contador <= intentos){


            if ((parseInt (input.value)) == numeroPrimordial){
                //alert ("¡Felicidades has dado con el número!");
                break;
            } 


            else{
                if (numeroPrimordial > (parseInt(input.value))){

                    alert ("¡Estas equivocado, el número era mayor que tu número!, ups");

                }

                else{

                    alert ("Estas equivocado, el número era menor que tu número!, ups");
                }

            }

                //if (numeroPrimordial!= numeroUsuario){

                //print ("¡Lastima!" + "," + " el número correcto era: " + numeroPrimordial + "," +" ups");

                contador++;
             //}

        }


    if ((parseInt(input.value)) == numeroPrimordial){

                print ("¡Felicidades!" + "," + " el número era: " + numeroPrimordial + "," +" ¡Yeah!");

             }        



        else{

                print ("¡Lastima!" + "," + " el número correcto era: " + numeroPrimordial + "," +" ups");

             }



}

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

    button.onclick = verificar;



</script>
2 respuestas

sin las variables intentos y contador logre que funcionara, pero parece un poco injusto no dar pistas al usuario:

<meta charset="UTF-8">

<h1> Juego ¡Adivina el Número! </h1>

<input/>
<button>Verificar su respuesta<button/>

<script>

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

    function print (frase){
        document.write(frase);
        saltodelinea();
    }

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

    var numeroPrimordial = Math.round(Math.random ()*100);

         alert("Una pequeña pista antes de empezar, los números van del 0 al 100");


function verificar (){


            if ((parseInt (input.value)) == numeroPrimordial){
                print ("¡Felicidades!" + "," + " el número correcto era: " + numeroPrimordial);    
            } 


            else{

                print ("¡Lastima!" + "," + " el número correcto era: " + numeroPrimordial + "," +" ups");

             }

        }

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

    button.onclick = verificar;



</script>

Hola Jose, la razón por la cual el código anterior no funciona y te sale el menaje seguido es por que el usuario no tiene la posibilidad de volver a ingresar datos, ya que dentro del while() estas repitiendo la validación tres veces con el mismo dato, el ciclo no esta volviendo a pedirle al usuario un nuevo numero, solo repite tres veces con el mismo numero, para cambiar esto debemos pedir los datos dentro del while(), yo diseñe el siguiente código utilizando variables globales, es decir que las puedo utilizar dentro o fuera de funciones, de esta manera ya no utilize el while y puedes ver como se pide al usuario nuevamente el numero. espero sea de ayuda, ánimos! '''

Adivina el numero :D

<script>
    function saltarLinea(NumSalto){  //salto de linea las veces que el usuario pida ej: saltarLinea(5) --> 5 saltos de linea
        var cont=1
        while(cont<=NumSalto){
            document.write("<br>")
            cont++
        }
    }
    function imprimir(tex,numSalto=1){   //se imprime y por defecto se hace un salto de linea si  solo manda texto --> imprimit(texto) -> 1 salto de linea
        document.write(tex);
        saltarLinea(numSalto);      // si se manda texto y la cantidad de saltos se hará ese numero de saltos --> imprimir(texto,5) -> 5 saltos de linea

    }
    function NumAleatorio(){
        return Math.floor(Math.random()*10);
    }

    function verificar(){
        if(intentos<oportunid){
            if(parseInt(NumUsuario.value)==NumAle){
                alert("Acertastes en hora buena");
                imprimir("<h2>Ganaste :D para jugar de nuevo recarga la pag</h2>")
            }else{
                alert("Error, intentalo de nuevo te quedan "+(oportunid-intentos)+" intentos")
            }
            NumUsuario.value="";
            NumUsuario.focus();
            intentos++;
        }else{
            imprimir("Perdiste el numero era "+NumAle+" recarga la pag para jugar de new")
        }

    }

        var oportunid=3;
        var intentos=1;
        var NumAle=NumAleatorio();
        var NumUsuario=document.querySelector("input");
        var button = document.querySelector ("button");


button.onclick=verificar;

</script>

'''