Solucionado (ver solución)
Solucionado
(ver solución)
2
respuestas

[Duda] Según yo nunca habrá números mayores porque el máximo es el número lanzado

Después de terminarlo, me hice bolas, porque entendí que el sistema recibiría un número n el cual entiendo que es el que el usuario insertaría. Por lo tanto al hacer el sorteo entre 0 y n, nunca habría un número menor ¿Es así?

JUEGO DE ADIVINAR NÚMERO DE 0 A n

script

function saltarLinea() {

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

}  

function imprimir(frase) {

    document.write(frase);
    saltarLinea();

}

// las variables se definen fuera de las funciones, dentro de las funciones solamente se asignan valores.

var numeroLanzado;
var numeroPensado;


function sortear() {

// no se pone **VAR** dos veces
numeroLanzado = parseInt (Math.round(prompt("Ingrese un número entero")));
//numeroPensado = Math.round(Math.random()*10); (comando anterior)
numeroPensado = Math.round (Math.random()* numeroLanzado );

}

sortear();
imprimir("El número pensado es " + numeroPensado)
imprimir("El número que usted indicó es " + numeroLanzado)
imprimir("Por lo que usted:")


if (numeroPensado == numeroLanzado) {

    imprimir("¡ACERTÓ, FELICIDADES! :-D ");
    if (numeroPensado > numeroLanzado) {
        imprimir("Se equivocó, su número es menor ");

    }

} else {
        imprimir("Se equivocó, su número es mayor");
}
2 respuestas

Hola Heidy! entiendo la confusion de mayor y menor que planteas, supongamos que ponemos un random de 0 a 10, si vos pones 10 como "numero lanzado" y justo el random sorteo 4, tu numero es mayor, por ende, el mensaje de que perdiste, y tu numero es mayor deberia salir en pantalla, igual si tu numero es menor. Aqui te dejo mi codigo como otra alternativa de solucion (recorda que en programacion muchos caminos llevan al mismo resultado).

 function sorteo(n) {
        return Math.round(Math.random() * n);
      };

      let numero = sorteo(100);
      let inicioJuego = parseInt(prompt("Indique un número del 1 al 100"));

      if (inicioJuego === numero) {
        imprimir("GANASTE!!!");
      }
      if (inicioJuego != numero && inicioJuego < numero) {
        imprimir(
          "PERDISTE, EL NUMERO ERA: " +
            numero +
            " POR ENDE, ENTIENDO QUE ERA MENOR AL QUE YO PENSE"
        );
      } else {
        imprimir("PERDISTE, TU NUMERO ERA MAYOR AL MIO");
      };
solución!

Muchísimas gracias, así lo terminé yo, ahí me puse de sapa a ponerle alguna validación

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

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

// las variables se definen fuera de las funciones, dentro de las funciones solamente se asignan valores.

var numeroLanzado;
var numeroPensado;
var numeroMaximo;

function sortear() {
// no se pone **VAR** dos veces
numeroMaximo = parseInt (Math.round(prompt("Ingrese el número entero máximo de su tómbola")));
numeroLanzado = parseInt (Math.round(prompt("Ingrese el número que usted desea jugar ")));
numeroPensado = Math.round (Math.random()* numeroMaximo );
}

sortear();

// RESULTADO DE ERROR 

do {
     alert ("¡Diay! Pero puso un número que no está en la tómbola, intentalo de nuevo");
    numeroLanzado = parseInt (Math.round(prompt("Ingrese el número que usted desea jugar ")));
} while (numeroLanzado > numeroMaximo || numeroLanzado < 0);    

// ------------------ESTE ERA EL CÓDIGO ANTERIOR, LO CAMBIÉ POR EL WHILE DE ARRIBA ------------------//
//    if (numeroLanzado > numeroMaximo || numeroLanzado < 0) {
//        alert ("¡Diay! Pero puso un número que no está en la tómbola, intentalo de nuevo");
//        numeroLanzado = parseInt (Math.round(prompt("Ingrese el número que usted desea jugar ")));
//--------------------------------------------------------------------------------------------------//

// IMPRIMIR RESULTADOS DESPUÉS DE UN ERROR
imprimir("El número máximo es " + numeroMaximo);
imprimir("El número pensado es " + numeroPensado);
imprimir("El número que usted indicó es " + numeroLanzado);
document.write("<hr>");    
imprimir("Por lo que usted:")

//RESULTADOS CORRECTOS

if (numeroPensado == numeroLanzado) {
imprimir("¡ACERTÓ, FELICIDADES! :-D ");
} 

if (numeroPensado > numeroLanzado) {
imprimir("Perdió, su número es menor al pensado");
}

else {
imprimir("Perdió, su número es mayor al pensado");
}

script>