A fun project to ramp up on Python and sqlite.
BreakoutXP is based on the classic breakout game in which the user moves a paddle to bounce balls up to a wall to hit and destroy the bricks. BreakoutXP tracks eXperience Points for the current user's game level, game, session and career, persisting these values to the database. When a ball hits something, you get more XP. Acquiring powerups increments XP. Clear most (90%) of the blocks to advance to the next level which grants XP. Each level renders with different colors using a fade-in pattern picked at random.
- Wider paddle (really paddle width change. It can get smaller!)
- Multiball 3-5 balls
- Extra life
- SloMo
- Fire ball - the ball destroys the brick, but does not bounce
- Invinciballs - all balls bounce back up even if the paddle misses
- Big ball
- Highball - Balls only interact with bricks on their way down.
Beware powerups with a red number.
- Left & right arrows move paddle
- Enter shows stats
- Esc quits to menu or command prompt depending on start method
- U and D jump up or down a level - fun for viewing different transitions
- python3 which includes sqlite3
- pygame:
- Windows install:
py -m pip install -U pygame --user
- Mac install:
python3 -m pip install -U pygame --user
- Windows install:
pygame-pymenu
- Without menu, just play the game:
breakout.py
- Use menu which allows creating and changing users:
breakomenu.py
This "just plays the game" if pygame-menu is not available.