https://github.com/lvocanson/bouncer
A game focusing on encapsulation, where bouncing circles appear, disappear on click, and increase the score.
https://github.com/lvocanson/bouncer
encapsulation raylib sdl3
Last synced: over 1 year ago
JSON representation
A game focusing on encapsulation, where bouncing circles appear, disappear on click, and increase the score.
- Host: GitHub
- URL: https://github.com/lvocanson/bouncer
- Owner: lvocanson
- Created: 2024-11-15T12:59:06.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-11-21T20:15:06.000Z (over 1 year ago)
- Last Synced: 2024-11-21T21:21:44.502Z (over 1 year ago)
- Topics: encapsulation, raylib, sdl3
- Language: C++
- Homepage:
- Size: 27.9 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Bouncer
**Bouncer** is a C++ project designed to practice encapsulation. The application displays circles that bounce off the edges of the window. Clicking a circle makes it disappear and increases the score, which is shown in the top-left corner below the FPS. As the game progresses, new circles appear more quickly, up to a maximum of 50 circles on screen at once.
## Cloning and Opening the Project in Visual Studio
1. Clone the repository with its submodules:
```bash
git clone https://github.com/lvocanson/Bouncer.git --recursive
```
2. Open the `Bouncer.sln` solution file located at the root of the repository.
3. Build the project in Visual Studio using your desired configuration (Debug/Release).
That's it!
## Compilation and Library Configuration
### Graphics Library Selection
To set the default graphics library, define one of the following macros during compilation:
- `USE_SDL`: Defaults to **SDL**.
- `USE_RAYLIB`: Defaults to **raylib**.
If `FORCE_LIB` is defined, the library choice will be locked and cannot be overridden at runtime.
### Changing the Library at Runtime
If `FORCE_LIB` is not defined, you can switch the graphics library at runtime using the following command line arguments:
- `--SDL`: Switch to **SDL**.
- `--Raylib`: Switch to **raylib**.