HTML Academy
Another project: a dart machine
Loops24/28
Back to the list of tasks
  • 1. New project: driver development
  • 2. Managing the number of copies
  • 3. Learning the for loop
  • 4. Correcting the loop
  • 5. Printing the pages in reverse order
  • 6. Printing only odd pages
  • 7. Printing only even pages
  • 8. Printing driver: copy mode
  • 9. Printing driver: all pages
  • 10. Printing driver: pages in reverse order
  • 11. Print driver: even and odd pages
  • 12. Print driver: switching evens and odds
  • 13. Accumulation in the loop
  • 14. Checks in loops
  • 15. Searching for an even number
  • 16. How much does printing cost?
  • 17. Economy printing
  • 18. Saving ink
  • 19. Summary of “Loops”. Part 1
  • 20. Third program: “Protein shake!”
  • 21. It’s been a “while”
  • 22. The while loop, summation
  • 23. Another project: a dart machine
  • 24. Dart machine: accumulating misses
  • 25. Dart machine: defeat
  • 26. Dart machine: final scoreboard
  • 27. Summary of “Loops”. Part 2
  • 28. Fourth program: “Mad Dryer”
Dart machine: defeat
  • Sign up
  • Log in

Loading…
Everything will be ready in few seconds

  • Theory
  • Theory
  • Comments

Dart machine: accumulating misses

Hooray! Our program works! But we always win.

Let’s make it a bit more intriguing and interrupt the loop as soon as we missed three times.

To do this, we need a variable that will count misses, let’s call it misses. Every time a player misses, we will increase this variable by one.

The muffin.getScore() command returns -1 if the player missed. Therefore, inside the loop, you need to add a check to make sure that the result of the current shot is less than zero. And if the check is passed, we will then record the miss in the console and increase the miss counter by one.

Actions inside the loop will look like this:

  1. We get the result of the shot.
  2. Check that the shot result is less than zero. If this is the case, then go to step three, otherwise go to step four.
  3. Record the miss in the console and increase the miss counter by one.
  4. Increase total result total and log the shot result in the console.

Comments

  • script.js
JavaScript
var score = 0; var total = 0; var victoryPoints = 100; while (total < victoryPoints) { score = muffin.getScore(); total += score; console.log('Result of the shot: ' + score); } console.log(total);

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

Add a reaction to misses.

  1. Before the loop add a variable for misses misses with a zero value.
  2. In the next line after muffin.getScore(), add a miss check if (score < 0) { }.
  3. If this condition is met, add console.log('You missed!');
  4. and increasing the misses variable by one.
  5. Move the increase in the total number of points to else and log the shot result in the console.

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.