Jeu d'échecs en C avec IAChess Game in C with AI
TechnologiesTechnologies (4)
Jeu d'échecs complet en C en terminal — toutes les règles implémentées, promotion des pions, détection d'échec, et une IA par exploration des coups sur 3 niveaux de profondeur.Full chess game in C in terminal — all rules implemented, pawn promotion, check detection, and an AI exploring moves at 3 levels of depth.
Lire la présentation complèteRead the full introduction
Jeu d'échecs complet en C en terminal — toutes les règles implémentées, promotion des pions, détection d'échec, et une IA par exploration des coups sur 3 niveaux de profondeur.Full chess game in C in terminal — all rules implemented, pawn promotion, check detection, and an AI exploring moves at 3 levels of depth.
Projet de cours d'algorithmique et programmation bas niveau à Polytech Sorbonne, réalisé en binôme.
Fonctionnalités implémentées
- Affichage du plateau en terminal avec notation standard (K, Q, B, N, R, P / k, q, b, n, r, p)
- Toutes les règles de déplacement légales : roque, prise en passant, promotion des pions
- Détection des situations d'échec
- Sauvegarde et chargement d'une partie
- Calcul et affichage de la valeur des pièces
IA adversaire
J'ai implémenté une IA par exploration exhaustive de toutes les séquences de coups possibles sur 3 niveaux de profondeur. À chaque position, je calcule une moyenne du score des meilleurs coups à partir d'une fonction d'évaluation simple (valeur des pièces sur le plateau).
L'IA n'est pas très forte — mais elle joue des coups légaux, elle a une stratégie basique, et elle peut battre un joueur vraiment distrait. Un bon point de départ pour comprendre concrètement comment fonctionne une IA de jeu de plateau.
Algorithms and low-level programming course project at Polytech Sorbonne, carried out in pairs.
Implemented features
- Terminal board display with standard notation (K, Q, B, N, R, P / k, q, b, n, r, p)
- All legal movement rules: castling, en passant, pawn promotion
- Check detection
- Save and load a game
- Piece value calculation and display
Adversarial AI
I implemented an AI by exhaustively exploring all possible move sequences at 3 levels of depth. At each position, I compute an average of the best move scores from a simple evaluation function (piece values on the board).
The AI is not very strong — but it plays legal moves, has basic strategy, and can beat a distracted player. A solid starting point for concretely understanding how a board game AI works.