bacsim
Version:
a baccarat simulator.
52 lines (51 loc) • 1.91 kB
TypeScript
import BaccaratShoe from "./model/collection/BaccaratShoe";
import RecycleShoe from "./model/collection/RecycleShoe";
import HandOutcome from "./model/result/HandOutcome";
import ShoeOutcome from "./model/result/ShoeOutcome";
import PlayerGamer from "./model/gamer/PlayerGamer";
import BankerGamer from "./model/gamer/BankerGamer";
import Config from "./model/config/Config";
import Bet from "./model/bet/Bet";
declare type BetPretreat = (prevBet: Bet | undefined, prevOutcome: HandOutcome | undefined) => Bet;
declare type BetAftertreat = (hcome: HandOutcome) => void;
declare class Engine {
private _player;
private _banker;
private _totalGames;
private _shoe;
private _prevHandOutcome;
private _prevBet;
private _config;
private _handIndex;
private _recycleShoe;
private _isExhausted;
private _hasShutdown;
private _hasShoeCustomised;
get isShoeExhausted(): boolean;
set isShoeExhausted(value: boolean);
shutdown(): void;
powerOn(config?: Config): void;
private config;
initializeDecks(): void;
playOneShoe(beforeBet?: BetPretreat, afterBet?: BetAftertreat): ShoeOutcome;
private _parseComeout2BeadEntity;
private recycleCardToShoe;
private prepareShoe;
resetGameIndex(): void;
insertBlackCard(): void;
playOneHand(): HandOutcome;
private _parseTage;
getRecycleShoe(): RecycleShoe;
playerDraw(): void;
bankerDraw(): void;
getShoe(): BaccaratShoe;
getPreviousHandOutcome(): HandOutcome | undefined;
getPlayer(): PlayerGamer;
getBanker(): BankerGamer;
shouldPlayerDraw(currentScore: number): boolean;
shouldBankerDraw(playerHit: boolean, bankerScore: number, playerLastScore: number): boolean;
getGameIndex(): number;
increaseGameIndex(): number;
getPreviousBet(): Bet | undefined;
}
export default Engine;