java-poker-0.1.0.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 

Instances

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 # 

Methods

(==) :: Card -> Card -> Bool #

(/=) :: Card -> Card -> Bool #

Ord Card Source # 

Methods

compare :: Card -> Card -> Ordering #

(<) :: Card -> Card -> Bool #

(<=) :: Card -> Card -> Bool #

(>) :: Card -> Card -> Bool #

(>=) :: Card -> Card -> Bool #

max :: Card -> Card -> Card #

min :: Card -> Card -> Card #

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"

Methods

showsPrec :: Int -> Card -> ShowS #

show :: Card -> String #

showList :: [Card] -> ShowS #

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