From b26b53b25655eee6254ebae446d606b3943d17af Mon Sep 17 00:00:00 2001 From: Frederick Yin Date: Wed, 11 Jan 2023 14:04:10 +0800 Subject: Reorder functions in module Game --- Game.hs | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/Game.hs b/Game.hs index 5de5ce5..99b3486 100644 --- a/Game.hs +++ b/Game.hs @@ -17,6 +17,17 @@ data Game = Game { players :: [Player] , discardPile :: [Card] } +-- | Deal c cards to each player in game. +dealCards :: Int -> Game -> Game +dealCards c game@(Game plyrs _ _ _ _ stock disc) + | (length $ P.cards $ head plyrs) < c = + dealCards c game { players = newPlyrs, stockPile = newStock } + | otherwise = game + where newPlyrs = giveOneCardEach stock plyrs + newStock = drop c stock + giveOneCardEach = + zipWith (\card player -> player { P.cards = card:(P.cards player) }) + -- | Begin `r` rounds of game. beginRounds :: Int -> Bool -> Game -> IO Game beginRounds r auto game = do @@ -127,14 +138,3 @@ automate game@(Game plyrs pidx att _ prev _ _) = then Nothing else Just (head validCards) where validCards = filter (C.isValid prev att) $ P.cards (plyrs !! pidx) - --- | Deal c cards to each player in game. -dealCards :: Int -> Game -> Game -dealCards c game@(Game plyrs _ _ _ _ stock disc) - | (length $ P.cards $ head plyrs) < c = - dealCards c game { players = newPlyrs, stockPile = newStock } - | otherwise = game - where newPlyrs = giveOneCardEach stock plyrs - newStock = drop c stock - giveOneCardEach = - zipWith (\card player -> player { P.cards = card:(P.cards player) }) -- cgit v1.2.3