UNPKG

card-games-typescript

Version:

Card deck and high or low game library built with TypeScript

52 lines (51 loc) 1.66 kB
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; }; }