Skip to content

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.

License

Notifications You must be signed in to change notification settings

1HashCode/Chessin-A-java-chess-Engine

Repository files navigation

Chessin

Untitled video - Made with Clipchamp (2)

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

About

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.

Topics

Resources

License

Stars

Watchers

Forks

Languages