diff options
-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 |