pavani-17 / Brick-Breaker

A CLI version of the Brick Breaker Game

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

A simple brickbreaker game written in Python, utilising OOPS concepts and is playable on the Terminal, not making use of any cursor libraries. The only libraries required are numpy and colorama. playsound is used for the background sounds.

Features of the Game

  • Bricks of various types such as normal (bricks which break after n number of hits, where n varies between {1, 2, 3} for each brick), unbreakable (bricks which can be broken only under special circumstances) and exploding bricks (bricks which explode and break all neighbouring bricks, irrespective of strength)

  • A simple paddle which is used to control the ball. The ball velocity depends on where it lands on the paddle, with most deflection observed at the edges.

  • Powerups such as:

    1. Fast Ball : Increases the speed of the ball
    2. Expand Paddle: Increases the paddle size
    3. Shrink Paddle: Decreases the paddle size
    4. Ball Multiplier: Multiplies the number of balls
    5. Thru Balls: Allows the ball to pass through and break any type of brick
    6. Paddle Grab: Allows the paddle to grab the ball and relaunch at will
    7. Shoot Laser: Paddle shoots lasers to break bricks
    8. Fire Ball: A brick explodes all neighbouring bricks

Controls:

s - Release the ball from the paddle
a - Move the paddle to the left
d - Move the paddle to the right
l - Skip

Note that all these controls are case sensitive.

OOPS Concepts:

The game is written in a modular fashion, allowing new features to be added with minimum modification. Writing duplicate code is avoided using the principles of inheritance and polymorphism as and when needed.

Run Instructions:

  • pip3 install numpy
  • pip3 install colorama
  • pip3 install playsound
  • python3 main.py

About

A CLI version of the Brick Breaker Game


Languages

Language:Python 100.0%