https://github.com/ishrak26/dx-ball
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.
https://github.com/ishrak26/dx-ball
igraphics opengl-library
Last synced: about 2 months ago
JSON representation
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.
- Host: GitHub
- URL: https://github.com/ishrak26/dx-ball
- Owner: ishrak26
- Created: 2021-06-09T14:47:03.000Z (about 4 years ago)
- Default Branch: main
- Last Pushed: 2024-11-15T03:02:21.000Z (7 months ago)
- Last Synced: 2025-03-30T18:34:29.432Z (3 months ago)
- Topics: igraphics, opengl-library
- Language: C++
- Homepage:
- Size: 15.2 MB
- Stars: 4
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# DX-Ball 🎮
*A Classic Arcade Game Developed in C*## Overview
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.### Key Features
- **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.### Instructions
1. **Preserve Directory Structure**:
- Do not make any changes to the **"Files"** and **"Pics"** directories as they are essential for the game's functionality.
2. **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`**, where `n = 1, 2, or 3`.
- Files named **`1.wav`, `2.wav`, or `3.wav`** will play during gameplay.
- A file named **`0.wav`** will play as background music on the home screen.### Challenges and Learning Outcomes
This project was a stepping stone in understanding structured programming and game logic. Key challenges included:
1. **Collision Detection**: Implementing accurate ball-brick and ball-paddle interactions.
2. **Game Loop Design**: Managing the game’s flow and ensuring smooth animation.
3. **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.
### Technical Details
- **Language**: C
- **Graphics Library**: iGraphics
- **Development Environment**: Code::Blocks### Demo
Check out the gameplay demo on Facebook:
[Facebook Demo](https://www.facebook.com/100002802882052/videos/2930693760367358/)