typedeck
typedeck copied to clipboard
TypeScript library for playing cards
TypeDeck
A TypeScript library for playing cards.
Getting Started
- See the documentation.
- Examples on RunKit.
- Includes examples on extending classes and using common components!
- See code on GitHub.
- Try it out in your project!
Features
typedeck gives you types and classes to help jumpstart your card-based game.
- Card
- Simple card classes (
PlayingCard/JokerCard)
- Simple card classes (
- Chip
- Provided Chip classes and standard values
- Values can be overridden, and custom Chip classes
- Provided Chip classes and standard values
- 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 playerCardPile- cards that are frequently drawn from or added toDeck- extension ofCardPilewith additional game-time helpers
- Classes that represent multiple cards as a logical item.
- Services
- Shuffle
- Shuffle any
ICardimplementation
- Shuffle any
- 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
- Shuffle
- 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