1.0.1 • Published 3 years ago

blackjack-n-deck v1.0.1

Weekly downloads
212
License
MIT
Repository
github
Last release
3 years ago

Blackjack.js

Library for Blackjack and Deck generation.

Blackjack

new Blackjack(bet, amount)
Class for Blackjack game. Requires bet (default=100) argument for money and amount (default=1) argument for more than 52 cards.
Example:

let bj = new Blackjack(100, 1);
// this function will be called every time something happens
bj.event = event => {
	switch(event) {
		case "init": console.log(`Game started!`); break;
		case "hit": console.log(`You hit.`); break;
		case "win": console.log(`You won ${bj.bet}$!`); break;
		case "bust": console.log(`You lost.`); break;
		case "push": console.log(`Push.`); break;
		case "blackjack": console.log(`BLACKJACK!!! +${bj.bet}$!`); break;
	}
	if(event === "win" || event === "push") console.log(`Your cards: ${bj.player.cards.map(i => i.image).join(", ")} (${bj.player.score})\nDealer cards: ${bj.dealer.cards.map(i => i.image).join(", ")} (${bj.dealer.score})`);
	else console.log(`Your cards: ${bj.player.cards.map(i => i.image).join(", ")} (${bj.player.score})\nDealer cards: ${bj.dealer.cards[0].image}, ? (${bj.dealer.score})`);
};
bj.init();
// playing
bj.hit();
bj.stand();

Blackjack.deck

Game deck (Deck object).

Blackjack.bet

Bet of game. Might change on blackjack or double down. Use it to get win currency amount.

Blackjack.amount

Amount of decks (from argument).

Blackjack.status

0 - playing, 1 - win, 2 - bust, 3 - push.

Blackjack.player

Game player, has .score and .cards properties.

Blackjack.dealer

Game dealer, has .score and .cards properties.

Blackjack.init()

Init game. Should be called after setting up event function.

Blackjack.hit(noEvent)

Hit. noEvent to not get "hit" event.

Blackjack.stand()

Stand.

Blackjack.doubleDown()

Double down. Will affect .bet.

Deck

new Deck(amount)
Class for generating deck of cards. Has amount (default=1) argument for generating more than 52 cards.
Example:

let deck = new Deck();
console.log(deck.cards);

Deck.cards

Shuffled card array.
Every card is an object like this:

{
	full: "Spades Jack"
	image: "♠️J"
	name: "Jack"
	short: "J"
	suit: "♠️"
	suitname: "Spades"
	value: 10
}

Deck.defaultCards

Array used for generating full deck.

Deck.suits

Array with suit symbols.

Deck.amount

Amount of decks (from argument).

Deck.getRandomCard()

Get first card from array.

Deck.getPair()

Get array with 2 cards and their value.
[card1, card2, totalvalue]
If both cards are aces then totalvalue becomes 1 instead of 22.

License

MIT, created by dimden.

1.0.1

3 years ago

1.0.0

4 years ago