sudo-rushil/elm-cards/1.0.0

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 1, Card Spades 2, Card Spades 3, Card Spades 4, Card Spades 5, Card Spades 6, Card Spades 7, Card Spades 8, Card Spades 9, Card Spades 10, Card Spades 11, Card Spades 12, Card Spades 13 ]
fullFace : Int -> Deck

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

Makes the deck in standard order.

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

A full 52-card deck in standard order.

fullDeck == [ Card Spades 1, Card Spades 2, ... ]
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 1) [ Card Spades 3, Card Spades 2 ] == [ Card Spades 3, Card Spades 2, Card Spades 1 ]