summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFrederick Yin <fkfd@fkfd.me>2023-01-11 14:04:10 +0800
committerFrederick Yin <fkfd@fkfd.me>2023-01-11 14:04:10 +0800
commitb26b53b25655eee6254ebae446d606b3943d17af (patch)
tree6901abc39e0702f7d0c4c08a51053982fa1572a5
parentc7d4746542303188bcbd081519f3893dc60ecf27 (diff)
Reorder functions in module Game
-rw-r--r--Game.hs22
1 files 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) })