A classic Ludo board game implementation using C++ and SFML, featuring multiplayer support, graphical elements, and sound effects.
- Features
- Prerequisites
- Installation
- Building
- Running
- Gameplay
- Project Structure
- Code Overview
- License
- 2-6 player support
- SFML-based graphical interface
- Dice roll animations
- Sound effects and background music
- Color-coded player pieces
- Interactive game board
- SFML 2.5.x
- C++17 compatible compiler (GCC, MSVC, Clang)
- CMake (recommended)
# Install SFML dependencies
sudo apt-get install libsfml-dev- Download SFML binaries
- Add SFML include directory to your IDE's include paths
- Link SFML libraries (graphics, window, system, audio)
mkdir build && cd build
cmake ..
cmake --build .g++ -std=c++17 -I./include -I/path/to/sfml/include *.cpp -o Ludo \
-L/path/to/sfml/lib -lsfml-graphics -lsfml-window -lsfml-system -lsfml-audio# Linux
./Ludo
# Windows
Ludo.exe- Launch the executable
- Select number of players (2-6)
- Click the dice to roll
- Move pieces according to dice value
- Reach the center to win!
Controls:
- Left click: Select pieces
- Spacebar: Roll dice
- ESC: Exit game
├── CMakeLists.txt # Build configuration
├── src/
│ ├── Main.cpp # Entry point
│ ├── Game/ # Core game logic
│ ├── Board/ # Board rendering
│ ├── Pieces/ # Player piece implementations
│ └── Players/ # Player management
├── assets/
│ ├── audio/ # Sound effects and music
│ ├── fonts/ # Font files
│ └── textures/ # Game sprites and images
└── external/ # SFML dependencies (if included)
| Component | Description |
|---|---|
Game.cpp |
Main game loop and state management |
Board.cpp |
Board rendering and collision detection |
Piece.cpp |
Piece movement and animation logic |
Player.cpp |
Player turns and piece management |
Dice.cpp |
Dice rolling mechanics |
SoundManager.cpp |
Audio playback and resource management |
This project is licensed under the MIT License - see LICENSE file for details.