Saltar al contenido principal
Codigo Heroe
Tarea anterior
Objetos9/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

Agrupar las reglas en un objeto

Los participantes lanzan los dados y reciben puntos. Todo parece ir bien, pero al ciclo del juego le falta algo. ¿Qué será?

Ahora cada gato lanza una sola vez, aunque en nuestro juego cada participante tiene tres intentos. Es hora de escribir esa regla en el código.

Primero necesitamos una variable que contenga la cantidad de intentos. ¿O quizá algo más que una variable?

Ya tenemos una variable con la cantidad de dados. Junto con la cantidad de intentos, forma las reglas del juego. Reuniremos esas reglas en un objeto llamado gameRuleset.

Antes de ampliar el ciclo del juego, tendremos que ajustar los parámetros, los argumentos y el cuerpo de runGame para usar el nuevo objeto.

¡Manos a la obra!

  • script.js
JavaScript
let diceNumber = 2; let firstCat = { name: 'Cupcake', points: 0 }; let secondCat = { name: 'Rodolfo', points: 0 }; let cats = [firstCat, secondCat]; let runGame = function (quantity, players) { for (let i = 0; i < players.length; i++) { let throwResult = keks.throwDice(quantity, quantity * 6); players[i].points += throwResult; console.log(players[i].name + ' sacó ' + players[i].points); } return players; }; cats = runGame(diceNumber, cats); console.log(cats);
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. Al principio del código, antes de los objetos de los participantes, crea el objeto gameRuleset con las propiedades diceNumber: 2 y maxAttempts: 3.
    2. En la declaración de runGame, cambia el nombre del parámetro quantity a ruleset.
    3. En la llamada a runGame, reemplaza el argumento diceNumber por gameRuleset.
    4. En el cuerpo de runGame, reemplaza los usos de quantity por accesos a la propiedad diceNumber de ruleset.
    5. Elimina la variable diceNumber.
    Codigo Heroe

    © 2023-2026, codigoheroe.com