diff options
Diffstat (limited to 'Player.hs')
-rw-r--r-- | Player.hs | 6 |
1 files changed, 6 insertions, 0 deletions
@@ -9,6 +9,12 @@ data Player = Player { name :: String , cards :: [Card] } +-- | Update `i`-th player in `ps` to `p`. +update :: [Player] -> Int -> Player -> [Player] +update ps i p = + let (left, right) = splitAt i ps + in left ++ [p] ++ (tail right) + -- | Same player after shedding card specified. shed :: Player -> Card -> Player shed (Player n p cs) c = Player n p $ L.delete c cs |