diff options
author | Frederick Yin <fkfd@fkfd.me> | 2023-01-04 20:47:59 +0800 |
---|---|---|
committer | Frederick Yin <fkfd@fkfd.me> | 2023-01-04 20:47:59 +0800 |
commit | 01148a563d4739573b08f7a2ee80078a90232fd6 (patch) | |
tree | ce505b859668b17270cc65d28957e9e9ad95d749 | |
parent | 6a8ff0ff2a09e7fe896d5fff3dda047bef6d1ced (diff) |
Add showCard
-rw-r--r-- | Card.hs | 10 | ||||
-rw-r--r-- | Main.hs | 4 |
2 files changed, 12 insertions, 2 deletions
@@ -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 @@ -1,6 +1,6 @@ import System.Random (getStdGen) -import Card (fullDecks, shuffle) +import Card (fullDecks, showCard, shuffle) main = do gen <- getStdGen - print $ shuffle gen $ fullDecks 1 + print $ map showCard $ shuffle gen $ fullDecks 2 |