Skip to content

Latest commit

 

History

History
14 lines (11 loc) · 1.32 KB

README.md

File metadata and controls

14 lines (11 loc) · 1.32 KB

Halma Game

Black First: https://youtu.be/RYAiMHjZc_U
White First: https://youtu.be/Xx4ooBiD0dY

Description

In this project, we will play the game of Halma, an adversarial game with some similarities to checkers. The game uses a 16x16 checkered gameboard. Each player starts with 19 game pieces clustered in diagonally opposite corners of the board. To win the game, a player needs to transfer all of their pieces from their starting corner to the opposite corner, into the positions that were initially occupied by the opponent. Note that this original rule of the game is subject to spoiling, as a player may choose to not move some pieces at all, thereby preventing the opponent from occupying those locations. Note that the spoiling player cannot win either (because some pieces remain in their original corner and thus cannot be used to occupy all positions in the opposite corner). Here, to prevent spoiling, we modify the goal of the game to be to occupy all of the opponent’s starting positions which the opponent is not still occupying. See http://www.cyningstan.com/post/922/unspoiling-halma for more about this rule modification.
In more details (from https://github.com/zli78122/Halma/tree/master/description).

Implementation

  • DFS
  • Minimax Algorithm
  • Alpha-beta Pruning
  • Evaluation Functions