1.0.0 • Published 10 months ago

deck-manager v1.0.0

Weekly downloads
-
License
ISC
Repository
-
Last release
10 months ago

deckManager

Description

deckManager is a simple, lightweight npm package designed to simulate a card deck. It includes functions to generate a standard 52-card deck, shuffle the deck, pop off the top card, and generate a specified number of random cards. Each card in the deck is represented as a two-character string, with the first character representing the rank (2-10, J, Q, K, A) and the second character representing the suit (H, D, C, S).

Installation

To install this package, use npm:

npm install deckManager

API

generateCards(n)

This function generates n random cards. Each card is represented as a string, with the rank followed by the suit.

Parameters:

  • n (integer): The number of random cards to generate.

Return value:

  • An array of n random card strings.

getUnshuffledDeck()

This function generates an unshuffled 52-card deck. Each card is represented as a string, with the rank followed by the suit.

Parameters:

  • None

Return value:

  • An array of 52 card strings, sorted by suit and then rank.

shuffleCards(cards)

This function shuffles a given array of cards using the Fisher-Yates algorithm.

Parameters:

  • cards (array): An array of card strings to shuffle.

Return value:

  • The input array of cards, shuffled randomly.

popCard(cards)

This function removes the top card from the given deck and returns it.

Parameters:

  • cards (array): An array of card strings.

Return value:

  • The top card string from the input deck. The input deck is modified in-place.

Examples

To use the deckManager package, first import it into your JavaScript file:

const deckManager = require('deckManager');

Then, you can generate a shuffled deck and deal the top card:

let deck = deckManager.getUnshuffledDeck();
deck = deckManager.shuffleCards(deck);
const topCard = deckManager.popCard(deck);

Or generate a set of five random cards:

const randomCards = deckManager.generateCards(5);

Contribute

Contributions are always welcome!

1.0.0

10 months ago