card-games-typescript
Version:
Card deck and high or low game library built with TypeScript
52 lines (51 loc) • 1.66 kB
TypeScript
import { PlayerHighLow } from "./player";
import { DeckOfCards, validNumberOfCards } from "../../Deck";
import { Payoffs, Bet } from "./bet";
export declare class HigherOrLower {
deck: DeckOfCards;
dealer: PlayerHighLow;
players: PlayerHighLow[];
payoffRates: Payoffs;
_numCardsPerHand: number;
constructor(players?: PlayerHighLow[], numCardsPerHand?: number, payoffRates?: Payoffs, shuffleDeck?: boolean, numCardsInDeck?: validNumberOfCards);
get numCardsPerHand(): number;
/**
* sets the number of cards per hand. valid values - [1, 2, 3]
*/
set numCardsPerHand(value: number);
/**
* Function that returns `numCards` cards.
* Side effect - removes cards from deck
*/
drawCards(numCards: number): any[];
/**
* Method to deal cards to all players and dealer.
*
* Side effect - set value of:
* * `this.players[:].cards`
* * `this.dealer.cards`
*/
deal(shuffleDeck?: boolean): void;
/**
* Method to set bets based on array of Bet objects
*
* Side effect - set value of:
* * `this.players[:].bet` - set bet
* * `this.players[:].credit - discount bet.ammount
*/
setBets(bets: Bet[], decreaseCredit?: boolean): void;
/**
* Method do termine if a player is winner,
* based on the players bet, and the players and dealers hands.
*/
isWinner(player: PlayerHighLow): boolean;
/**
* Method to pay rewards to players that win the bet
*/
payoff(accountForDiscount?: boolean): void;
calculateOdds(): {
high: number;
low: number;
draw: number;
};
}