HTML Academy
Let’s bring it all to light
Objects18/30
Back to the list of tasks
  • 1. Shall we play?
  • 2. Players, let’s start!
  • 3. My attempt number one
  • 4. Hello, object!
  • 5. Reading from the object
  • 6. Count off!
  • 7. Overriding object properties
  • 8. Passing object by a link
  • 9. My game
  • 10. Giving out the attempts
  • 11. Who is the winner?
  • 12. Announce the entire list, please
  • 13. Looking for a cat with great results
  • 14. No one will hide
  • 15. New conditions
  • 16. Hard to come across
  • 17. Let’s bring it all to light
  • 18. Roll the dice, gentlemen cats!
  • 19. Let’s make adjustments
  • 20. Summary of “Objects”. Part 1
  • 21. Tenth program: “Golden ball”
  • 22. Build it yourself!
  • 23. My first method
  • 24. Implementing methods
  • 25. Object as a dictionary
  • 26. Bracket notation
  • 27. Let’s not forget about the context
  • 28. Store check
  • 29. Summary of “Objects”. Part 2
  • 30. Eleventh program: “The house that Muffin built”
Let’s make adjustments
  • Sign up
  • Log in

Loading…
Everything will be ready in few seconds

  • Theory
  • Theory
  • Comments

Roll the dice, gentlemen cats!

Our entire game is now written! Cats roll the dice, the winner is determined programmatically, their name and victorious points are logged in the console.

We were worried about what would happen if there were more participants. Let’s check! We’ll introduce one more cat into the game: it’s boring to roll the dice when there are only two participants, and it’s much more interesting when three cats are playing the game.

And then we’ll try to change the rules of the game to check how the program works in different situations.

Comments

  • script.js
JavaScript
var gameRules = { diceNumber: 2, maxAttempts: 3 }; var firstCat = { name: 'Muffin', points: 0 }; var secondCat = { name: 'Rudolph', points: 0 }; var cats = [firstCat, secondCat]; var runGame = function (rules, players) { for (var currentAttempt = 1; currentAttempt <= rules.maxAttempts; currentAttempt++) { for (var i = 0; i < players.length; i++) { var throwResult = muffin.throwDice(rules.diceNumber, rules.diceNumber * 6); players[i].points += throwResult; console.log(players[i].name + ' rolled ' + players[i].points); } } return players; }; var getWinners = function (players) { var winners = []; var max = players[0]; for (var i = 0; i < players.length; i++) { var currentPlayer = players[i]; if (currentPlayer.points > max.points) { max = currentPlayer; winners = [max]; } else if (currentPlayer.points === max.points) { winners.push(currentPlayer); } } return winners; }; var printWinners = function (players, winners) { if (players.length === winners.length) { console.log('All cats rock!'); return; } var message = 'The winner is '; for (var i = 0; i < winners.length; i++) { message += winners[i].name; } message += ' with the number of points: ' + winners[0].points; console.log(message); }; cats = runGame(gameRules, cats); console.log(cats); var tops = getWinners(cats); console.log(tops); printWinners(cats, tops);

What didn’t you like in this task?

Thanks! We’ll fix everything at once!

Console

The code has changed, click “Run” or turn autorun on.

Result

Goalscompleted
  1. In the program code, after the secondCat object, add new cat object thirdCat with the name 'Rocky' and points equal to zero.
  2. Add a new player to the cats array.
  3. Change the maximum number of attempts in the game to 10, and the number of dice to 5.
  4. Change the number of attempts and dice to 1.

Cookies ∙ Privacy ∙ License Agreement ∙ About ∙ Contacts ∙ © HTML Academy OÜ, 2019−2025

VISAMastercard

Log in

or

Forgot your password?

Sign up

Sign up

or
Log in

Restore access

Have you forgotten your password or lost access to your profile? Enter your email connected to your profile and we will send you a link to restore access.

Forgot to connect your email to the profile? Email us and we’ll help.