blackjack-n-deck v1.0.1
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.