TypeDeck
A TypeScript library for playing cards.
Getting Started
Features
typedeck
gives you types and classes to help jumpstart your card-based game.
- Card
- Simple card classes (
PlayingCard
/JokerCard
)
- Chip
- Provided Chip classes and standard values
- Values can be overridden, and custom Chip classes
- Declarative Types
CardName
: [Ace, Two, Three, ...]
Suit
: [Clubs, Spades, Diamonds, Hearts]
- Card collections
- Classes that represent multiple cards as a logical item.
Hand
- cards that belong to a player
CardPile
- cards that are frequently drawn from or added to
Deck
- extension of CardPile
with additional game-time helpers
- Services
- Shuffle
- Shuffle any
ICard
implementation
- Poker Hand Scoring
- Texas Hold Em Hand Detection
- Winner scoring/determination
- Chip management
- Taking specific values
- Creating chips from value
- Breaking chips to get specific value
- And so much more ... see the documentation for a full list.
Customization
Most features support parameters that implement either an interface or
a base class. You can create your own type of Card that implements ICard
or
a Chip with special chip color values which extends Chip
base class.
Credits
- Card images by Ben Davis from the Noun Project
- This library package is built from work by Jason Dreyzehner's typescript-starter project. This was the building block for docs, code coverage, and testing (among others).
- Poker hand scoring from @kequc