A program with moving objects that cause the user to gain or lose points


  • Classes

    • Your program must be done in an object oriented fashion and use ArrayLists.

    • Your program must have at least three different types of targets that appear on the screen

      • Each should have its own movement pattern and image,

      • When an object is clicked, award points and remove the object from the game.

  • Image Requirements

    • All of the images for the targets must be something you created yourself.

    • You must have one background image from any source

  • User Interface

    • Show the user's current score

    • Show the amount of time left in seconds

      • The user starts with a maximum of 20 seconds (1200 frames)

      • When there are under 5 seconds remaining, the text should change color as a warning

    • Your program muse use a custom font

  • When Time Is Up

    • The image should stop moving and not respond to clicks

    • You should display one of three messages to the user rating their performance.

      • Ex: An okay score might say, "Not Bad!" while a high score would say, "Great Job"

Need advice on how to detect if the mouse is over an object?

Take a look at the concepts from Mr. M's Principles Coder's Handbook entry on Mouseover and Clicking.

Keep in mind the syntax is a little bit different, but algorithm is the same.


You can vary the design of the game substantially as long as you meet the spirit of the requirements above.


  • Some objects might provide negative points instead of positive points

  • Rather than a set time, you're stopping objects from reaching the bottom of the screen and the user loses health or lives.

  • Some objects take multiple clicks to defeat, but show visible progress when you click them


Option #1 - Sprites and Animation

  • You have at least three animations in your game. This could be a bird with flapping wings, a person walking across the screen, or an explosion.

  • Your animations must be implemented using a Sprite Sheet

Option #2 - Exceptional Gameplay

  • Your program goes way above and beyond the requirements of this project, demonstrating genuine programming complexity and polish.

  • Usually this means adding in new rules or more complex game systems to expand on this very basic clicker game.