hstzaar-0.8: src/AI.hs
-- | 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
)
}