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:
make
This 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-Wpedantic
flags 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.
Xft
provides anti-aliased text drawing using FreeType, critical for rendering game text. Ensurefreetype2
is 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
DDEBUG
macro. Command:make debug
.
To remove build artifacts, run:
make clean
After building, the game can be executed with:
make run
or
./bin/Cubes
This 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.