simple falling blocks puzzle game using X11 windowing system
ArrowUp: Rotate cube clockwiseArrowDown: Speed up falling of cubeArrowLeft: Move cube to the leftArrowRight: Move cube to the rightCtrl: Rotate cube counterclockwiseP: Pause gameSpace: Drop the cube instantly
Navigate to the project directory and run the following command:
makeThis command will compile the game. Ensure that the following dependencies are installed:
- GCC: Required for compiling C code with strict compliance to
C99. The build process leverages-Wall,-Werror,-Wextra, and-Wpedanticflags to enforce code quality and adherence to standards. - Xlib: Essential for interacting with the X11 windowing system. The game uses X11 for window management, event handling, and graphical rendering.
- FreeType/Xft: Integrated for advanced font rendering.
Xftprovides anti-aliased text drawing using FreeType, critical for rendering game text. Ensurefreetype2is correctly included in the compile path with-I/usr/include/freetype2.
- Release Build: Optimized with
-O3, stripped binary for reduced size. Command:make release. (default) - Debug Build: Includes debugging symbols and
DDEBUGmacro. Command:make debug.
To remove build artifacts, run:
make cleanAfter building, the game can be executed with:
make runor
./bin/CubesThis project is licensed under the GNU General Public License v3.0.
Contributions are welcome! If you find any issues or have suggestions for improvements, please open an issue or submit a pull request.