An Intelligent Checkers Player using an Alpha-Beta Depth-First algorithm (designing & implementing 2 heuristic functions)
Build an artificial Checkers player, that can play games against a human opponent. Checkers (or Draughts in British English) is a group of strategy board games for two players which involve diagonal moves of uniform game pieces and mandatory captures by jumping over opponent pieces. Checkers/Draughts developed from alquerque (a.k.a. Qirkat from Arabic: القرقات - a strategy board game that have originated in the Middle East). The most popular form of the game is the American checkers (also called English draughts), played on an 8×8 checkerboard. The General Rules of the Game: Checkers is played by two opponents, on opposite sides of the gameboard. One player has the dark pieces; the other has the light pieces. Players alternate turns. A player may not move an opponent's piece. A move consists of moving a piece diagonally to an adjacent unoccupied square. If the adjacent square contains an opponent's piece, and the square immediately beyond it is vacant, the piece may be captured (and removed from the game) by jumping over it. Only the dark squares of the checkered board are used. A piece may move only diagonally into an unoccupied square. When presented, capturing is mandatory in most official rules and where the player does not capture the opposing player canremove the opponent piece as penalty (or muffin) and where there are two or more such positions the player forfeits that/those he cannot move. Although some rule variations make capturing optional. In almost all variants, the player without pieces remaining, or who cannot move due to being blocked, loses the game