1.1.2 • Published 1 year ago
cardcrafter-js v1.1.2
CardCrafterJs
CardCrafterJs is a JavaScript package for creating and manipulating card games. It allows you to generate decks of cards, shuffle cards and deal cards
Installation
You can install CardCrafterJs via :
npm i --save cardcrafter-jsExample
Here is a basic example for using CardCrafterJs :
Card
import { Card, CARD_SUIT, CARD_VALUE } from 'cardcrafter-js';
// Create a new card
const card = new Card(CARD_SUIT.SPADE, CARD_VALUE.ACE)
console.log(newCard)
// Get Suit and Value
console.log(card.suit) // Output: SPADE
console.log(card.value) // Output: ACEDeck
import { Deck } from 'cardcrafter-js';
// Create a new deck
const deck = new Deck();
// Shuffle the deck
deck.shuffleDeck();
// Deal a card
const card = deck.drawCard();
console.log(`${card.value} of ${card.suit}`);
// Reset a deck
deck.resetDeck()
// Initialise deck with other deck
const deck = new Deck();
for (let i = 0; i < 20; i++) {
deck.drawCard();
}
// deck.getDeck().length is now 32
const newDeck = new Deck({ deck: deck.getDeck() });
// newDeck.getDeck().length is 32 too
// Initialise deck with 2 jokers
const deck = new Deck({withJokers: true});API
Card
new Card(): Creates a new card.Card.value: The value of the card (for example, "2", "3", "JACK", "QUEEN", "KING", "ACE").Card.suit: The color of the card (for example, "HEART", "DIAMOND", "CLUB", "SPADE").
Énumérations
CARD_SUIT
CLUBDIAMONDHEARTSPADE
CARD_SUIT For Joker
REDBLACK
CARD_VALUE
TWOTHREEFOURFIVESIXSEVENEIGHTNINETENJACKQUEENKINGACEJOKER
Deck
new Deck(): Creates a new deck.deck.shuffleDeck(): Shuffles the deck.deck.drawCard(): Draws a card from the top of the deck.deck.resetDeck(): Resets the deck
Tests
Run all tests: npm run test
Example output:
> cardcrafter-js@1.1.0 test
> jest --verbose
PASS src/__tests__/card.test.ts
Card
√ Create a new card (6 ms)
PASS src/__tests__/deck.test.ts
Deck
√ Generate new Deck with 52 unique cards (6 ms)
√ Generate new Deck and shuffle (1 ms)
√ Generate new Deck and draw a card
√ Generate new Deck and draw all cards
√ Generate new Deck and draw all cards, then reset (1 ms)
√ Generate a new deck from another
√ Generate new Deck with Jokers (1 ms)
Test Suites: 2 passed, 2 total
Tests: 8 passed, 8 total
Snapshots: 0 total
Time: 2.659 s
Ran all test suites.Contribute
Contributions are welcome! Please submit a pull request or open an issue to discuss the changes you would like to make.
Licence
This project is under the MIT license. See the LICENSE file for details.