Skip to content

A modular Python-based turn-based game engine that powers classic board games like Chess, Ludo, Connect 4, and Snake & Ladder. Built with flexibility, reusability, and easy integration in mind — and designed using fundamental data structure principles such as stacks, queues, graphs, trees, and arrays to ensure clean architecture

License

Notifications You must be signed in to change notification settings

jananour00/Turn-based-Game-Engine

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

42 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Multiplayer Turn-Based Game Engine

Game Showcase

A versatile game engine supporting three classic board games: Snake & Ladder, Chess, and Ludo, implemented with Python and Pygame.

Table of Contents

Project Description

This project demonstrates advanced data structure implementation through three multiplayer turn-based games. Developed as part of our Data Structures course under the supervision of Eng. Moutair, it showcases:

  • Queue-based turn management
  • Complex move validation algorithms
  • State preservation for undo/redo functionality
  • Graphical user interface with Pygame

Key components include:

  • Game state management
  • Rule enforcement engines
  • Interactive GUI
  • Win condition detection

Features

  • Common Framework for all three games
  • Turn Management using queues
  • Undo/Redo functionality with stack
  • Interactive GUI with Pygame
  • Special Game Rules implemented (snakes/ladders, chess moves, ludo captures)
  • Multiplayer Support (2-4 players depending on game)

Games Overview

🐍 Snake & Ladder

Classic dice-based race to the top with:

  • Random dice rolls
  • Snake and ladder jumps
  • 2-player turn system
Temperature Display

♟️ Chess

Full chess implementation featuring:

  • All piece movements
  • Check/checkmate detection
  • Piece capturing
  • Undo functionality
Temperature Display

🎲 Ludo

Traditional Ludo with:

  • 2-4 player support
  • Token movement logic
  • Safe zones and star jumps
  • Token capturing
Temperature Display

Data Structures Used

Data Structure Usage in Project
Queue Player turn management
Stack Undo/redo functionality
2D Arrays Board representations
Dictionaries Snake/ladder mappings, piece positions
Graphs Chess move validation
Object-Oriented Game pieces and player management

Installation

  1. Clone the repository:
    git clone https://github.com/yourusername/multiplayer-game-engine.git
  2. Install dependencies:
    pip install pygame numpy
  3. Run the desired game:
    python snake_ladder.py
    python chess.py
    python ludo.py

How to Play

  • Snake & Ladder: Press spacebar to roll dice
  • Chess: Click to select pieces and destinations
  • Ludo: Click dice to roll, then click your token

👥 Team Members

Member Name Game Contribution LinkedIn
Saif Chess Engine LinkedIn
Ziad Snake & Ladder GUI LinkedIn
Ibrahim Snake & Ladder Engine LinkedIn
Mohamed Ludo Logic &GUI LinkedIn
Jana Connect4 Game LinkedIn

Submitted to:

  • Dr. Eman Marzban & Eng. Mutair All rights reserved © 2025 to Team 07 - Systems & Biomedical Engineering, Cairo University (Class 2028)

About

A modular Python-based turn-based game engine that powers classic board games like Chess, Ludo, Connect 4, and Snake & Ladder. Built with flexibility, reusability, and easy integration in mind — and designed using fundamental data structure principles such as stacks, queues, graphs, trees, and arrays to ensure clean architecture

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%