A complete implementation of the classic game of Chess, written in Python.
This project was built to practice object-oriented programming, algorithmic thinking, and clean code design.
- Full chessboard logic with movement rules for all pieces
- Check, checkmate, and stalemate detection
- Move validation (king cannot move into check)
- Pawn promotion and en passant supported
- Turn-based gameplay directly in the terminal
- Language: Python
- Paradigm: Object-Oriented Programming (OOP)
- Structure: Multiple classes (Board, Piece, King, Queen, etc.)
- Add a Graphical User Interface (GUI) with Tkinter or Pygame
- Implement an AI opponent (e.g., with minimax or stockfish integration)
- Add move history and PGN export
This project was made to practice:
- Python fundamentals and OOP
- Designing algorithms for game rules
- Writing modular, reusable code
- Using Git & GitHub for version control
Clone the repository and run the main file:
git clone https://github.com/<your-username>/<your-repo>.git
cd <your-repo>
python3 main.py