Skip to content

An implementation of Checker game using Minimax with Alpha Beta Pruning and Search Tree

Notifications You must be signed in to change notification settings

ZhekaiJin/AI-Checker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AI Checker

Description

A checker program with the option of a PC player or a human player on both ends. The PC player use the iterative deepening & minimax alpha-beta search on the whole legal moves on the board and try to pick the best move against the other player.

Demo

Watch AI Checker in action
AI checker in acion (click on the image to view the full video)

Dependency

  • CMAKE 3.0
  • MAKE

Usage

./checker
Follow the Prompt

Build

git clone https://github.com/ZhekaiJin/AI-Checker.git
cd AI-Checker/
mkdir build && cd build
cmake .. && make 
./checker

Clear Build

cd AI-Checker/
rm -rf build

Structure

Agent class

alt text

Checker class

alt text

Heuristic Ideas Applied

Clear Difference

  1. if the board has no piece left for one, set his score to be minimum and his opponent score to be maximum.
  2. if the board has no legal left for one, set his score to be minimum and his opponent score to be maximum.

Zero Sum score

  1. Each player will have a postive base score of 300.
  2. King is worth 1.6 and the Normal one worth 1 relatively. [1000 vs 1600]
  3. Deduct point if I am not in the middle of the board.
  4. Add point if I am closer to the enemy peice and I have my square behind me filled with my own piece.
  5. Non-king peive will be awarded to stay in back rank and given incentive to move forward.

About

An implementation of Checker game using Minimax with Alpha Beta Pruning and Search Tree

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published