Skip to content

Repository files navigation

shuffle

Shuffle is a node.js package for shuffling and dealing decks of cards (or anything else you'd like to shuffle).

NPM

build status

Installation (via npm)

$ npm install shuffle

Quick Start

Using shuffle is simple:

varShuffle=require('shuffle');vardeck=Shuffle.shuffle();varcard=deck.draw();

Alternatively you can draw multiple cards at once:

varhand=deck.draw(5);

You can also use it to deal cards to multiple hands:

varplayer1=[],player2=[],player3=[],player4=[];deck.deal(5,[player1,player2,player3,player4]);

The above deals a card to player #1 then player #2 then player #3 then player #4 then back again to player #1 until each player has five cards.

If you need to reset and reshuffle the deck, it is as easy as:

deck.reset();//sets the deck back to a full 52-card deck, unshuffleddeck.shuffle();

More Stuff

You don't have to shuffle standard playing cards. You can shuffle other stuff too:

varShuffle=require('shuffle');vargoFish=[{color: 'red',number: 1},{color: 'blue',number: 2}, ...];vardeck=Shuffle.shuffle({deck: goFish});

You can also supply your own randomizer so that you can supply a custom seed:

varShuffle=require('shuffle');varsrand=require('srand');//https://github.com/isaacs/node-srand (npm install srand)srand.seed(1000);vardeck=Shuffle.shuffle({random: function(){returnsrand.random();}});

You can also supply number of decks to play with:

varShuffle=require('shuffle');vardeck=Shuffle.shuffle({numberOfDecks: 8});

Other deck methods:

deck.drawFromBottomOfDeck()// 1 carddeck.drawFromBottomOfDeck(5)// array of 5 cardsdeck.drawRandom()// 1 carddeck.drawRandom(5)// array of 5 cardsdeck.putOnTopOfDeck(card)deck.putOnTopOfDeck([card,card,card])deck.putOnBottomOfDeck(card)deck.putOnBottomOfDeck([card,card,card])deck.length// integer (# of cards left in deck)

License

MIT License

Author

Troy Goode (troygoode@gmail.com)

About

node.js package for shuffling and dealing decks of cards (or anything else you'd like to shuffle)

Resources

Stars

39 stars

Watchers

5 watching

Forks

Used by

Contributors

Languages