An open API service indexing awesome lists of open source software.

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.

Awesome Lists containing this project

README

          

# Chessin
![Untitled video - Made with Clipchamp (2)](https://github.com/user-attachments/assets/dd4d4e1b-d216-4879-9fcd-e0f50ffa0079)

**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