Alpha-beta search algorithm with killer-move and history heuristics
For one of my modules, Artificial Intelligence for games and puzzles, I implemented a native iOS app of a game called Yavalath. The main focus of the assignment was to implement the algorithms for the computer player (an alpha-beta search algorithm with killer-move and history heuristics). The GUI was not required but I decided to implement a very simple interface for learning purposes.
The following screenshots show: 1) the state of the board after five turns have been played, and 2) the final state when one of the players has won βin this case the computer player represented by the red pieces.
The main logic of the game is in the file GameScene.swift.
To run the project XCode 8 or greater is needed.