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)
2
respuestas

Haz lo que hicimos en el aula ERROR

Sigo sin saber porque no funciona del todo el mío, lo he comparado con otros y funcionan y ésto no imprime nada al final (a lo mejor se me pasa un ";" jajaja)

<!DOCTYPE html>
<html lang="es">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Adivina el número</title>

    <style>
      body {
        background-color: lightgray;
      }

      h1 {
        font-family: Arial, Helvetica, sans-serif;
        font-size: 6rem;
        padding: 3px;
        color: black;
        letter-spacing: 15px;
        text-align: center;
        font-weight: 200;
      }

      p {
        font-family: monospace;
        padding-top: 30px;
        font-size: 2rem;
        text-align: center;
        color: black;
      }
    </style>
  </head>

  <body>
    <h1>ADIVINA...</h1>
    <hr />

    <script>
      // funciones --------------->
      function saltarLinea() {
        document.write("<br>");
      }

      function imprimir(frase) {
        document.write(frase);
        saltarLinea();
      }

      // variables --------------->
      let numeroSecreto = Math.round(Math.random() * 10);
      let intentos = 3;
      let contador = 1;

      // programa --------------->
      while (contador <= intentos) {
        let numeroUsuario = parseInt(
          prompt(
            "¿Andas clarividente?, intenta adivinar el número secreto entre 0 y 10. Suerte."
          )
        );

        if (numeroSecreto == numeroUsuario) {
          alert(
            "¡Oigan todos, aquí al intento " +
              contador +
              " supo que el número era el " +
              numeroSecreto +
              "!"
          );
          break;
        } else {
          alert("No realmente. Sigue intentando.");
        }

        contador++;
      }

      if (numeroSecreto == numeroUsuario) {
        imprimir (
          "<p>¡Supo el número secreto en el intento" + contador + ", el númera era el " + numeroSecreto + " ¡felicidades!</p>"
        );
      } else {
        imprimir (
          "<p>El número secreto era el " +
            numeroSecreto +
            ", ¿quiere intentar de nuevo?, presione F5.</p>"
        );
      }

      print("<p>FIN</p>");
    </script>
  </body>
</html>
2 respuestas
solución!

Hola Roberto, al finalizar el while(){} numeroUsuario no existe ya que la declaraste como variable local en el ciclo while. Prueba con poner var numeroUsuario en vez de let. En la propia consola puede observar que dice que numeroUsuario no se encuentra definido. Una de las soluciones es cambiar esto y no tendrás mas problemas:


Solución al problema

Espero que te haya sido de ayuda. Un saludo!

MUCHAS MUCHAS GRACIAS! Si, es justo la duda que buscaba!

Sabes, empecé con el "var" cuando recién comencé a estudiar esto, hace casi 1 año, y alguna vez leí que usar "VAR" ya no era lo ideal y pasaramos a usar "LET mejor siempre.

Eso explica tanto! Te agradezco 100000! Saludos Laureano.

<!DOCTYPE html>
<html lang="es">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Adivina el número</title>

    <style>
      body {
        background-color: lightgray;
      }

      h1 {
        font-family: Arial, Helvetica, sans-serif;
        font-size: 6rem;
        padding: 3px;
        color: black;
        letter-spacing: 15px;
        text-align: center;
        font-weight: 200;
      }

      p {
        font-family: sans-serif;
        padding-top: 30px;
        font-size: 2rem;
        text-align: center;
        color: black;
        font-weight: 600;
      }
    </style>
  </head>

  <body>
    <h1>ADIVINA...</h1>
    <hr />

    <script>
      // funciones --------------->
      function saltarLinea() {
        document.write("<br>");
      }

      function imprimir(frase) {
        document.write(frase);
        saltarLinea();
      }

      // variables --------------->
      let numeroSecreto = Math.round(Math.random() * 10);
      let intentos = 3;
      let contador = 1;

      // programa --------------->
      while (contador <= intentos) {
        var numeroUsuario = parseInt(
          prompt(
            "¿Andas clarividente?, intenta adivinar el número secreto entre 0 y 10. Suerte."
          )
        );

        if (numeroSecreto == numeroUsuario) {
          alert(
            "¡Oigan todos, aquí al intento " +
              contador +
              " supo que el número era el " +
              numeroSecreto +
              "!"
          );
          break;
        } else {
          alert("No realmente. Sigue intentando.");
        }

        contador++;
        }

        if (numeroSecreto == numeroUsuario) {
          imprimir (
            "<p>¡Supo el número secreto en el intento " + contador + ", el númera era el " + numeroSecreto + " ¡felicidades!</p>"
          );
        } else {
          imprimir (
            "<p>El número secreto era el " +
              numeroSecreto +
              ", ¿quiere intentar de nuevo?, presione F5.</p>"
          );
        }

      imprimir("<p>FIN</p>");
    </script>
  </body>
</html>

corregido y aumentado :)

Gracias de nuevo Laureano!