Chess Game
This project is a fully functional chess game developed in Java with a Swing-based GUI. It simulates a complete two-player chess match with accurate rules, move validation, and real-time interaction.
Key Features:
Interactive GUI: Chessboard rendered with Swing, including highlights for valid moves.
Game Logic: Full support for legal chess moves (pawn promotion, castling, en passant, check/checkmate, stalemate).
Move Validation: Ensures legality of each move, collision detection, and turn-based rules.
Player Management: Tracks captured pieces, player turns, and game status.
Game State Handling: Save, load, and reset functionality for resuming or restarting matches.
Piece Classes: Each chess piece (Pawn, Rook, Knight, Bishop, Queen, King) has its own movement rules implemented through OOP inheritance.
User Input: Drag-and-drop interaction for selecting and moving pieces with validation feedback.
Tech Stack & Skills Demonstrated:
Java (OOP, Data Structures, File Handling)
Swing for GUI development
Event Handling (mouse clicks, drag-and-drop)
Game development principles (state management, move history, error handling)
This project highlights strong object-oriented design, problem-solving, and GUI programming skills, making it a great showcase of both software engineering and game development expertise