slotify.js
Version:
A video slot game session framework for JavaScript
58 lines (57 loc) • 2.84 kB
TypeScript
import { IReelGameSessionWinCalculator } from "./IReelGameSessionWinCalculator";
import { IReelGameSessionWinningLineModel } from "./IReelGameSessionWinningLineModel";
import { IReelGameSessionWinCalculatorConfig } from "./IReelGameSessionWinCalculatorConfig";
export declare class ReelGameSessionWinCalculator implements IReelGameSessionWinCalculator {
static createLinesPatterns(reelsNumber: number): number[][];
static getItemsForDirection(items: string[][], direction: number[]): string[];
static getItemsMatchingPattern(items: string[], pattern: number[]): string[];
static getMatchingPattern(items: string[], patterns: number[][], wildItemId?: string): number[];
static isMatchPattern(items: string[], pattern: number[], wildItemId?: string): boolean;
static getWinningItemId(items: string[], pattern: number[], wildItemId?: string): string;
static getWildItemsPositions(items: string[], pattern: number[], wildItemId: string): number[];
static getScatterItemsPositions(items: string[][], scatterItemId: string): number[][];
static getWinningLinesIds(items: string[][], linesDirections: {
[lineId: string]: number[];
}, patterns: number[][], wildItemId?: string): string[];
static getLinesWithSymbol(lines: {
[lineId: string]: IReelGameSessionWinningLineModel;
}, symbolId: string): IReelGameSessionWinningLineModel[];
static getLinesWithDifferentSymbols(lines: {
[lineId: string]: IReelGameSessionWinningLineModel;
}): IReelGameSessionWinningLineModel[];
static isAllLinesHasSameItemId(lines: {
[lineId: string]: IReelGameSessionWinningLineModel;
}): boolean;
static getLinesContainingItem(lines: {
[lineId: string]: IReelGameSessionWinningLineModel;
}, items: string[][], itemId: string): IReelGameSessionWinningLineModel[];
private readonly _config;
private readonly _reelsItemsNumber;
private readonly _reelsNumber;
private readonly _wildItemId;
private readonly _scatters;
private readonly _linesDirections;
private readonly _wildsMultipliers;
private readonly _paytable;
private _items;
private _winningLines;
private _winningScatters;
private readonly _linesPatterns;
private _linesWinning;
private _scattersWinning;
constructor(conf: IReelGameSessionWinCalculatorConfig);
getWinningAmount(): number;
getLinesWinning(): number;
getScattersWinning(): number;
setGameState(bet: number, items: string[][]): void;
getWinningLines(): {
[lineId: string]: IReelGameSessionWinningLineModel;
};
getWinningScatters(): {};
private calculateWinning;
private generateWinningScatters;
private getScatterItemsPositions;
private generateWinningLine;
private getLineWinningAmount;
private getScatterWinningAmount;
}