Skip to content

yusraasim/aiproject

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

153 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Modified Chinese Checkers with Strategic Blocking

Python Pygame License

A strategic twist on classic Chinese Checkers featuring 2/4-player modes and blocking mechanics, powered by Minimax AI with Alpha-Beta pruning.

alt text

Key Features

  • Flexible Player Modes: Supports both 2-player (head-to-head) and 4-player (cross formation) games
  • Blocking Mechanics: Special pieces that temporarily prevent opponent jumps
  • Adaptive AI: Minimax algorithm with:
  • Alpha-Beta pruning for optimized performance
  • Custom heuristic evaluating position, mobility, and blocking
  • Game Analytics: Tracks win rates, move times, and AI decision metrics

Installation

  1. Prerequisites:

    • Python 3.12+
    • Pygame 2.1.2+
  2. Setup:

    git clone https://github.com/yusraasim/aiproject.git
    cd aiproject
    pip install pygame numpy parameterized matplotlib
    
    running the code:
    for 3 AI and 1 human: python main.py --players 4 --first-player human --second-player minimax --third-player minimax --fourth-player minimax
    for 1 AI and 3 human: python main.py --players 4 --first-player human --second-player human --third-player human --fourth-player minimax
    
  3. Explanation: In cheniese Checkers a player has to move all their pegs to the opposite side of the board to win. As u can see in thw winningboard.png that yellow pegs wins as it managed to successfully move all its pegs to the opposite as shown in(img/board.png). Traditional rules allow the player to jump over an opponents peg but our modified rule does not. It forces the player to take a detour around a peg mincreasing the difficulty level of the game. video demo: https://drive.google.com/drive/folders/1WbLhBtQO0y7PZ7S-TnNyWzBXuYTBUBbq?usp=sharing

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages