Saltar al contenido principal
Codigo Heroe
Lista de tareas
Objetos1/25
A la lista de tareas
  1. 1. Una función para lanzar los dados
  2. 2. Pasar los datos de los participantes
  3. 3. Sumar puntos con +=
  4. 4. Crear un objeto
  5. 5. Leer propiedades con la notación de punto
  6. 6. Un arreglo de objetos
  7. 7. Modificar las propiedades de un objeto
  8. 8. Referencias a objetos
  9. 9. Agrupar las reglas en un objeto
  10. 10. Un ciclo para los intentos
  11. 11. Una función para encontrar ganadores
  12. 12. Recorrer los objetos de un arreglo
  13. 13. Buscar la puntuación máxima
  14. 14. Agregar ganadores con push
  15. 15. Detectar un empate general
  16. 16. Construir el mensaje de los ganadores
  17. 17. Agregar participantes y cambiar las reglas
  18. 18. Ajustar el mensaje con condiciones
  19. 19. Devolver un objeto desde una función
  20. 20. Crear y llamar a un método
  21. 21. Leer propiedades desde un método
  22. 22. Un objeto como diccionario
  23. 23. Notación de corchetes
  24. 24. El contexto de la llamada y this
  25. 25. Crear otro objeto con la misma función
Siguiente tarea
  • Matriz de skills
  • Cursos
  • Registro
  • Iniciar sesión

Loading…
En unos segundos, estará listo.

  • Teoría
  • Teoría

Una función para lanzar los dados

Tienes un rato libre entre los interminables encargos del Jefe. ¿Por qué no escribir algo para ti, como un juego de dados?

La idea es sencilla: cada participante lanza dos dados por turnos. El resultado de la tirada se suma a sus puntos. Gana quien consiga más puntos. Para darle emoción, cada participante tendrá tres intentos.

Escribiremos el programa poco a poco. Empecemos por crear la función runGame, que más adelante se encargará de las tiradas y de acumular los puntos.

Para lanzar los dados usaremos keks.throwDice(min, max), una función que genera números aleatorios dentro del intervalo indicado, incluidos los valores mínimo y máximo. Esta función solo existe en el entorno de ejercicios: JavaScript no la incluye, aunque ofrece otras funciones que hacen cosas parecidas. Las conoceremos en otros capítulos. Por ahora usaremos keks.throwDice(min, max). ¿Qué valores mínimo y máximo necesitamos?

Con un dado podemos obtener un número del 1 al 6, porque tiene seis caras. Con dos dados, el resultado estará entre 2 y 12.

Entonces, ¿pasamos los argumentos 2 y 12? ¡Podemos hacerlo mejor! Calcularemos los argumentos a partir de la cantidad de dados. Así servirán tanto para un dado como para tres.

El peor resultado ocurre cuando todos los dados muestran un uno; el mejor, cuando todos muestran un seis. Por lo tanto, el mínimo es igual a la cantidad de dados y el máximo es 6 * cantidad de dados.

Solo falta declarar una variable con la cantidad de dados y usarla para calcular los argumentos dentro de runGame.

Lancemos los dados y comprobemos que la función funciona.

¡Que comience el juego!

  • script.js
JavaScript
Consola

El código ha cambiado, haga clic en "Ejecutar" o active la ejecución automática.

Resultado de la ejecución

ObjetivosRealizado
0
    1. Declara la variable diceNumber con el valor 2.
    2. Crea la función runGame con el parámetro quantity.
    3. Dentro de la función, muestra en la consola el resultado de una tirada: keks.throwDice(quantity, quantity * 6).
    4. Llama a runGame con el argumento diceNumber.
    Codigo Heroe

    © 2023-2026, codigoheroe.com