UNPKG

slotify.js

Version:

A video slot game session framework for JavaScript

58 lines (57 loc) 2.84 kB
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; }