summaryrefslogtreecommitdiff
path: root/Card.hs
diff options
context:
space:
mode:
Diffstat (limited to 'Card.hs')
-rw-r--r--Card.hs10
1 files changed, 10 insertions, 0 deletions
diff --git a/Card.hs b/Card.hs
index c0a13a8..3ba3ce1 100644
--- a/Card.hs
+++ b/Card.hs
@@ -8,6 +8,16 @@ data Rank = Two | Three | Four | Five | Six | Seven | Eight
deriving (Show, Eq, Ord, Enum)
data Card = Card { suit :: Suit, rank :: Rank } deriving (Show, Eq, Ord)
+-- | Pretty print a card.
+showCard :: Card -> String
+showCard (Card st rk) = (show st) ++ " " ++ (rkStr)
+ where rkStr = case rk of
+ Jack -> "J"
+ Queen -> "Q"
+ King -> "K"
+ Ace -> "A"
+ _ -> show $ fromEnum rk + 2
+
-- | Produce one full 52-deck.
fullDeck = [Card st rk | st <- allSuits, rk <- allRanks]
where allSuits = enumFrom $ toEnum 0