Chessin is a fully functional chess engine developed in pure Java. The project includes a graphical user interface (GUI), game logic, and an AI engine capable of playing chess against a human opponent. The AI engine uses advanced algorithms such as minimax search, alpha-beta pruning, and move ordering to provide a challenging experience.
- Graphical User Interface (GUI): A simple and intuitive interface for playing chess.
- Game Logic: This program implements all standard chess rules, including castling, en passant, and pawn promotion.
- AI Engine:
- Minimax Search: Explores possible moves to a certain depth to choose the optimal move.
- Alpha-Beta Pruning: Optimizes the minimax search by pruning branches that won't affect the final decision, increasing efficiency.
- Move Ordering: Sorts moves to evaluate more promising moves first, further optimizing the search process.
- Clone the repository and get it in your local machine
- Launch the application from the mainMehtodCall package.
- You can play against the AI or another player locally.
- The game will display a dialog when it's over, indicating the winner or stalemate.
- Software Architecture and Design -YouTube channel
- Sebastian Lague -YouTube channel -YouTube channel
- Effective Java by Joshua Bloch -The Book
- Head First Design Patterns -The Book