module Tak.Init ( initialState, emptyBoard, initialPlayer ) where import Data.Matrix import Tak.Types initialState :: Int -> Colour -> GameState initialState size playsFirst = GameState { stBoard = emptyBoard size, stWhite = initialPlayer size, stBlack = initialPlayer size, stFinished = Nothing, stPlaysNext = playsFirst, stNextTurn = 1 } emptyBoard :: Int -> Board emptyBoard size = matrix size size (\ _ -> []) initialPlayer :: Int -> Player initialPlayer 3 = Player 0 10 initialPlayer 4 = Player 0 15 initialPlayer 5 = Player 1 21 initialPlayer 6 = Player 1 30 initialPlayer 7 = Player 2 40 initialPlayer 8 = Player 2 50 initialPlayer i = error $ "No rules for board size " ++ show i