A Classic Arcade Game Developed in C
This project is a recreation of the popular classic game DX-Ball, developed as a term project for Level-1/Term-I under the course CSE 102: Structured Programming Sessional. The game is implemented using iGraphics, a graphics library for C, showcasing fundamental concepts of structured programming and game development.
- Dynamic Gameplay:
- Break bricks using a ball and paddle.
- Difficulty increases with game progression.
- Graphics and Animation:
- Vibrant visuals and smooth animations using the iGraphics library.
- User Interaction:
- Paddle movement controlled via keyboard input.
- Real-time collision detection between the ball, bricks, and paddle.
- Levels and Scoring:
- Multiple levels of increasing complexity.
- Score tracking throughout the game.
- Custom Background Music:
- Play any music of your choice during the game! Add your own music files (in
.wav
format) to the Sound directory.
- Play any music of your choice during the game! Add your own music files (in
- Preserve Directory Structure:
- Do not make any changes to the "Files" and "Pics" directories as they are essential for the game's functionality.
- Add Custom Music:
- Convert your music file to
.wav
format. - Place the file in the "Sound" directory and name it using the format
n.wav
, wheren = 1, 2, or 3
.- Files named
1.wav
,2.wav
, or3.wav
will play during gameplay. - A file named
0.wav
will play as background music on the home screen.
- Files named
- Convert your music file to
This project was a stepping stone in understanding structured programming and game logic. Key challenges included:
- Collision Detection: Implementing accurate ball-brick and ball-paddle interactions.
- Game Loop Design: Managing the game’s flow and ensuring smooth animation.
- Graphics Handling: Using iGraphics to create engaging visuals and animations.
Through this project, I gained hands-on experience with structured programming, problem-solving, and graphical application development.
- Language: C
- Graphics Library: iGraphics
- Development Environment: Code::Blocks
Check out the gameplay demo on Facebook:
Facebook Demo