{"id":24082285,"url":"https://github.com/ishrak26/dx-ball","last_synced_at":"2025-04-30T17:48:42.649Z","repository":{"id":176787024,"uuid":"375390329","full_name":"ishrak26/DX-Ball","owner":"ishrak26","description":"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.","archived":false,"fork":false,"pushed_at":"2024-11-15T03:02:21.000Z","size":15897,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-30T18:34:29.432Z","etag":null,"topics":["igraphics","opengl-library"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ishrak26.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-06-09T14:47:03.000Z","updated_at":"2024-12-23T12:03:34.000Z","dependencies_parsed_at":null,"dependency_job_id":"b75f8c9e-2ae5-489f-8230-a43831ceb87f","html_url":"https://github.com/ishrak26/DX-Ball","commit_stats":null,"previous_names":["ishrak26/dx-ball"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ishrak26%2FDX-Ball","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ishrak26%2FDX-Ball/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ishrak26%2FDX-Ball/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ishrak26%2FDX-Ball/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ishrak26","download_url":"https://codeload.github.com/ishrak26/DX-Ball/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251755226,"owners_count":21638659,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["igraphics","opengl-library"],"created_at":"2025-01-09T23:46:18.438Z","updated_at":"2025-04-30T17:48:42.610Z","avatar_url":"https://github.com/ishrak26.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# DX-Ball 🎮  \n*A Classic Arcade Game Developed in C*\n\n## Overview  \nThis 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.\n\n### Key Features  \n- **Dynamic Gameplay**: \n  - Break bricks using a ball and paddle.\n  - Difficulty increases with game progression.\n- **Graphics and Animation**: \n  - Vibrant visuals and smooth animations using the iGraphics library.\n- **User Interaction**: \n  - Paddle movement controlled via keyboard input.  \n  - Real-time collision detection between the ball, bricks, and paddle.\n- **Levels and Scoring**:\n  - Multiple levels of increasing complexity.\n  - Score tracking throughout the game.\n- **Custom Background Music**:\n  - Play any music of your choice during the game! Add your own music files (in `.wav` format) to the **Sound** directory.\n\n### Instructions  \n1. **Preserve Directory Structure**:\n   - Do not make any changes to the **\"Files\"** and **\"Pics\"** directories as they are essential for the game's functionality.\n2. **Add Custom Music**:\n   - Convert your music file to `.wav` format.  \n   - Place the file in the **\"Sound\"** directory and name it using the format **`n.wav`**, where `n = 1, 2, or 3`.  \n     - Files named **`1.wav`, `2.wav`, or `3.wav`** will play during gameplay.  \n     - A file named **`0.wav`** will play as background music on the home screen.  \n\n### Challenges and Learning Outcomes  \nThis project was a stepping stone in understanding structured programming and game logic. Key challenges included:\n1. **Collision Detection**: Implementing accurate ball-brick and ball-paddle interactions.\n2. **Game Loop Design**: Managing the game’s flow and ensuring smooth animation.\n3. **Graphics Handling**: Using iGraphics to create engaging visuals and animations.\n\nThrough this project, I gained hands-on experience with structured programming, problem-solving, and graphical application development.\n\n### Technical Details  \n- **Language**: C  \n- **Graphics Library**: iGraphics  \n- **Development Environment**: Code::Blocks\n\n### Demo  \nCheck out the gameplay demo on Facebook:  \n[Facebook Demo](https://www.facebook.com/100002802882052/videos/2930693760367358/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fishrak26%2Fdx-ball","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fishrak26%2Fdx-ball","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fishrak26%2Fdx-ball/lists"}