Project for CPSC 312
master
branch is protected so, every major change will require a pull request, this is so as to prevent master branch from breaking
ghc
is required to run this project
- Load main module via
:l GameIO
- To start a default game between a Human and AI player(dumb) use
startDefault
- You can start the game with your choice of players with the following command
start [players] <fastMode?>
whereplayers
is a list of length 2 with elements of typePlayer
andfastMode
is a Boolean to specify verbose output or a quick play - A tournament between two players of
n
games can be started usingstartTournament n (p1,p2)
All of these can found in AIPlayer.hs
- Human Player -
human_player
- Choose First Action (Reflex) Player -
unintelligent_player
- Random Action Player -
random_player
- Simple Player (chooses actions in specified order) -
simple_player
- Heuristic Player (uses a heuristic function) -
my_hmm_player
- Smarter Heuristic Player (uses a win sequencing heuristic function) -
smart_player
- Minimax Player (uses the minimax algorithm) -
my_mm_player
- Gui Player with options (uses depth limited minimax with a original heuristic that takes 2 parameters) -
(gui_player_with_options (heuristic_option1, heuristic_option2) depth)
- Gui Player (Gui Player with default options and depth 2) -
gui_player