Skip to content

j3mouad/Projet-echecs-TDLOG

Repository files navigation

Chess Game

Description

This is a fully functional chess game developed using Python and C++. The game features a graphical interface built with Pygame, an AI opponent using Stockfish via UCI (Universal Chess Interface), and various gameplay modes.

Features

  • Graphical Interface: A user-friendly interface built with Pygame.
  • AI Integration: The game includes an AI opponent powered by Stockfish and the Minimax algorithm with Alpha-Beta pruning.
  • Game Modes:
    • Player vs Player (Local multiplayer)
    • Player vs AI 
    • Custom game setups
    • Fairy Chess (Custom rule sets)
    • Fischer Random Chess (Chess960)
  • Performance Optimization: Python and C++ are integrated using Sockets for efficiency.
  • Chess Engine Analysis: Game positions are evaluated using Stockfish’s evaluation function.

Technical Stack

  • Python (Main implementation language)
  • C++ (For performance-critical components)
  • Pygame (Graphical user interface)
  • Stockfish (AI Chess engine via UCI)
  • Sockets (For communication between Python and C++)
  • Minimax Algorithm with Alpha-Beta Pruning (For AI decision-making)

Challenges Faced

  • Proper task distribution among team members.
  • Debugging a large codebase.
  • Integration between Python and C++ using sockets.
  • Efficient representation of the chessboard.

Future Extensions

  • Multiplayer Mode (Online play)
  • Reinforcement Learning AI
  • Improved User Experience with additional features.

Contributors

  • Hassene Kallala
  • Mouad Jbili
  • Hamza Ferssiwi
  • Adam Hatim

About

Le projet du module TDLOG qui consiste à réaliser un jeu d'échec .

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors