A fully functional 2D chess engine built in Java using Swing.
This project served as a precursor and testing platform for the 3D Chess Engine.
⚠️ Note: This project is complete in terms of gameplay features but does not include formal documentation. It was built primarily as a testbed for core chess mechanics.
-
Full Chess Rules Implemented
- Pawn promotion, castling, en passant
- Checks, checkmate, and stalemate detection
-
Gameplay Mechanics
- Undo and redo moves
- Timer functionality for each player
- Pause and resume functionality
-
User Interface
- Swing-based 2D board and piece rendering
- Interactive piece selection and movement
-
Game Logic
- Valid move checking
- Game-over detection when a king is in checkmate
- Served as a testing ground for chess mechanics before transitioning to a 3D engine.
- Allows experimentation with move validation, game flow, and interface design.
- Language: Java
- UI: Swing (Java Standard Library)
Here are some screenshots of the 2D Chess game in action:


