---
# System prepended metadata

title: 'Final Project Report: Crossy Road'

---

# Final Project Report: Crossy Road

## Team Members:
B07902082 黃哲維

## Responsibilities
B07902082 黃哲維: 被carry

## Class Design
The main classes include GamePanel, StartPanel, EndPanel, Block and many others that are organized by packages for readability purposes.

### Block
This is an abstract class created for all the "blocks" of the game that are meant to be the objects that stand in our hero's way. They consist of Bridge, Car, Road and Tree, which during collision, it would cause the game to proceed to end; Tree would be the only one that would not cause the game to end but purely meant as a roadblock.

### GamePanel
The GamePanel class extends the JPanel class from Java Swing package which we use to primarily produce the on screen animations of the background moving concurrently with the players choice of movement as well as presenting the "Blocks".

### StartPanel
This is the first panel shown to the game once the program is running where the player can choose to press enter to start or simply click the start button. There is a separate class for the start button called "StartButton" that is extended from JButton.

### EndPanel
This is the game over screen which displays the score and also has a JButton called "restart" for the player to click on to retry the game.

### App
This is where the window is created for the game's further implementations.



## Advantages
Firstly, dividing our program into packages through planning then deciding which classes go into which one paved a smooth implementation of the game. Since we could only communicate digitally, we often created new classes and expended notes in a changes.md file when we updated the program. The classes were always kept as short as possible with clear cut codes for other groupmates to understand quickly.

## Disadvantages


## How to
MakeFile
run app
ggwp idk 

As a traditional game, the player can confirm to start the game by pressing enter or using the cursor to click start. To control the hero, the keys, W, A, S, D are used to move up, left, down, right respectfully. If the player crashes into an obstacle such as a car, or falls into the river the game is over and a game over screen is displayed. The player may press the play button to retry the game from the beginning.