A small match-3 board game written in C using Raylib.
Find a file
2026-06-26 12:42:57 +10:00
assets Initial commit 2026-06-26 12:42:57 +10:00
src Initial commit 2026-06-26 12:42:57 +10:00
.gitignore Initial commit 2026-06-26 12:42:57 +10:00
build.sh Initial commit 2026-06-26 12:42:57 +10:00
ReadMe.md Initial commit 2026-06-26 12:42:57 +10:00
UNLICENSE Initial commit 2026-06-26 12:42:57 +10:00

matchio

This project is a small match-3 board game written in C using Raylib.

The game board is an 8×8 grid. Each cell contains a tile marked with a symbol. Your goal is to match three or more identical symbols in a row - either horizontally or vertically.

To move a tile, click it with the left mouse button. A yellow border will highlight the selected tile. Then click an adjacent tile to attempt a swap.

If the swap results in a match, the matched tiles will be removed from the board. The existing tiles from above will fall down to fill the gaps, with new tiles spawned from the top of the window. You earn 10 points per matched symbol.

If the swap does not create a match, the move is cancelled and you receive a 10 point penalty.

You have 10 seconds to make a successful match. Completing a match resets the countdown. The game ends when the timer reaches zero.

Here is a picture of the game:

matchio

Build

To compile the code:

./build.sh

Run

To run the game:

./matchio

Assets

The media files under the assets folder were converted to header files using:

xxd -i assets/background.png > src/assets/background.h

Header guards were then manually added.

This approach embeds the games assets into the compiled executable.