1.0.3 • Published 2 years ago

@virtuoid/decks v1.0.3

Weekly downloads
-
License
MIT
Repository
github
Last release
2 years ago

Fun With JavaScript - 'Deck' classes

This repository is for the 'Dwck' classes used in the Fun with JavaScript series.

Versions

1.0.3 : Modified to match tests 1.0.2 : Initial Version

Installation

npm install --save @virtuoid/decks

Dependencies

@virtuoid/cards for the base Card class.

uuid for unique IDs.

All cards within this deck must have as its base the Card class.

Usage

There is currently 1 Deck class associated with this repository:

Base Class (Deck)

import { Deck } from '@virtuoid/decks';
import { Card } from '@virtuoid/cards'; // this can be any class that extends 'Card'

const deck = new Deck([
	new Card({ suit: 'Clubs', rank: 'A', value: 1 }),
	new Card({ suit: 'Diamonds', rank: 'A', value: 1 }),
	new Card({ suit: 'Hearts', rank: 'A', value: 1 }),
	new Card({ suit: 'Spades', rank: 'A', value: 1 })
]);

Properties

NameR/WTypeDescription
idROstringThe ID for this deck
cardCountROnumberThe number of cards within the collection

Methods

NameReturnsDescription
getSuit(Card.suit)ArrayReturns collection of all cards that match the given suit, or empty collection.
getRank(Card.rank)ArrayReturns collection of all cards that match the given rank, or empty collection.
getValue(Card.value)ArrayReturns collection of all cards that match the given value, or empty collection.
getComparison(Card card)ArrayReturns collection of all cards that match the given card, using the card's compare() method
findCard(Card card)numberReturns index of card in deck, otherwise -1
add(Card card)undefinedAdds a card to the deck. The card is placed as the last card in the deck
remove()CardRemoves the top card from the deck. Returns undefined if no cards are in the deck.
remove(number cardPosition)CardRemoves a card from the deck based upon the position of the card given in the argument. Returns undefined if the card position is invalid
remove(Card card)CardRemoves the card specified in the argument. Returns undefined if the card cannot be found.
shuffle()undefinedShuffles the cards
deal(Deck deck)undefinedDeals a single card from the current deck to the deck in the argument. The card dealt is the top-most card in the collection (index = 0)

Classes

As time goes on, more 'Deck' classes will be added to this repository. These directions will be updated as they are added.

Github

https://github.com/TheVirtuoid/fwjs-deck
1.0.3

2 years ago

1.0.2

2 years ago