Topic 1 - Variables and Data Types
Topic 2 - Conditionals and Strings
Topic 3 - Loops
Topic 4 - Arrays
Topic 5 - File Handling
Semester 1 Projects
Topic 6 - Classes/Objects and Methods
Topic 7 - ArrayLists
Semester Projects

Part 3: Possible Extensions

Don’t try to extend the program until you get the basic functionality working. Several of those are lots of these extensions are fun but don’t start them until the basic program is working. If you add extensions too early, you’ll find that the debugging process gets really difficult.

  1. Add sounds. You might want to play a short bounce sound every time the ball collides with a
    brick or the paddle.
  2. Add messages. The game is more playable if at the start it waits for the user to click the mouse before serving each ball and announces whether the player has won or lost at the end of the game. These are just GLabelobjects that you can add and remove at the appropriate time.
  3. Improve the user’s control over bounces. The program gets rather boring if the only thing the player has to do is hit the ball. It is far more interesting if the player can control the ball by hitting it at different parts of the paddle. The way the old arcade game worked was that the ball would bounce in both the x and y directions if you hit it on the edge of the paddle from which the ball was coming.
  4. Add in the “kicker.” The arcade version of Breakout lured you in by starting off slowly. But, as soon as you thought you were getting the hang of things, the program sped up, making life just a bit more exciting. As one example of this, you might consider adding this feature by doubling the horizontal velocity of the ball the seventh time it hits the paddle, figuring that’s the time the player is growing complacent.
  5. Keep score. You could easily keep score, generating points for each brick. In the arcade game, bricks were more valuable higher up in the array, so that you got more points for red bricks than cyan bricks. You could display the score underneath the paddle since it won’t get in the way there.
  6. Anything that might come to your imagination!