https://github.com/1hashcode/chessin-a-java-chess-engine
Chessin is a pure Java chess engine with a GUI and AI opponent powered by minimax, alpha-beta pruning, and move ordering for smart gameplay.
https://github.com/1hashcode/chessin-a-java-chess-engine
artificial-intelligence chess-ai design-patterns gui-application java
Last synced: 11 months ago
JSON representation
Chessin is a pure Java chess engine with a GUI and AI opponent powered by minimax, alpha-beta pruning, and move ordering for smart gameplay.
- Host: GitHub
- URL: https://github.com/1hashcode/chessin-a-java-chess-engine
- Owner: 1HashCode
- License: mit
- Created: 2024-08-28T13:08:19.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2024-08-28T14:53:14.000Z (almost 2 years ago)
- Last Synced: 2025-06-14T02:38:13.642Z (about 1 year ago)
- Topics: artificial-intelligence, chess-ai, design-patterns, gui-application, java
- Language: Java
- Homepage:
- Size: 104 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Chessin

**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.
## Features
- **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.
## How to play:
- 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.
## References used for creating the project:
- 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