shufflecom-calculations 6.2.0 → 6.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/games/floor-is-lava/floor-is-lava-autobet.d.ts +22 -0
- package/lib/games/floor-is-lava/floor-is-lava-autobet.js +87 -0
- package/lib/games/floor-is-lava/floor-is-lava-autobet.js.map +1 -0
- package/lib/games/floor-is-lava/floor-is-lava-board.d.ts +3 -1
- package/lib/games/floor-is-lava/floor-is-lava-board.js +7 -0
- package/lib/games/floor-is-lava/floor-is-lava-board.js.map +1 -1
- package/lib/games/floor-is-lava/floor-is-lava-rules.d.ts +26 -4
- package/lib/games/floor-is-lava/floor-is-lava-rules.js +42 -2
- package/lib/games/floor-is-lava/floor-is-lava-rules.js.map +1 -1
- package/lib/index.d.ts +1 -0
- package/lib/index.js +1 -0
- package/lib/index.js.map +1 -1
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/package.json +2 -2
- package/src/games/floor-is-lava/floor-is-lava-autobet.spec.ts +341 -0
- package/src/games/floor-is-lava/floor-is-lava-autobet.ts +118 -0
- package/src/games/floor-is-lava/floor-is-lava-board.spec.ts +18 -0
- package/src/games/floor-is-lava/floor-is-lava-board.ts +12 -4
- package/src/games/floor-is-lava/floor-is-lava-rules.ts +70 -4
- package/src/index.ts +2 -1
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { FloorIsLavaBoard } from './floor-is-lava-board';
|
|
2
|
+
import { FloorIsLavaAutoBetAction, FloorIsLavaDifficulty, type FloorIsLavaTilesByLevel } from './floor-is-lava-rules';
|
|
3
|
+
export type FloorIsLavaAutoBetPlanError = 'no-tiles-selected' | 'too-many-tiles-selected' | 'incomplete-level-plan' | 'invalid-tile';
|
|
4
|
+
export type FloorIsLavaAutoBetPlanResult = {
|
|
5
|
+
ok: true;
|
|
6
|
+
plannedTiles: number[];
|
|
7
|
+
} | {
|
|
8
|
+
ok: false;
|
|
9
|
+
error: FloorIsLavaAutoBetPlanError;
|
|
10
|
+
};
|
|
11
|
+
export type FloorIsLavaAutoBetError = FloorIsLavaAutoBetPlanError | 'no-rounds-played' | 'no-tiles-remaining';
|
|
12
|
+
export type FloorIsLavaAutoBetResult = {
|
|
13
|
+
ok: true;
|
|
14
|
+
gameAction: FloorIsLavaAutoBetAction;
|
|
15
|
+
} | {
|
|
16
|
+
ok: false;
|
|
17
|
+
error: FloorIsLavaAutoBetError;
|
|
18
|
+
};
|
|
19
|
+
export declare class FloorIsLavaAutobet {
|
|
20
|
+
static validateAutoBetPlan(difficulty: FloorIsLavaDifficulty, selectedTilesByLevel: FloorIsLavaTilesByLevel): FloorIsLavaAutoBetPlanResult;
|
|
21
|
+
static autoBet(difficulty: FloorIsLavaDifficulty, selectedTilesByLevel: FloorIsLavaTilesByLevel, board: FloorIsLavaBoard, edge: number): FloorIsLavaAutoBetResult;
|
|
22
|
+
}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.FloorIsLavaAutobet = void 0;
|
|
7
|
+
const bignumber_js_1 = __importDefault(require("bignumber.js"));
|
|
8
|
+
const floor_is_lava_1 = require("./floor-is-lava");
|
|
9
|
+
const floor_is_lava_rules_1 = require("./floor-is-lava-rules");
|
|
10
|
+
class FloorIsLavaAutobet {
|
|
11
|
+
static validateAutoBetPlan(difficulty, selectedTilesByLevel) {
|
|
12
|
+
const { roundsPerLevel } = floor_is_lava_rules_1.DIFFICULTY_LEVEL_MAP[difficulty];
|
|
13
|
+
if (selectedTilesByLevel.some(tiles => tiles.length > roundsPerLevel)) {
|
|
14
|
+
return { ok: false, error: 'too-many-tiles-selected' };
|
|
15
|
+
}
|
|
16
|
+
const firstUnfinishedLevel = selectedTilesByLevel.findIndex(tiles => tiles.length < roundsPerLevel);
|
|
17
|
+
if (firstUnfinishedLevel !== -1 && selectedTilesByLevel.slice(firstUnfinishedLevel + 1).some(tiles => tiles.length > 0)) {
|
|
18
|
+
return { ok: false, error: 'incomplete-level-plan' };
|
|
19
|
+
}
|
|
20
|
+
const plannedTiles = selectedTilesByLevel.flat();
|
|
21
|
+
if (plannedTiles.length === 0) {
|
|
22
|
+
return { ok: false, error: 'no-tiles-selected' };
|
|
23
|
+
}
|
|
24
|
+
if (plannedTiles.some(tile => !floor_is_lava_rules_1.FloorIsLavaRules.isValidTile(tile))) {
|
|
25
|
+
return { ok: false, error: 'invalid-tile' };
|
|
26
|
+
}
|
|
27
|
+
return { ok: true, plannedTiles };
|
|
28
|
+
}
|
|
29
|
+
static autoBet(difficulty, selectedTilesByLevel, board, edge) {
|
|
30
|
+
const plan = FloorIsLavaAutobet.validateAutoBetPlan(difficulty, selectedTilesByLevel);
|
|
31
|
+
if (!plan.ok) {
|
|
32
|
+
return plan;
|
|
33
|
+
}
|
|
34
|
+
const history = [floor_is_lava_1.FloorIsLava.createAction(difficulty)];
|
|
35
|
+
const droppedTilesByLevel = [[], [], []];
|
|
36
|
+
let multiplier = (0, bignumber_js_1.default)(0);
|
|
37
|
+
let level = 0;
|
|
38
|
+
let stopReason = floor_is_lava_rules_1.FloorIsLavaAutoBetStopReason.SELECTIONS_EXHAUSTED;
|
|
39
|
+
for (const selectedTile of plan.plannedTiles) {
|
|
40
|
+
const result = floor_is_lava_1.FloorIsLava.fromActions(history).next(selectedTile, board, edge);
|
|
41
|
+
if (!result.ok) {
|
|
42
|
+
switch (result.error) {
|
|
43
|
+
case 'tile-already-dropped':
|
|
44
|
+
stopReason = floor_is_lava_rules_1.FloorIsLavaAutoBetStopReason.TILE_ALREADY_DROPPED;
|
|
45
|
+
break;
|
|
46
|
+
case 'no-tiles-remaining':
|
|
47
|
+
case 'invalid-tile':
|
|
48
|
+
return { ok: false, error: result.error };
|
|
49
|
+
default:
|
|
50
|
+
return result.error;
|
|
51
|
+
}
|
|
52
|
+
break;
|
|
53
|
+
}
|
|
54
|
+
const { gameAction } = result;
|
|
55
|
+
history.push(gameAction);
|
|
56
|
+
droppedTilesByLevel[gameAction.level].push(...gameAction.droppedTiles);
|
|
57
|
+
level = gameAction.level;
|
|
58
|
+
multiplier = gameAction.multiplier;
|
|
59
|
+
if (gameAction.gameStatus === floor_is_lava_rules_1.FloorIsLavaGameStatus.LOST) {
|
|
60
|
+
stopReason = floor_is_lava_rules_1.FloorIsLavaAutoBetStopReason.LOST;
|
|
61
|
+
break;
|
|
62
|
+
}
|
|
63
|
+
if (gameAction.gameStatus === floor_is_lava_rules_1.FloorIsLavaGameStatus.COMPLETED) {
|
|
64
|
+
stopReason = floor_is_lava_rules_1.FloorIsLavaAutoBetStopReason.COMPLETED;
|
|
65
|
+
break;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
if (history.length === 1) {
|
|
69
|
+
return { ok: false, error: 'no-rounds-played' };
|
|
70
|
+
}
|
|
71
|
+
return {
|
|
72
|
+
ok: true,
|
|
73
|
+
gameAction: {
|
|
74
|
+
phase: floor_is_lava_rules_1.FloorIsLavaActionPhase.AUTO_BET,
|
|
75
|
+
difficulty,
|
|
76
|
+
autoBetSelectedTiles: selectedTilesByLevel,
|
|
77
|
+
autoBetDroppedTiles: droppedTilesByLevel,
|
|
78
|
+
autoBetTilesThatSurviveLevel: board.tilesThatSurviveEachLevel(floor_is_lava_rules_1.SURVIVING_TILES_MAP[difficulty]),
|
|
79
|
+
autoBetStopReason: stopReason,
|
|
80
|
+
level,
|
|
81
|
+
multiplier,
|
|
82
|
+
},
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
exports.FloorIsLavaAutobet = FloorIsLavaAutobet;
|
|
87
|
+
//# sourceMappingURL=floor-is-lava-autobet.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"floor-is-lava-autobet.js","sourceRoot":"","sources":["../../../src/games/floor-is-lava/floor-is-lava-autobet.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import { RandomNumberGenerator } from '../rng/random-number-generator.interface';
|
|
2
|
+
import { type FloorIsLavaTilesByLevel } from './floor-is-lava-rules';
|
|
2
3
|
export declare class FloorIsLavaBoard {
|
|
3
4
|
private readonly levelBoards;
|
|
4
|
-
get boards():
|
|
5
|
+
get boards(): FloorIsLavaTilesByLevel;
|
|
5
6
|
private constructor();
|
|
6
7
|
static draw(generator: RandomNumberGenerator): FloorIsLavaBoard;
|
|
7
8
|
tilesDroppedInRound(level: number, dropsPerRound: number, roundIndex: number): number[];
|
|
8
9
|
tilesThatSurviveLevel(level: number, survivingTilesCount: number): number[];
|
|
10
|
+
tilesThatSurviveEachLevel(survivingTilesCount: number): FloorIsLavaTilesByLevel;
|
|
9
11
|
}
|
|
@@ -35,6 +35,13 @@ class FloorIsLavaBoard {
|
|
|
35
35
|
assertValidLevel(level);
|
|
36
36
|
return this.levelBoards[level].slice(-survivingTilesCount);
|
|
37
37
|
}
|
|
38
|
+
tilesThatSurviveEachLevel(survivingTilesCount) {
|
|
39
|
+
return [
|
|
40
|
+
this.tilesThatSurviveLevel(0, survivingTilesCount),
|
|
41
|
+
this.tilesThatSurviveLevel(1, survivingTilesCount),
|
|
42
|
+
this.tilesThatSurviveLevel(2, survivingTilesCount),
|
|
43
|
+
];
|
|
44
|
+
}
|
|
38
45
|
}
|
|
39
46
|
exports.FloorIsLavaBoard = FloorIsLavaBoard;
|
|
40
47
|
//# sourceMappingURL=floor-is-lava-board.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"floor-is-lava-board.js","sourceRoot":"","sources":["../../../src/games/floor-is-lava/floor-is-lava-board.ts"],"names":[],"mappings":";;;AACA,+
|
|
1
|
+
{"version":3,"file":"floor-is-lava-board.js","sourceRoot":"","sources":["../../../src/games/floor-is-lava/floor-is-lava-board.ts"],"names":[],"mappings":";;;AACA,+DAAwG;AAExG,MAAM,gBAAgB,GAAG,CAAC,KAAa,EAAQ,EAAE;IAC/C,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,2CAAqB,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IAC/E,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CAAC,+BAA+B,KAAK,oBAAoB,2CAAqB,GAAG,CAAC,CAAC;IACpG,CAAC;AACH,CAAC,CAAC;AAEF,MAAa,gBAAgB;IAG3B,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED,YAAoB,SAAgC;QAClD,MAAM,GAAG,GAAG,SAAS,CAAC,+BAA+B,CAAC;YACpD,GAAG,EAAE,CAAC;YACN,GAAG,EAAE,gCAAU,GAAG,2CAAqB,GAAG,CAAC;YAC3C,KAAK,EAAE,gCAAU,GAAG,2CAAqB;SAC1C,CAAC,CAAC;QAEH,MAAM,MAAM,GAA4B,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QACrD,KAAK,MAAM,KAAK,IAAI,GAAG,EAAE,CAAC;YACxB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,gCAAU,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,gCAAU,CAAC,CAAC;QAClE,CAAC;QACD,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC;IAC5B,CAAC;IAEM,MAAM,CAAC,IAAI,CAAC,SAAgC;QACjD,OAAO,IAAI,gBAAgB,CAAC,SAAS,CAAC,CAAC;IACzC,CAAC;IAEM,mBAAmB,CAAC,KAAa,EAAE,aAAqB,EAAE,UAAkB;QACjF,gBAAgB,CAAC,KAAK,CAAC,CAAC;QACxB,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,UAAU,GAAG,aAAa,EAAE,CAAC,UAAU,GAAG,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC;IACrG,CAAC;IAEM,qBAAqB,CAAC,KAAa,EAAE,mBAA2B;QACrE,gBAAgB,CAAC,KAAK,CAAC,CAAC;QACxB,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,mBAAmB,CAAC,CAAC;IAC7D,CAAC;IAEM,yBAAyB,CAAC,mBAA2B;QAC1D,OAAO;YACL,IAAI,CAAC,qBAAqB,CAAC,CAAC,EAAE,mBAAmB,CAAC;YAClD,IAAI,CAAC,qBAAqB,CAAC,CAAC,EAAE,mBAAmB,CAAC;YAClD,IAAI,CAAC,qBAAqB,CAAC,CAAC,EAAE,mBAAmB,CAAC;SACnD,CAAC;IACJ,CAAC;CACF;AA1CD,4CA0CC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import BigNumber from 'bignumber.js';
|
|
2
2
|
export declare const BOARD_SIZE = 49;
|
|
3
|
-
export
|
|
3
|
+
export type FloorIsLavaTilesByLevel = [number[], number[], number[]];
|
|
4
|
+
export declare const LEVELS_PER_DIFFICULTY: FloorIsLavaTilesByLevel['length'];
|
|
4
5
|
export declare enum FloorIsLavaDifficulty {
|
|
5
6
|
EASY = "EASY",
|
|
6
7
|
MEDIUM = "MEDIUM",
|
|
@@ -16,7 +17,8 @@ export declare const SURVIVING_TILES_MAP: Readonly<Record<FloorIsLavaDifficulty,
|
|
|
16
17
|
export declare enum FloorIsLavaActionPhase {
|
|
17
18
|
START = "START",
|
|
18
19
|
PICK = "PICK",
|
|
19
|
-
CASHOUT = "CASHOUT"
|
|
20
|
+
CASHOUT = "CASHOUT",
|
|
21
|
+
AUTO_BET = "AUTO_BET"
|
|
20
22
|
}
|
|
21
23
|
export declare enum FloorIsLavaGameStatus {
|
|
22
24
|
IN_PROGRESS = "IN_PROGRESS",
|
|
@@ -36,17 +38,34 @@ export type FloorIsLavaPickAction = {
|
|
|
36
38
|
gameStatus: FloorIsLavaGameStatus;
|
|
37
39
|
multiplier: BigNumber;
|
|
38
40
|
};
|
|
41
|
+
export declare enum FloorIsLavaAutoBetStopReason {
|
|
42
|
+
LOST = "LOST",
|
|
43
|
+
COMPLETED = "COMPLETED",
|
|
44
|
+
TILE_ALREADY_DROPPED = "TILE_ALREADY_DROPPED",
|
|
45
|
+
SELECTIONS_EXHAUSTED = "SELECTIONS_EXHAUSTED"
|
|
46
|
+
}
|
|
47
|
+
export interface FloorIsLavaAutoBetAction {
|
|
48
|
+
phase: FloorIsLavaActionPhase.AUTO_BET;
|
|
49
|
+
difficulty: FloorIsLavaDifficulty;
|
|
50
|
+
autoBetSelectedTiles: FloorIsLavaTilesByLevel;
|
|
51
|
+
autoBetDroppedTiles: FloorIsLavaTilesByLevel;
|
|
52
|
+
autoBetTilesThatSurviveLevel: FloorIsLavaTilesByLevel;
|
|
53
|
+
autoBetStopReason: FloorIsLavaAutoBetStopReason;
|
|
54
|
+
level: number;
|
|
55
|
+
multiplier: BigNumber;
|
|
56
|
+
}
|
|
39
57
|
export interface FloorIsLavaCashoutAction {
|
|
40
58
|
phase: FloorIsLavaActionPhase.CASHOUT;
|
|
41
59
|
level: number;
|
|
42
60
|
multiplier: BigNumber;
|
|
43
61
|
}
|
|
44
62
|
export type FloorIsLavaGameAction = FloorIsLavaStartAction | FloorIsLavaPickAction | FloorIsLavaCashoutAction;
|
|
63
|
+
export type FloorIsLavaStoredAction = FloorIsLavaGameAction | FloorIsLavaAutoBetAction;
|
|
45
64
|
interface FloorIsLavaBaseState {
|
|
46
65
|
difficulty: FloorIsLavaDifficulty;
|
|
47
66
|
currentLevel: number;
|
|
48
67
|
roundsSurvivedInCurrentLevel: number;
|
|
49
|
-
droppedTilesByLevel:
|
|
68
|
+
droppedTilesByLevel: FloorIsLavaTilesByLevel;
|
|
50
69
|
}
|
|
51
70
|
export interface FloorIsLavaInProgressState extends FloorIsLavaBaseState {
|
|
52
71
|
status: 'in-progress';
|
|
@@ -61,9 +80,12 @@ export interface FloorIsLavaMultipliers {
|
|
|
61
80
|
}
|
|
62
81
|
export declare class FloorIsLavaRules {
|
|
63
82
|
static tilesRemaining(roundsSurvivedInCurrentLevel: number, dropsPerRound: number): number;
|
|
83
|
+
static maxAutoBetSelections(difficulty: FloorIsLavaDifficulty): number;
|
|
84
|
+
static roundsPlayedInLevel(difficulty: FloorIsLavaDifficulty, droppedTilesInLevel: number[]): number;
|
|
64
85
|
static isValidTile(tile: number): boolean;
|
|
65
86
|
static multiplier(difficulty: FloorIsLavaDifficulty, levelsCleared: number, tilesRemainingInLevel: number, edge: number): BigNumber;
|
|
66
87
|
static multipliers(state: FloorIsLavaInProgressState, edge: number): FloorIsLavaMultipliers;
|
|
67
|
-
static
|
|
88
|
+
static multiplierAfterRounds(difficulty: FloorIsLavaDifficulty, roundsSurvived: number, edge: number): BigNumber;
|
|
89
|
+
static reconstructState(gameActions: FloorIsLavaStoredAction[]): FloorIsLavaReconstructedState;
|
|
68
90
|
}
|
|
69
91
|
export {};
|
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.FloorIsLavaRules = exports.FloorIsLavaGameStatus = exports.FloorIsLavaActionPhase = exports.SURVIVING_TILES_MAP = exports.DIFFICULTY_LEVEL_MAP = exports.FloorIsLavaDifficulty = exports.LEVELS_PER_DIFFICULTY = exports.BOARD_SIZE = void 0;
|
|
6
|
+
exports.FloorIsLavaRules = exports.FloorIsLavaAutoBetStopReason = exports.FloorIsLavaGameStatus = exports.FloorIsLavaActionPhase = exports.SURVIVING_TILES_MAP = exports.DIFFICULTY_LEVEL_MAP = exports.FloorIsLavaDifficulty = exports.LEVELS_PER_DIFFICULTY = exports.BOARD_SIZE = void 0;
|
|
7
7
|
const bignumber_js_1 = __importDefault(require("bignumber.js"));
|
|
8
8
|
const edge_1 = require("../../utils/edge");
|
|
9
9
|
exports.BOARD_SIZE = 49;
|
|
@@ -35,6 +35,7 @@ var FloorIsLavaActionPhase;
|
|
|
35
35
|
FloorIsLavaActionPhase["START"] = "START";
|
|
36
36
|
FloorIsLavaActionPhase["PICK"] = "PICK";
|
|
37
37
|
FloorIsLavaActionPhase["CASHOUT"] = "CASHOUT";
|
|
38
|
+
FloorIsLavaActionPhase["AUTO_BET"] = "AUTO_BET";
|
|
38
39
|
})(FloorIsLavaActionPhase || (exports.FloorIsLavaActionPhase = FloorIsLavaActionPhase = {}));
|
|
39
40
|
var FloorIsLavaGameStatus;
|
|
40
41
|
(function (FloorIsLavaGameStatus) {
|
|
@@ -43,10 +44,23 @@ var FloorIsLavaGameStatus;
|
|
|
43
44
|
FloorIsLavaGameStatus["COMPLETED"] = "COMPLETED";
|
|
44
45
|
FloorIsLavaGameStatus["LOST"] = "LOST";
|
|
45
46
|
})(FloorIsLavaGameStatus || (exports.FloorIsLavaGameStatus = FloorIsLavaGameStatus = {}));
|
|
47
|
+
var FloorIsLavaAutoBetStopReason;
|
|
48
|
+
(function (FloorIsLavaAutoBetStopReason) {
|
|
49
|
+
FloorIsLavaAutoBetStopReason["LOST"] = "LOST";
|
|
50
|
+
FloorIsLavaAutoBetStopReason["COMPLETED"] = "COMPLETED";
|
|
51
|
+
FloorIsLavaAutoBetStopReason["TILE_ALREADY_DROPPED"] = "TILE_ALREADY_DROPPED";
|
|
52
|
+
FloorIsLavaAutoBetStopReason["SELECTIONS_EXHAUSTED"] = "SELECTIONS_EXHAUSTED";
|
|
53
|
+
})(FloorIsLavaAutoBetStopReason || (exports.FloorIsLavaAutoBetStopReason = FloorIsLavaAutoBetStopReason = {}));
|
|
46
54
|
class FloorIsLavaRules {
|
|
47
55
|
static tilesRemaining(roundsSurvivedInCurrentLevel, dropsPerRound) {
|
|
48
56
|
return exports.BOARD_SIZE - roundsSurvivedInCurrentLevel * dropsPerRound;
|
|
49
57
|
}
|
|
58
|
+
static maxAutoBetSelections(difficulty) {
|
|
59
|
+
return exports.DIFFICULTY_LEVEL_MAP[difficulty].roundsPerLevel * exports.LEVELS_PER_DIFFICULTY;
|
|
60
|
+
}
|
|
61
|
+
static roundsPlayedInLevel(difficulty, droppedTilesInLevel) {
|
|
62
|
+
return droppedTilesInLevel.length / exports.DIFFICULTY_LEVEL_MAP[difficulty].dropsPerRound;
|
|
63
|
+
}
|
|
50
64
|
static isValidTile(tile) {
|
|
51
65
|
return Number.isInteger(tile) && tile >= 0 && tile <= exports.BOARD_SIZE - 1;
|
|
52
66
|
}
|
|
@@ -64,8 +78,31 @@ class FloorIsLavaRules {
|
|
|
64
78
|
nextMultiplier: FloorIsLavaRules.multiplier(difficulty, currentLevel, FloorIsLavaRules.tilesRemaining(roundsSurvivedInCurrentLevel + 1, dropsPerRound), edge),
|
|
65
79
|
};
|
|
66
80
|
}
|
|
81
|
+
static multiplierAfterRounds(difficulty, roundsSurvived, edge) {
|
|
82
|
+
const { dropsPerRound, roundsPerLevel } = exports.DIFFICULTY_LEVEL_MAP[difficulty];
|
|
83
|
+
const levelsCleared = Math.floor(roundsSurvived / roundsPerLevel);
|
|
84
|
+
const roundsInCurrentLevel = roundsSurvived % roundsPerLevel;
|
|
85
|
+
return FloorIsLavaRules.multiplier(difficulty, levelsCleared, FloorIsLavaRules.tilesRemaining(roundsInCurrentLevel, dropsPerRound), edge);
|
|
86
|
+
}
|
|
67
87
|
static reconstructState(gameActions) {
|
|
68
88
|
const first = gameActions[0];
|
|
89
|
+
if ((first === null || first === void 0 ? void 0 : first.phase) === FloorIsLavaActionPhase.AUTO_BET) {
|
|
90
|
+
if (gameActions.length > 1) {
|
|
91
|
+
throw new Error('An AUTO_BET action is the whole game and cannot appear alongside other actions');
|
|
92
|
+
}
|
|
93
|
+
const { roundsPerLevel } = exports.DIFFICULTY_LEVEL_MAP[first.difficulty];
|
|
94
|
+
const roundsPlayed = FloorIsLavaRules.roundsPlayedInLevel(first.difficulty, first.autoBetDroppedTiles[first.level]);
|
|
95
|
+
const lostTheLastRound = first.autoBetStopReason === FloorIsLavaAutoBetStopReason.LOST;
|
|
96
|
+
const roundsSurvived = lostTheLastRound ? roundsPlayed - 1 : roundsPlayed;
|
|
97
|
+
const clearedANonFinalLevel = !lostTheLastRound && roundsSurvived === roundsPerLevel && first.level < exports.LEVELS_PER_DIFFICULTY - 1;
|
|
98
|
+
return {
|
|
99
|
+
status: 'completed',
|
|
100
|
+
difficulty: first.difficulty,
|
|
101
|
+
currentLevel: clearedANonFinalLevel ? first.level + 1 : first.level,
|
|
102
|
+
roundsSurvivedInCurrentLevel: clearedANonFinalLevel ? 0 : roundsSurvived,
|
|
103
|
+
droppedTilesByLevel: first.autoBetDroppedTiles,
|
|
104
|
+
};
|
|
105
|
+
}
|
|
69
106
|
if (!first || first.phase !== FloorIsLavaActionPhase.START) {
|
|
70
107
|
throw new Error('First action must be START');
|
|
71
108
|
}
|
|
@@ -73,7 +110,7 @@ class FloorIsLavaRules {
|
|
|
73
110
|
const { roundsPerLevel } = exports.DIFFICULTY_LEVEL_MAP[difficulty];
|
|
74
111
|
let currentLevel = 0;
|
|
75
112
|
let roundsSurvivedInCurrentLevel = 0;
|
|
76
|
-
const droppedTilesByLevel =
|
|
113
|
+
const droppedTilesByLevel = [[], [], []];
|
|
77
114
|
for (let i = 1; i < gameActions.length; i++) {
|
|
78
115
|
const action = gameActions[i];
|
|
79
116
|
const isLastAction = i === gameActions.length - 1;
|
|
@@ -81,6 +118,9 @@ class FloorIsLavaRules {
|
|
|
81
118
|
case FloorIsLavaActionPhase.START: {
|
|
82
119
|
throw new Error('START action can only appear as the first action');
|
|
83
120
|
}
|
|
121
|
+
case FloorIsLavaActionPhase.AUTO_BET: {
|
|
122
|
+
throw new Error('An AUTO_BET action is the whole game and cannot appear alongside other actions');
|
|
123
|
+
}
|
|
84
124
|
case FloorIsLavaActionPhase.CASHOUT: {
|
|
85
125
|
if (!isLastAction) {
|
|
86
126
|
throw new Error('A CASHOUT action can only appear as the last action');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"floor-is-lava-rules.js","sourceRoot":"","sources":["../../../src/games/floor-is-lava/floor-is-lava-rules.ts"],"names":[],"mappings":";;;;;;AAAA,gEAAqC;AACrC,2CAA2D;AAE9C,QAAA,UAAU,GAAG,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"floor-is-lava-rules.js","sourceRoot":"","sources":["../../../src/games/floor-is-lava/floor-is-lava-rules.ts"],"names":[],"mappings":"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"}
|
package/lib/index.d.ts
CHANGED
|
@@ -35,6 +35,7 @@ export * from './games/coinflip/coinflip-classic';
|
|
|
35
35
|
export * from './games/coinflip/coinflip-classic-progressive';
|
|
36
36
|
export * from './games/coinflip/coinflip-target';
|
|
37
37
|
export * from './games/floor-is-lava/floor-is-lava';
|
|
38
|
+
export * from './games/floor-is-lava/floor-is-lava-autobet';
|
|
38
39
|
export * from './games/floor-is-lava/floor-is-lava-rules';
|
|
39
40
|
export * from './games/floor-is-lava/floor-is-lava-board';
|
|
40
41
|
export * from './games/rng/shuffle-random-number-generator';
|
package/lib/index.js
CHANGED
|
@@ -118,6 +118,7 @@ __exportStar(require("./games/coinflip/coinflip-classic"), exports);
|
|
|
118
118
|
__exportStar(require("./games/coinflip/coinflip-classic-progressive"), exports);
|
|
119
119
|
__exportStar(require("./games/coinflip/coinflip-target"), exports);
|
|
120
120
|
__exportStar(require("./games/floor-is-lava/floor-is-lava"), exports);
|
|
121
|
+
__exportStar(require("./games/floor-is-lava/floor-is-lava-autobet"), exports);
|
|
121
122
|
__exportStar(require("./games/floor-is-lava/floor-is-lava-rules"), exports);
|
|
122
123
|
__exportStar(require("./games/floor-is-lava/floor-is-lava-board"), exports);
|
|
123
124
|
__exportStar(require("./games/rng/shuffle-random-number-generator"), exports);
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|