Franรงais | English
Un jeu d'รฉchecs complet et interactif dรฉveloppรฉ avec React, Next.js et shadcn/ui. Le jeu propose un mode joueur contre joueur et un mode contre l'intelligence artificielle.
- โ Tous les mouvements de piรจces (pion, cavalier, fou, tour, dame, roi)
- โ
Rรจgles spรฉciales :
- Roque (petit et grand)
- Prise en passant
- Promotion du pion
- โ Dรฉtection d'รฉchec, รฉchec et mat, et pat
- โ
Rรจgles de nulle :
- Rรฉpรฉtition de position (3 fois)
- Rรจgle des 50 coups
- Matรฉriel insuffisant
- Accord mutuel
- ๐ฎ Mode Joueur vs Joueur : Deux joueurs sur le mรชme appareil
- ๐ค Mode contre l'IA : 6 niveaux de difficultรฉ (400 ร 2500 Elo)
- LN Dรฉbutant (400 Elo)
- LN Amateur (800 Elo)
- LN Intermรฉdiaire (1200 Elo)
- LN Avancรฉ (1600 Elo)
- LN Expert (2000 Elo)
- LN Maรฎtre (2500 Elo)
- โ๏ธ รchecs Standard : Partie classique avec position de dรฉpart traditionnelle
- ๐ฒ Chess960 (Fischer Random) : Position de dรฉpart alรฉatoire parmi 960 possibilitรฉs
- Gรฉnรฉration automatique selon les rรจgles FIDE
- Roi placรฉ entre les deux tours
- Fous sur cases de couleurs opposรฉes
- Roque adaptรฉ avec destinations finales identiques aux รฉchecs classiques
- Documentation complรจte : CHESS960.md
- ๐จ Design minimaliste inspirรฉ de chess.com
- ๐จ 16 thรจmes de couleurs personnalisables
- ๐ญ 3 styles de piรจces (Classique, Moderne, Colorรฉ)
- ๐ฑ Responsive (adaptรฉ mobile, tablette, desktop)
- ๐ฏ Indicateurs visuels pour les mouvements possibles
- ๐ด Mise en รฉvidence de l'รฉchec
- ๐ Affichage des informations de la partie
- ๐ Historique des coups en notation algรฉbrique FIDE
- ๐พ Export PGN (format standard FIDE) avec copie dans le presse-papiers
- ๐ฎ Contrรดles de jeu (nouvelle partie, abandon, proposition nulle)
- โฑ๏ธ Pendule d'รฉchecs avec plusieurs cadences
- ๐ Effets sonores (dรฉplacement, capture, รฉchec, victoire)
- โจ Animations fluides des dรฉplacements de piรจces
- ๐ Interface bilingue (franรงais / anglais)
- ๐ฌ Animation de victoire lors d'un รฉchec et mat
- ๐จ 16 thรจmes de couleurs prรฉ-dรฉfinis
- ๐ญ 3 styles de piรจces au choix
- โฑ๏ธ 6 cadences de temps diffรฉrentes
- ๐ Contrรดle du volume sonore
- ๐พ Sauvegarde automatique des prรฉfรฉrences
- Next.js 15 - Framework React
- TypeScript - Typage statique
- Tailwind CSS - Styling
- shadcn/ui - Composants UI
- Lucide React - Icรดnes
- Zustand - Gestion d'รฉtat
- next-intl - Internationalisation
- Motion - Animations
- Cloner le projet
cd chess-game/- Installer les dรฉpendances
npm install- Lancer le serveur de dรฉveloppement
npm run dev- Ouvrir http://localhost:3000 dans votre navigateur
- Choisissez votre mode de jeu (PvP ou contre l'IA)
- Si vous jouez contre l'IA, sรฉlectionnez le niveau de difficultรฉ
- Les Blancs commencent toujours en premier
- Cliquez sur une piรจce pour la sรฉlectionner
- Les mouvements valides sont indiquรฉs par des cercles
- Cliquez sur une case valide pour dรฉplacer la piรจce
- Le jeu dรฉtecte automatiquement les รฉchecs, รฉchecs et mat, et les pats
- Personnalisez l'รฉchiquier avec 16 thรจmes de couleurs disponibles
- Choisissez parmi 3 styles de piรจces diffรฉrents
- Exportez votre partie au format PGN pour la sauvegarder ou la partager
chess-game/
โโโ app/ # Pages Next.js
โโโ components/ # Composants React
โ โโโ AIDifficultySelector.tsx # Sรฉlecteur de difficultรฉ IA
โ โโโ AnimatedPiece.tsx # Animation des piรจces
โ โโโ BoardContainer.tsx # Conteneur du plateau
โ โโโ CapturedPieces.tsx # Piรจces capturรฉes
โ โโโ CheckmateAnimation.tsx # Animation d'รฉchec et mat
โ โโโ ChessBoard.tsx # Plateau d'รฉchecs
โ โโโ ChessClock.tsx # Pendule d'รฉchecs
โ โโโ ChessGame.tsx # Composant principal
โ โโโ ChessPiece.tsx # Piรจce d'รฉchecs
โ โโโ ChessSquare.tsx # Case individuelle
โ โโโ ExportPGNDialog.tsx # Dialogue d'export PGN
โ โโโ FullscreenButton.tsx # Bouton plein รฉcran
โ โโโ GameControls.tsx # Contrรดles du jeu
โ โโโ GameInfo.tsx # Informations de la partie
โ โโโ GameModeSelector.tsx # Sรฉlecteur de mode
โ โโโ LanguageSelector.tsx # Sรฉlecteur de langue
โ โโโ MoveHistory.tsx # Historique des coups
โ โโโ PieceStyleSelector.tsx # Sรฉlecteur de style
โ โโโ PreferencesDialog.tsx # Dialogue des prรฉfรฉrences
โ โโโ PromotionDialog.tsx # Dialogue de promotion
โ โโโ SoundControl.tsx # Contrรดle du son
โ โโโ ThemeSelector.tsx # Sรฉlecteur de thรจme
โ โโโ TimeControlSelector.tsx # Sรฉlecteur de cadence
โ โโโ ui/ # Composants UI shadcn
โโโ lib/ # Logique du jeu
โ โโโ chess-ai.ts # Intelligence artificielle
โ โโโ chess-engine.ts # Moteur de jeu
โ โโโ chess-sounds.ts # Effets sonores
โ โโโ chess-themes.ts # Thรจmes de couleurs
โ โโโ chess-utils.ts # Fonctions utilitaires
โ โโโ constants.ts # Constantes du jeu
โ โโโ export-utils.ts # Utilitaires d'export
โ โโโ pgn-utils.ts # Utilitaires PGN
โ โโโ piece-styles.ts # Styles de piรจces
โ โโโ preferences.ts # Gestion des prรฉfรฉrences
โ โโโ time-controls.ts # Contrรดles de temps
โ โโโ utils.ts # Utilitaires gรฉnรฉraux
โโโ store/ # Gestion d'รฉtat Zustand
โโโ types/ # Types TypeScript
โ โโโ chess.ts # Types du jeu d'รฉchecs
โโโ messages/ # Traductions
โ โโโ en.json # Anglais
โ โโโ fr.json # Franรงais
โโโ public/ # Fichiers statiques
โ โโโ pieces/ # Images des piรจces SVG
โโโ README.md # Documentation principale
โโโ QUICK-START.md # Guide de dรฉmarrage rapide
โโโ RULES.md # Rรจgles complรจtes
โโโ PGN-NOTATION.md # Format PGN et notation
โโโ THEMES.md # Thรจmes de couleurs
Toutes les rรจgles officielles de la FIDE (Fรฉdรฉration Internationale des รchecs) sont implรฉmentรฉes :
- Mouvements de toutes les piรจces selon les rรจgles officielles
- Roque (avec vรฉrification des conditions)
- Prise en passant
- Promotion du pion (choix entre dame, tour, fou, cavalier)
- รchec et รฉchec et mat
- Pat (stalemate)
- Nulle par rรฉpรฉtition de position
- Nulle par la rรจgle des 50 coups
- Nulle par matรฉriel insuffisant
- Abandon et proposition de nulle
npm run dev # Lancer le serveur de dรฉveloppement
npm run build # Construire l'application pour la production
npm run start # Lancer l'application en production
npm run lint # Vรฉrifier le codePour plus d'informations, consultez :
- QUICK-START.md : Guide de dรฉmarrage rapide
- RULES.md : Toutes les rรจgles du jeu d'รฉchecs
- PGN-NOTATION.md : Format PGN et notation algรฉbrique
- THEMES.md : Guide des thรจmes de couleurs
Ce projet est open source et disponible sous la licence MIT.
Dรฉveloppรฉ avec โค๏ธ en utilisant React et Next.js
A complete and interactive chess game developed with React, Next.js and shadcn/ui. The game offers a player vs player mode and a mode against artificial intelligence.
- โ All piece movements (pawn, knight, bishop, rook, queen, king)
- โ
Special rules:
- Castling (kingside and queenside)
- En passant
- Pawn promotion
- โ Check, checkmate, and stalemate detection
- โ
Draw rules:
- Threefold repetition
- 50-move rule
- Insufficient material
- Mutual agreement
- ๐ฎ Player vs Player Mode: Two players on the same device
- ๐ค AI Mode: 6 difficulty levels (400 to 2500 Elo)
- LN Beginner (400 Elo)
- LN Amateur (800 Elo)
- LN Intermediate (1200 Elo)
- LN Advanced (1600 Elo)
- LN Expert (2000 Elo)
- LN Master (2500 Elo)
- โ๏ธ Standard Chess: Classic game with traditional starting position
- ๐ฒ Chess960 (Fischer Random): Random starting position among 960 possibilities
- Automatic generation according to FIDE rules
- King placed between the two rooks
- Bishops on opposite-colored squares
- Adapted castling with final destinations identical to classical chess
- Complete documentation: CHESS960.md
- ๐จ Minimalist design inspired by chess.com
- ๐จ 16 customizable color themes
- ๐ญ 3 piece styles (Classic, Modern, Colorful)
- ๐ฑ Responsive (mobile, tablet, desktop)
- ๐ฏ Visual indicators for possible moves
- ๐ด Check highlighting
- ๐ Game information display
- ๐ Move history in FIDE algebraic notation
- ๐พ PGN export (FIDE standard format) with clipboard copy
- ๐ฎ Game controls (new game, resign, draw offer)
- โฑ๏ธ Chess clock with multiple time controls
- ๐ Sound effects (move, capture, check, victory)
- โจ Smooth animations for piece movements
- ๐ Bilingual interface (French / English)
- ๐ฌ Victory animation on checkmate
- ๐จ 16 pre-defined color themes
- ๐ญ 3 piece styles to choose from
- โฑ๏ธ 6 different time controls
- ๐ Volume control
- ๐พ Automatic preference saving
- Next.js 15 - React Framework
- TypeScript - Static typing
- Tailwind CSS - Styling
- shadcn/ui - UI components
- Lucide React - Icons
- Zustand - State management
- next-intl - Internationalization
- Motion - Animations
- Clone the project
cd chess-game/- Install dependencies
npm install- Start the development server
npm run dev- Open http://localhost:3000 in your browser
- Choose your game mode (PvP or vs AI)
- If playing against AI, select the difficulty level
- White always starts first
- Click on a piece to select it
- Valid moves are indicated by circles
- Click on a valid square to move the piece
- The game automatically detects checks, checkmates, and stalemates
- Customize the board with 16 available color themes
- Choose from 3 different piece styles
- Export your game in PGN format to save or share it
chess-game/
โโโ app/ # Next.js pages
โโโ components/ # React components
โ โโโ AIDifficultySelector.tsx # AI difficulty selector
โ โโโ AnimatedPiece.tsx # Piece animations
โ โโโ BoardContainer.tsx # Board container
โ โโโ CapturedPieces.tsx # Captured pieces
โ โโโ CheckmateAnimation.tsx # Checkmate animation
โ โโโ ChessBoard.tsx # Chess board
โ โโโ ChessClock.tsx # Chess clock
โ โโโ ChessGame.tsx # Main component
โ โโโ ChessPiece.tsx # Chess piece
โ โโโ ChessSquare.tsx # Individual square
โ โโโ ExportPGNDialog.tsx # PGN export dialog
โ โโโ FullscreenButton.tsx # Fullscreen button
โ โโโ GameControls.tsx # Game controls
โ โโโ GameInfo.tsx # Game information
โ โโโ GameModeSelector.tsx # Mode selector
โ โโโ LanguageSelector.tsx # Language selector
โ โโโ MoveHistory.tsx # Move history
โ โโโ PieceStyleSelector.tsx # Style selector
โ โโโ PreferencesDialog.tsx # Preferences dialog
โ โโโ PromotionDialog.tsx # Promotion dialog
โ โโโ SoundControl.tsx # Sound control
โ โโโ ThemeSelector.tsx # Theme selector
โ โโโ TimeControlSelector.tsx # Time control selector
โ โโโ ui/ # shadcn UI components
โโโ lib/ # Game logic
โ โโโ chess-ai.ts # Artificial intelligence
โ โโโ chess-engine.ts # Game engine
โ โโโ chess-sounds.ts # Sound effects
โ โโโ chess-themes.ts # Color themes
โ โโโ chess-utils.ts # Utility functions
โ โโโ constants.ts # Game constants
โ โโโ export-utils.ts # Export utilities
โ โโโ pgn-utils.ts # PGN utilities
โ โโโ piece-styles.ts # Piece styles
โ โโโ preferences.ts # Preferences management
โ โโโ time-controls.ts # Time controls
โ โโโ utils.ts # General utilities
โโโ store/ # Zustand state management
โโโ types/ # TypeScript types
โ โโโ chess.ts # Chess game types
โโโ messages/ # Translations
โ โโโ en.json # English
โ โโโ fr.json # French
โโโ public/ # Static files
โ โโโ pieces/ # SVG piece images
โโโ README.md # Main documentation
โโโ QUICK-START.md # Quick start guide
โโโ RULES.md # Complete rules
โโโ PGN-NOTATION.md # PGN format and notation
โโโ THEMES.md # Color themes
All official FIDE (International Chess Federation) rules are implemented:
- All piece movements according to official rules
- Castling (with condition checking)
- En passant capture
- Pawn promotion (choice between queen, rook, bishop, knight)
- Check and checkmate
- Stalemate
- Draw by threefold repetition
- Draw by 50-move rule
- Draw by insufficient material
- Resignation and draw offer
npm run dev # Start development server
npm run build # Build for production
npm run start # Start production server
npm run lint # Lint codeFor more information, see:
- QUICK-START.md : Quick start guide
- RULES.md : All chess rules
- PGN-NOTATION.md : PGN format and algebraic notation
- THEMES.md : Color themes guide
This project is open source and available under the MIT license.
Developed with โค๏ธ using React and Next.js