1.0.2 • Published 7 months ago

casino21 v1.0.2

Weekly downloads
-
License
MIT
Repository
-
Last release
7 months ago

Casino 21

This is a robust, TypeScript-based game engine specifically designed to handle the backend logic for Blackjack games. Whether you are building a game, a console application, or even integrating it into chatbots, this library provides the essential functionalities you need.

Features

  • Object-oriented design for easy management of decks, hands, and game states.
  • Extensible and event-driven architecture for seamless integration.
  • Detailed TypeDoc annotations for better code understanding.
  • Handles multiple Blackjack games simultaneously.

Installation

You can install the library via npm:

npm install casino21

Quick Start

First, import the library:

import blackjack from 'casino21';

Then you can initialize the game and add some hands (keep in mind that the dealer hand will automatically be created)

const game = new blackjack();

game.createNewHand()

//Optionally you can assign a bet to the hand constructor so that you can use double down and split!
game.createNewHand(10);

//On top of that you can assign a string identifier to the hand so that you can know whows hand is currently being used
game.createNewHand(10, 'A string identifier here!');

Now we can listen for events happening!

The first event that is good to listen for is the dealer hand busting!

game.dealerHand.on('bust', () => {
    console.log('Dealer hand has busted and everyone else who has not yet busted wins!');
})

Now we can listen for

import { HandStatus } from 'casino21'

game.on('end', (hands) => {
    const {winningHands, losingHands, tiedHands} = hands;
    
    //From this we can determaine what exactly happended to the hands
    if(winningHands[0].status === HandStatus.Stand) {
        console.log(`${winningHands[0].identifier || 'winningHand1'} won the game because the `)
    }
    //If a hand exists on the winningHands 
})
1.0.2

7 months ago

1.0.1

7 months ago

1.0.0

7 months ago