-- | Library of AI Players module AI (aiPlayers) where import Board import AI.Utils import AI.Minimax import AI.Eval -- all AI players; default AI is the first one aiPlayers :: [(String,AI)] aiPlayers = [("level0",level0), ("level1",level1), ("level2",level2)] level0 = AI { name = "Level 0" , description = "Minimax alpha-beta depth 2 (eval0)" , strategy = minimaxStrategy 2 eval0 } level1 = AI { name = "Level 1" , description = "Minimaxing alpha-beta depth 2 (eval1)" , strategy = minimaxStrategy 2 eval1 } level2 = AI { name = "Level 2" , description = "Minimaxing alpha-beta depth 2-4 (eval1)" , strategy = (withNPieces $ \numpieces -> if numpieces<30 then minimaxStrategy 4 eval1 else minimaxStrategy 2 eval1 ) }