sudo-rushil/elm-cards/2.0.1

NOTE: the latest version is 3.2.0

Deck

Deck types, generators, and manipulating functions

Types

type alias Deck =
List Card

A representation of an arbitrary deck or hand of cards.

Construction

fullSuit : Suit -> Deck

Make a deck of all the cards in a single suit.

Makes the deck in A-K order

fullSuit Spades == [ Card Spades Ace, Card Spades Two, Card Spades Three, Card Spades Four, Card Spades Five, Card Spades Six, Card Spades Seven, Card Spades Eight, Card Spades Nine, Card Spades Ten, Card Spades Jack, Card Spades Queen, Card Spades King ]
fullFace : Face -> Deck

Make a deck of all the cards for a single face.

Makes the deck in standard order.

fullFace Ace == [ Card Spades Ace, Card Diamonds Ace, Card Clubs Ace, Card Hearts Ace ]
fullDeck : Deck

A full 52-card deck in standard order.

fullDeck == [ Card Spades Ace, Card Spades Two, ... ]
randomDeck : Generator Deck

A 52-card deck in randomly shuffled order.

type Msg = ShuffleDeck Deck
Random.generate ShuffleDeck randomDeck

Manipulation

appendCard : Card -> Deck -> Deck

Add a card to the end of the deck.

appendCard (Card Spades Ace) [ Card Spades Three, Card Spades Two ] == [ Card Spades Three, Card Spades Two, Card Spades Ace ]