A feature-rich, interactive physics-based arcade game developed in modern C++ utilizing the SDL2 (Simple DirectMedia Layer) library. This project showcases dynamic object rendering, sound management, collision detection, and customizable settings via a clean terminal/graphical interface.
This project was developed as part of the core Programming Course curriculum at Sharif University of Technology, Department of Electrical Engineering.
- Amirali Fazeli
- Armin Barzegari
Based on the repository deployment, the project is organized as follows:
final_project/- Contains the main C++ source files (includingmain.cpp).MinGW/- Embedded compiler toolkit dependencies for immediate setup.menu_pictures/&picture/&pic_balls/- Game assets, sprite sheets, and UI textures.music/- Sound effects and background audio files.font/- TrueType fonts (TTF) used for in-game text rendering.
- Dynamic Physics Engine: Real-time bouncing mechanics, speed adjustment, and bounding box collision validation.
- Audio Management: Built-in settings menu to control, mute, or adjust background score and game effects.
- Interactive States: Main menu navigation, game-over screen handling, and dynamic map layouts.
- Cross-Platform Compatibility: Pre-bundled toolchains to ensure smooth compilation behavior on Windows systems.
The repository is fully equipped with its local compiler suite (MinGW), making compilation seamless:
Make sure your system environment variables point to a valid GCC compiler, or utilize the provided pre-packaged MinGW suite inside this repository.
- Clone or download this repository to your local directory.
- Open your terminal/command prompt and navigate to the project directory:
cd final_project## Images





