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

Programa de loteria ("n" números)

Mi código de lo que entendí:

<meta charset="utf-8">

<h1>PROGRAMA JUEGO DE LOTERIA</h1>

<script>

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

    function imprimir(frase) {
        document.write("<h3>" + frase + "</h3>");
        saltarLinea();
    }

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

    var n = parseInt(prompt("Ingrese el número máximo de boletos:"));
    var numeroPensado = sortea(n);
    var numeroLanzado = parseInt(prompt("Ingrese un número entre 0 y " + n + ": "));

    if (numeroLanzado < numeroPensado) {
        imprimir("Usted erró, su número es menor.");
    }

    if (numeroLanzado == numeroPensado) {
        imprimir("Usted acertó! el número es: " + numeroPensado);
    }

    if (numeroLanzado > numeroPensado) {
        imprimir("Usted erró, su número es mayor.");
    }

</script>
11 respuestas

Lo cambié un poco quedando así:

<meta charset="utf-8">

<h1>PROGRAMA JUEGO DE LOTERIA</h1>

<script>

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

    function imprimir(frase) {
        document.write("<h3>" + frase + "</h3>");
        saltarLinea();
    }

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

    var n = parseInt(prompt("Ingrese el número máximo de boletos:"));
    var numeroPensado = sortea(n);
    var numeroLanzado = parseInt(prompt("Ingrese un número entre 0 y " + n + ": "));

    if (numeroLanzado == numeroPensado) {
        imprimir("Usted acertó! el número es: " + numeroPensado);
    } else {
        if (numeroLanzado < numeroPensado) {
            imprimir("Usted erró, su número es menor: " + numeroLanzado + " < " + numeroPensado);
        } else {
            imprimir("Usted erró, su número es mayor." + numeroLanzado + " > " + numeroPensado);
        }
    }

</script>

Bien pensado, pero el numero de boletos no lo dejes a los usuarios sino a la maquina como en la vida real (bueno es una opinión), pero excelente, este es mi código:

<meta charset="UTF-8">

<h1>JUEGO DE ADIVINACION</h1>

<script>

    function saltarLinea(){

    var saltoLinea = document.write("<br><br><br><hr><br><br>")

    }

    function escribir(texto){
        document.write("<big>" + texto + "</big>");
        saltarLinea();
    }

    function sorteo(numeroOportunidades) {

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

    var oportunidades = 100
    var numeroAleatorio = sorteo(oportunidades);
    var numeroJugador = parseInt(prompt("Ingrese un número de 1 a " + oportunidades));

    if (numeroAleatorio == numeroJugador)
    {
        escribir("Que Suerte! acertaste con el número " + numeroAleatorio);
    }
    else if (numeroJugador > numeroAleatorio){
        escribir("Noooo! Sigue intentado el numero era " + numeroAleatorio + " y el tuyo es mayor");
        }

        else {
            escribir("Noooo! Sigue intentado el numero era " + numeroAleatorio + " y el tuyo es menor");
        }

</script>

Camilo, cuando dice un numero entre 0 y "n", se refieren a que el numero "n" es seleccionado por el usuario del programa al ejecutarlo y no como un valor fijo en el codigo. Espero que te sirva mi observacion. Saludos

Aníbal Claro "n" es variable por eso en mi código le puedes cambiar a 10, 100, 1000, pero eso lo define quien inventa la lotería no el usuario que apuesta, un saludo.

Pero justamente a eso me refiero Camilo... Cuando en un enunciado te piden "n" cantidad de veces siempre es para que el usuario seleccione la cantidad de veces, no para que el programador lo seleccione. Si el usuario quisiera otra cantidad "n" de numeros no podria cambiarla porque le limitaste la cantidad con esa variable fija con valor en 100. Saludos!!

No estoy de acuerdo contigo ese "n" cantidad de veces no viene ligado a un usuario que usa la aplicación, "n" cantidad de veces es para cualquiera, allí no especifica por ello la lógica es que la máquina se encargue de elegir el numero de oportunidades de una lotería, como en la vida real.

Disculpame Camilo, entonces tu codigo es confuso. Cuando creas la funcion la asocias a una variable que se llama numeroOportunidades pero en la ejecución del codigo usas la funcion con otra variable llamada oportunidades creada con un valor fijo de 100. La idea del ejercicio, desde lo que yo entiendo, es que se use la variable "n", en tu codigo numeroOportunidades, para que el usuario del programa seleccione la franja de numeros a utilizar en el sorteo. Sino la funcion tendria que estar declarada como:

    function sorteo(oportunidades) {

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

para que asi la funcion sea funcional a la variable que luego declaras como oportunidades con un valor de 100. Espero que entiendas mi inquietud. Gracias y saludos!

gracias por sus aportes, sirve de gran ayuda para los que estamos iniciando a programar

Anibal tienes en parte razón mi codigo está confuso, así que a continuación lo dejo para que se entienda, pero "n" sigue siendo administrado por la maquina y no por el usuario.

<meta charset="UTF-8">

<h1>JUEGO DE ADIVINACION</h1>

<script>

    function saltarLinea(){

    var saltoLinea = document.write("<br><br><br><hr><br><br>")

    }

    function escribir(texto){
        document.write("<big>" + texto + "</big>");
        saltarLinea();
    }

    function sorteo(n) {

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

    var n = 100
    var numeroAleatorio = sorteo(n);
    var numeroJugador = parseInt(prompt("Ingrese un número de 1 a " + n));

    if (numeroAleatorio == numeroJugador)
    {
        escribir("Que Suerte! acertaste con el número " + numeroAleatorio);
    }
    else if (numeroJugador > numeroAleatorio){
        escribir("Noooo! Sigue intentado el numero era " + numeroAleatorio + " y el tuyo es mayor");
        }

        else {
            escribir("Noooo! Sigue intentado el numero era " + numeroAleatorio + " y el tuyo es menor");
        }

</script>

Hola a todos. pues también ya acabe el mío. me costo un poco, pero con el lanzamiento del html y viendo lo que hace uno se da idea de lo se necesita. Bueno aquí esta mi código espero que este bien, y claro.

<meta charset="UTF-8">

<h1>Bienvenido al Juego de la Loteria</h1>

<script>

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


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

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

    var numeroAzar = sorteo();
    var numeroJugador = parseInt(prompt("Ingrese un número de 1 a 10"));

    if (numeroAzar == numeroJugador)
    {
        imprimir ("Enhorabuena, ese fue el número ganador¡" + numeroAzar);
    }
    else if (numeroJugador > numeroAzar){
        imprimir("Lastima suerte a la proxima. ");
        imprimir("El número correcto era: " + numeroAzar + " el número era mas bajo");
        }

        else {
        imprimir("Lastima. Suerte a la proxima. ");
        imprimir("El número correcto era: " + numeroAzar + " el número era mas alto");
        }

</script>

Hola compañeros, después de ver sus observaciones y códigos sobre lo que hice creo que podemos tener dos versiones del programa, uno con un valor fijo o predeterminado del numero de "boletos" en el programa y otro donde se puede proponer un número de "boletos" para el sorteo. Saludos!