High-Level Design


The program begins with a start page from which the user can enter the first level by hitting the Start button.

Upon entering the first level, the player can move the paddle with the ball sitting on it so as to aim the shot. Button B will allow the user to put the ball into play when they are ready. From there, the left and right portions of the gamepad control the paddle. Upon missing the ball, the user is told how many lives they have left. The user can continue playing by hitting the Start button.

If the user uses all of their lives, the screen will say 'Game Over' and the user can restart the game from level one by pressing the start button.

Various design and gameplay issues had to be addressed:

1. How the ball will bounce off the paddle - If the ball is hit on the left side of the paddle, regardless of the direction it came in from, the ball will bounce to the left. The same works for the right.

2. How we deal with a corner condition - When the ball hits right in the corner of two bricks, we decided to always erase the bottom or top brick, depending on which direction the ball is coming from

3. Speed of the paddle and ball - We designed the game so that the paddle is twice as fast as the ball in the x-direction. This allows the user to have a better chance at catching up to the ball. The ball is at its current speed because otherwise the speed would have to be doubled (the speed can only be at integer values in x,y). When the ball is twice as fast the game becomes much too difficult.