Skip to content

M00HAB/BrickBreaker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 

Repository files navigation

BrickBreaker

Classic brick breaker (Arkanoid-style) game developed in Java.


Table of Contents


Overview

BrickBreaker is a Java-based arcade game where the player controls a paddle to bounce a ball and break a formation of bricks. The goal is to clear all bricks without letting the ball fall below the paddle.


Features

  • Paddle control (left / right)
  • Ball physics and collision detection
  • Brick layout with multiple rows and colors
  • Score tracking
  • Lives / game over logic
  • (Optional) Multiple levels or increasing difficulty

Getting Started

Prerequisites

  • Java JDK (e.g. Java 8 or later)
  • (Optional) An IDE such as IntelliJ IDEA, Eclipse, or VS Code
  • Build tool (if you use one, e.g. Maven or Gradle)

Build & Run

  1. Clone this repository:
   git clone https://github.com/M00HAB/BrickBreaker.git
   cd BrickBreaker
  1. Compile the Java source files. For example:
   javac -d bin src/**/*.java
  1. Run the game:
  java -cp bin your.main.ClassName

Replace your.main.ClassName with the class containing the public static void main(...) entry point (e.g., Main).

If using an IDE, import the project and run the main class directly from the IDE.


Project Structure

BrickBreaker/
├── src/
│   ├── (your packages, e.g. model, view, controller)
│   ├── Main.java
│   └── … other classes (Brick, Paddle, Ball, GameEngine, etc.)
├── bin/                ← (optional) compiled output
├── assets/             (optional) images, sounds
└── README.md
  • src/ — All Java source code
  • assets/ — (Optional) external resources like images, sound files
  • bin/ — (Optional) compiled .class files

Gameplay

  1. Move the paddle left or right to bounce the ball.
  2. Aim to hit and break bricks above.
  3. If all bricks are destroyed, the level is cleared.
  4. If the ball falls past your paddle (missed), you lose a life.
  5. Game ends when lives are exhausted.

Future Improvements

  • Add multiple levels with different brick patterns
  • Add power-ups (e.g. wider paddle, multi-ball)
  • Add sound effects / background music
  • Improve collision physics (angles, speed)
  • Add pause / resume, high scores, UI menu
  • Support keyboard + touch (or mouse) input

Contributing

Contributions, bug reports, feature suggestions are welcome! To contribute:

  1. Fork the project
  2. Create a new branch: git checkout -b feature/awesome-feature
  3. Commit your changes and push
  4. Open a Pull Request

Please follow consistent coding style, comment new code, and include tests or usage examples when possible.


License

Mohab Ashraf - Faculty of Engineering


About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages