This repository contains the implementation of a Brick Breaker game developed using 8086 Assembly. The game is a part of our project for the Microprocessors Course in our second-year Computer Engineering program. It features a classic brick-breaking gameplay with unique power-ups and a separate chat mode for communication outside of the game itself. 🚀
- Brick Breaker Game: The player controls a paddle and tries to break all the bricks on the screen by bouncing a ball off the paddle. 🧱🎾
- Power-ups: Special bricks give power-ups when hit:
- Bigger Paddle: Increases the size of the paddle. ⬛
- Slower Paddle: Reduces the paddle speed. 🐢
- Faster Paddle: Increases the paddle speed. ⚡
- Separate Chat Mode: Players can communicate with each other outside of the game via a separate chat mode. 💬
To run this program, you'll need the following:
- DOSBox-X: A DOS emulator with enhanced features. You can download it from here.
- Python: To automate running the program. Download it from python.org.
-
Clone the Repository:
git clone https://github.com/AhmedAmrNabil/brick-breaker-assembly.git cd brick-breaker-assembly
-
Set Up DOSBox-X:
- Ensure DOSBox-X is installed on your computer and its path properly configured.
-
Run the Program Using Python: The provided
run_multi.py
script will automate launching the program in DOSBox-X:python run_multi.py
This script assembles the code (if needed) and executes the program seamlessly in DOSBox-X. 🚀
- A: Move the paddle to the left. ⬅️
- D: Move the paddle to the right. ➡️
- Bigger Paddle: The paddle size increases, allowing better control. 🔼
- Slower Paddle: The paddle slows down, making it harder to control but giving a more strategic advantage in some cases. 🐢
- Faster Paddle: The paddle speed increases, making the game more challenging but exciting. ⚡
The game includes a chat mode where players can communicate with each other.😄
This project was developed as part of the Microprocessors Course and demonstrates our understanding of 8086 assembly language and microprocessor concepts, such as memory management, input/output handling, and system interrupts. 🔧
This project is licensed under the MIT License - see the LICENSE file for details. 📄