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

no me visualiza

Hola!!! Cuando voy a consola no me visualiza el console.log

<meta charset="UTF-8">

<input/>
<button> Verificar si acerto con el secreto </button>

<script>

     function aleatorio () {    
         return Math.round(Math.random()*10); 

     }

     function sortearNumeros(cantidad){

         var secreto = [];
        var contador = 1;


         while(contador<= cantidad){ 

        var numeroAleatorio = aleatorio();
        var encontrado = false;
        if(numeroAleatorio !=0){
        for(var posicion = 0 ; posicion < secreto.length; posicion++);{
            if (numeroAleatorio == secreto[posicion]) {
                encontrado= true;
                break;
            }


        }

        if (encontrado == false){
            secreto.push(numeroAleatorio);
            contador ++;

             }


           }

        }

        secreto.push(numeroAleatorio);



         }


     return secreto;




     var secreto = sortearNumeros(4);

     console.log(secreto)


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

     function verificar(){

         var encontrado = false ; 


      for(var posicion = 0;posicion < secreto.length; posicion ++ ){


           if (parseInt(input.value)== secreto[posicion]){ 

            alert("Usted acerto");
            encontrado = true;
            break;

      }


      }

      if(encontrado==false){
      alert("USted erro!!");
    }



      input.value = "";
      input.focus();

    }


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



</script>
2 respuestas

Hola Hansel

No muestra el console.log() porque lo estás llamando donde no deberias, además tienes un ; en medio del loop for por lo que javascript lo toma como si estuvieras finalizando una declaración y corta la interacción del loop.

Ingrese aquí la descripción de esta imagen para ayudar con la accesibilidad

También te recomiendo cuidar la identación y como ordenas tu código, ya que te evitará cometer esos errores a futuro.

Te comparto de como debería quedar tu código

 <input />
  <button> Verificar si acerto con el secreto </button>

  <script>

    function aleatorio() {
      return Math.round(Math.random() * 10);
    }

    function sortearNumeros(cantidad) {
      var secreto = [];
      var contador = 1;

      while (contador <= cantidad) {
        var numeroAleatorio = aleatorio();
        var encontrado = false;

        if (numeroAleatorio != 0) {
          for (var posicion = 0; posicion < secreto.length; posicion++) {
            if (numeroAleatorio == secreto[posicion]) {
              encontrado = true;
              break;
            }
          }

          if (encontrado == false) {
            secreto.push(numeroAleatorio);
            contador++;
          }
        }
      }
      return secreto
    }

    var secreto = sortearNumeros(4);
    console.log(secreto)

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

    function verificar() {
      var encontrado = false;
      for (var posicion = 0; posicion < secreto.length; posicion++) {
        if (parseInt(input.value) == secreto[posicion]) {
          alert("Usted acerto");
          encontrado = true;
          break;
        }
      }
      if (encontrado == false) {
        alert("USted erro!!");
      }
      input.value = "";
      input.focus();
    }
    var button = document.querySelector("button");
    button.onclick = verificar;

  </script>
Si este post te ayudó, por favor, marca como solucionado ✓. Continúa con tus estudios

Hola Hansel,

El problema esta en el incremento de la variable Contador. La misma esta en un If que puede no ejecutar

      if (encontrado == false) {
        secreto.push(numeroAleatorio);
        contador++;
      }

Por otro lado, deberias verificar que no reciba como parametro un valor 0 en la funcion sortearNumeros sino no se ejecutaria nunca ya que tenes inicializada la variable contador en 1