Fully functional chess game implementation in JavaScript.
Features:
- All standard piece movements
- Castling (kingside and queenside)
- Pawn promotion
- Check and checkmate detection
- Legal move validation
- Move history
- Visual feedback for selected pieces and legal moves
- Last move highlight
- En passant moves
Game Controls:
- Navigate moves with arrow keys
- Click moves in history to jump to position
- Navigation buttons for first/previous/next/last move
Future Enhancements:
- Time controls
- Scoreboard
- Move animations
- FEN position import/export
- PGN import/export
- Resignation
- Draw offer
- Draw by repetition detection
- Scrolling behaviour
- Move history with advanced algebraic notation (captures, promotion, castling, ...)
- AI opponent (probably using minimax algorithm)
- Game analysis
Chess piece images from https://commons.wikimedia.org/wiki/Category:PNG_chess_pieces/Standard_transparent