The Project - Task
Your task for the peer assessed project is to create a little game with a graphical user interface. We've outlined a "line" of games that you can pursue to implement.
The more advanced games build on the simpler ones. You could start with a simple Squash and from that go for a Pong, or a Breakout and then a Space Invaders.
To pass the course, it is sufficient to submit the basic version of Squash.
Here's some very basic code scaffold that will help you to set up your game.

Squash (Solitaire) :
- Elements: a Ball and a Paddle
- Ball: once inserted to the playground, it moves (on its own/animation) to a certain set of rules.
- Rule1: Ball bounces (changes its direction) when it hits the left, right or upper bound of the playground.
- Rule2: Ball bounces when it hits the paddle.
- Rule3: Ball leaves the playground when it "hits" lower bound of the playground.
- Rule4: A new Ball is inserted when the previous Ball has left the playground (your choice if that happens automatically or on some sort of user interaction).
- Paddle: is moved by user interaction. Keyboard or Mouse
- Ball: once inserted to the playground, it moves (on its own/animation) to a certain set of rules.
- Deluxe: Add whichever additional element you like (these are just examples)
- a BallDepot, containing a limited amount of Balls. Game Over when empty.
- Counter
- Timer (e.g. make the game more interesting by adding time pressure)
- Physics Engine
- Highscore
Pong:
- Elements: a Ball and two Paddles
- Ball: same as in Squash, except that it doesn't bounce when it hits the upper bound. Instead it bounces when it hits the second paddle.
- Paddle: the two paddles can be moved separately by two players (using the same keyboard but different keys).
- Deluxe: same as in Squash, except that in this case you might need some of the additional elements twice.
Breakout:
- Elements: a Ball, a Paddle, and a Wall of Bricks
- Ball: same as in Squash
- Paddle: same as in Squash
- Bricks: many Bricks form a Wall. The Bricks are destroyed when they're hit by the Ball.
- Deluxe:
- Require multiple hits to destroy a Brick
- Add different values to the Bricks, counter counts the values when Brick is destroyed
- Make the Bricks moving
Space Invaders:
- Elements: as in Breakout, except that the Bricks can move and shoot back. You might also want to replace the Ball with a Spaceship that can shoot.
- Deluxe:
- Switch between different Weapons.
- You name it.
What and How to Submit
- A .zip file containing your source code. Export this .zip file from Eclipse.
- A .pdf file containing a documentation and lab report of your project. (~ 10 pages including many screenshots, diagrams, etc.)
Make sure that your source code and documentation do not contain your name or other hints to your identity to guarantee the double blindness of the peer review.
Both, the source code zip and the pdf documentation and lab report will have to be uploaded via the peer assessment tool on the openHPI platform. The platform will only allow the upload of one .pdf file, so, please combine documentation and lab report into one file before uploading.
If you work in a team, only one of you has to upload the results of your work. Please make sure that you have the pulled the final version of your project from your GitHub repository. Do not upload something before discussing this with your team!