java-poker-0.1.2.0: The etude of the Haskell programming

Safe HaskellSafe
LanguageHaskell2010

Game.Poker.Cards

Synopsis

Documentation

data Suit Source

4 types of card

>>> Hearts                       -- Show
Hearts
>>> read "Hearts" :: Suit        -- Read
Hearts
>>> Hearts == Hearts             -- Eq
True
>>> Hearts == Spades             -- Eq
False
>>> Hearts < Diamonds            -- Ord
True
>>> succ Hearts                  -- Enum
Diamonds

Constructors

Hearts 
Diamonds 
Clubs 
Spades 

data Card Source

One playing card

>>> Card 1 Hearts == Card 2 Hearts       -- Eq
False
>>> Card 1 Hearts < Card 2 Hearts        -- Ord
True

Instances

Eq Card Source 
Ord Card Source 
Show Card Source

Show typeclass of Card

>>> show $ Card 1 Hearts
"H1_"
>>> show $ Card 14 Diamonds
"DA_"
>>> show $ Card 11 Clubs
"CJ_"
>>> show $ Card 10 Spades
"S10"

allCards :: [Card] Source

All cards

>>> length allCards
52
>>> take 13 $ allCards
[H2_,H3_,H4_,H5_,H6_,H7_,H8_,H9_,H10,HJ_,HQ_,HK_,HA_]
>>> reverse $ take 13 $ reverse allCards
[S2_,S3_,S4_,S5_,S6_,S7_,S8_,S9_,S10,SJ_,SQ_,SK_,SA_]

cardSuit :: Card -> Suit Source

Get Suit from card

>>> cardSuit $ Card 10 Hearts
Hearts

cardNumber :: Card -> Int Source

Get Suit from card

>>> cardNumber $ Card 10 Hearts
10

cardStrength :: Card -> Int Source

Stregnth of card

>>> cardStrength . head $ allCards
2