Everything happens in a JPanel, using the paintComponent method. In a seperate thread, a repaint method is called. this repaint method simply calls the paintComponent method continuously in an infinite loop.
This is where we handle the behaviour of our game objects/models
This is where we handle level generation.
This is where we handled, spawn points for enemies, collision detections, user controls, etc
The difficulty and complexity of the levels increases as you go up
- Level 1
- Has the basic enemies - Turtules and Mushrooms
- Obstacles - Pipes and Bricks, a Flooded area
- Enemy behaviour is simple - they move in a given direction until they collide with other object at which point their direction is reversed
- Collectables - Coins of three different values [yellow, green and purple coin]
- Shooting requires 0 points
- Level 2
- Introduces a new enemy - A zig-zagging bird which can only be shot, not stomped
- Obstacles remain the same in this level, simply in a more complex layout, requiering a bit better control to traverse
- Enemy behaviour remains the same
- Collectables remain the same
- Shooting requires 1 point
- Level 3
- Enemies - New winged version of Turtles and Mushrooms only, can not be stomped and must be shot
- Obstacles - Introduces moving platforms, every pipe shoots a fireball in random intervals
- Enemy behaviour exanded - they can now spawn on flying platforms and detect the edge of blocks, detect incoming bullets and try to dodge them
- Collectables remain the same
- Shooting requires 2 points



