shufflecom-calculations 4.2.2 → 4.2.4
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-board.d.ts +2 -1
- package/lib/games/floor-is-lava/floor-is-lava-board.js +5 -2
- package/lib/games/floor-is-lava/floor-is-lava-board.js.map +1 -1
- package/lib/games/floor-is-lava/floor-is-lava.d.ts +2 -2
- package/lib/games/floor-is-lava/floor-is-lava.js +5 -6
- package/lib/games/floor-is-lava/floor-is-lava.js.map +1 -1
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/lib/utils/getExternalTxLinkOfChain.js +1 -1
- package/lib/utils/getExternalTxLinkOfChain.js.map +1 -1
- package/package.json +2 -2
- package/src/games/floor-is-lava/floor-is-lava-board.spec.ts +8 -8
- package/src/games/floor-is-lava/floor-is-lava-board.ts +6 -2
- package/src/games/floor-is-lava/floor-is-lava.spec.ts +6 -6
- package/src/games/floor-is-lava/floor-is-lava.ts +8 -8
- package/src/utils/getExternalTxLinkOfChain.ts +1 -1
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { RandomNumberGenerator } from '../rng/random-number-generator.interface';
|
|
2
2
|
export declare class FloorIsLavaBoard {
|
|
3
3
|
private readonly levelBoards;
|
|
4
|
+
get boards(): [number[], number[], number[]];
|
|
4
5
|
private constructor();
|
|
5
6
|
static draw(generator: RandomNumberGenerator): FloorIsLavaBoard;
|
|
6
7
|
tilesDroppedInRound(level: number, dropsPerRound: number, roundIndex: number): number[];
|
|
7
|
-
|
|
8
|
+
tilesThatSurviveLevel(level: number, survivingTilesCount: number): number[];
|
|
8
9
|
}
|
|
@@ -9,6 +9,9 @@ const assertValidLevel = (level) => {
|
|
|
9
9
|
}
|
|
10
10
|
};
|
|
11
11
|
class FloorIsLavaBoard {
|
|
12
|
+
get boards() {
|
|
13
|
+
return this.levelBoards;
|
|
14
|
+
}
|
|
12
15
|
constructor(generator) {
|
|
13
16
|
const raw = generator.getRandomIntsWithoutReplacement({
|
|
14
17
|
min: 0,
|
|
@@ -28,9 +31,9 @@ class FloorIsLavaBoard {
|
|
|
28
31
|
assertValidLevel(level);
|
|
29
32
|
return this.levelBoards[level].slice(roundIndex * dropsPerRound, (roundIndex + 1) * dropsPerRound);
|
|
30
33
|
}
|
|
31
|
-
|
|
34
|
+
tilesThatSurviveLevel(level, survivingTilesCount) {
|
|
32
35
|
assertValidLevel(level);
|
|
33
|
-
return this.levelBoards[level].slice(
|
|
36
|
+
return this.levelBoards[level].slice(-survivingTilesCount);
|
|
34
37
|
}
|
|
35
38
|
}
|
|
36
39
|
exports.FloorIsLavaBoard = FloorIsLavaBoard;
|
|
@@ -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,+DAA0E;AAE1E,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,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,GAAmC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QAC5D,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,
|
|
1
|
+
{"version":3,"file":"floor-is-lava-board.js","sourceRoot":"","sources":["../../../src/games/floor-is-lava/floor-is-lava-board.ts"],"names":[],"mappings":";;;AACA,+DAA0E;AAE1E,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,GAAmC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QAC5D,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;CACF;AAlCD,4CAkCC"}
|
|
@@ -6,7 +6,7 @@ export type FloorIsLavaNextResult = {
|
|
|
6
6
|
ok: true;
|
|
7
7
|
multiplier: BigNumber;
|
|
8
8
|
gameAction: FloorIsLavaPickAction;
|
|
9
|
-
|
|
9
|
+
survivingTilesCount: number;
|
|
10
10
|
} | {
|
|
11
11
|
ok: false;
|
|
12
12
|
error: FloorIsLavaNextError;
|
|
@@ -16,7 +16,7 @@ export type FloorIsLavaCashoutResult = {
|
|
|
16
16
|
ok: true;
|
|
17
17
|
multiplier: BigNumber;
|
|
18
18
|
gameAction: FloorIsLavaCashoutAction;
|
|
19
|
-
|
|
19
|
+
survivingTilesCount: number;
|
|
20
20
|
} | {
|
|
21
21
|
ok: false;
|
|
22
22
|
error: FloorIsLavaCashoutError;
|
|
@@ -43,7 +43,7 @@ class FloorIsLava {
|
|
|
43
43
|
}
|
|
44
44
|
const droppedTiles = board.tilesDroppedInRound(currentLevel, dropsPerRound, roundsSurvivedInCurrentLevel);
|
|
45
45
|
const isLoss = droppedTiles.includes(selectedTile);
|
|
46
|
-
const
|
|
46
|
+
const survivingTilesCount = floor_is_lava_rules_1.SURVIVING_TILES_MAP[difficulty];
|
|
47
47
|
if (isLoss) {
|
|
48
48
|
return {
|
|
49
49
|
ok: true,
|
|
@@ -56,7 +56,7 @@ class FloorIsLava {
|
|
|
56
56
|
gameStatus: floor_is_lava_rules_1.FloorIsLavaGameStatus.LOST,
|
|
57
57
|
multiplier: (0, bignumber_js_1.default)(0),
|
|
58
58
|
},
|
|
59
|
-
|
|
59
|
+
survivingTilesCount,
|
|
60
60
|
};
|
|
61
61
|
}
|
|
62
62
|
const roundsSurvivedAfter = roundsSurvivedInCurrentLevel + 1;
|
|
@@ -84,21 +84,20 @@ class FloorIsLava {
|
|
|
84
84
|
gameStatus,
|
|
85
85
|
multiplier: nextMultiplier,
|
|
86
86
|
},
|
|
87
|
-
|
|
87
|
+
survivingTilesCount,
|
|
88
88
|
};
|
|
89
89
|
}
|
|
90
90
|
cashout(edge) {
|
|
91
91
|
if (!this.canCashout()) {
|
|
92
92
|
return { ok: false, error: 'no-tiles-selected' };
|
|
93
93
|
}
|
|
94
|
-
const { currentLevel,
|
|
95
|
-
const { dropsPerRound } = floor_is_lava_rules_1.DIFFICULTY_LEVEL_MAP[difficulty];
|
|
94
|
+
const { currentLevel, difficulty } = this.state;
|
|
96
95
|
const { currentMultiplier } = floor_is_lava_rules_1.FloorIsLavaRules.multipliers(this.state, edge);
|
|
97
96
|
return {
|
|
98
97
|
ok: true,
|
|
99
98
|
multiplier: currentMultiplier,
|
|
100
99
|
gameAction: { phase: floor_is_lava_rules_1.FloorIsLavaActionPhase.CASHOUT, level: currentLevel, multiplier: currentMultiplier },
|
|
101
|
-
|
|
100
|
+
survivingTilesCount: floor_is_lava_rules_1.SURVIVING_TILES_MAP[difficulty],
|
|
102
101
|
};
|
|
103
102
|
}
|
|
104
103
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"floor-is-lava.js","sourceRoot":"","sources":["../../../src/games/floor-is-lava/floor-is-lava.ts"],"names":[],"mappings":";;;;;;AAAA,gEAAqC;AAErC,+
|
|
1
|
+
{"version":3,"file":"floor-is-lava.js","sourceRoot":"","sources":["../../../src/games/floor-is-lava/floor-is-lava.ts"],"names":[],"mappings":";;;;;;AAAA,gEAAqC;AAErC,+DAc+B;AAc/B,MAAa,WAAW;IACtB,YAAqC,KAAiC;QAAjC,UAAK,GAAL,KAAK,CAA4B;IAAG,CAAC;IAEnE,MAAM,CAAC,YAAY,CAAC,UAAiC;QAC1D,OAAO,EAAE,KAAK,EAAE,4CAAsB,CAAC,KAAK,EAAE,UAAU,EAAE,CAAC;IAC7D,CAAC;IAEM,MAAM,CAAC,WAAW,CAAC,WAAoC;QAC5D,MAAM,KAAK,GAAG,sCAAgB,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;QAC7D,IAAI,KAAK,CAAC,MAAM,KAAK,aAAa,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CAAC,sEAAsE,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;QACzG,CAAC;QACD,OAAO,IAAI,WAAW,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;IAEM,gBAAgB;QACrB,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAEM,cAAc,CAAC,IAAY;QAChC,OAAO,sCAAgB,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACxD,CAAC;IAEM,UAAU;QACf,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,4BAA4B,GAAG,CAAC,CAAC;IACpF,CAAC;IAEM,IAAI,CAAC,YAAoB,EAAE,KAAuB,EAAE,IAAY;QACrE,IAAI,CAAC,sCAAgB,CAAC,WAAW,CAAC,YAAY,CAAC,EAAE,CAAC;YAChD,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC;QAC9C,CAAC;QAED,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,4BAA4B,EAAE,mBAAmB,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;QACnG,MAAM,EAAE,aAAa,EAAE,cAAc,EAAE,GAAG,0CAAoB,CAAC,UAAU,CAAC,CAAC;QAE3E,IAAI,4BAA4B,IAAI,cAAc,EAAE,CAAC;YACnD,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,oBAAoB,EAAE,CAAC;QACpD,CAAC;QAED,IAAI,mBAAmB,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;YAC7D,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,sBAAsB,EAAE,CAAC;QACtD,CAAC;QAED,MAAM,YAAY,GAAG,KAAK,CAAC,mBAAmB,CAAC,YAAY,EAAE,aAAa,EAAE,4BAA4B,CAAC,CAAC;QAC1G,MAAM,MAAM,GAAG,YAAY,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QACnD,MAAM,mBAAmB,GAAG,yCAAmB,CAAC,UAAU,CAAC,CAAC;QAE5D,IAAI,MAAM,EAAE,CAAC;YACX,OAAO;gBACL,EAAE,EAAE,IAAI;gBACR,UAAU,EAAE,IAAA,sBAAS,EAAC,CAAC,CAAC;gBACxB,UAAU,EAAE;oBACV,KAAK,EAAE,4CAAsB,CAAC,IAAI;oBAClC,KAAK,EAAE,YAAY;oBACnB,YAAY;oBACZ,YAAY;oBACZ,UAAU,EAAE,2CAAqB,CAAC,IAAI;oBACtC,UAAU,EAAE,IAAA,sBAAS,EAAC,CAAC,CAAC;iBACzB;gBACD,mBAAmB;aACpB,CAAC;QACJ,CAAC;QAED,MAAM,mBAAmB,GAAG,4BAA4B,GAAG,CAAC,CAAC;QAC7D,MAAM,cAAc,GAAG,mBAAmB,IAAI,cAAc,CAAC;QAC7D,MAAM,YAAY,GAAG,YAAY,KAAK,2CAAqB,GAAG,CAAC,CAAC;QAChE,MAAM,EAAE,cAAc,EAAE,GAAG,sCAAgB,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAE1E,IAAI,UAAiC,CAAC;QACtC,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,UAAU,GAAG,2CAAqB,CAAC,WAAW,CAAC;QACjD,CAAC;aAAM,IAAI,YAAY,EAAE,CAAC;YACxB,UAAU,GAAG,2CAAqB,CAAC,SAAS,CAAC;QAC/C,CAAC;aAAM,CAAC;YACN,UAAU,GAAG,2CAAqB,CAAC,cAAc,CAAC;QACpD,CAAC;QAED,OAAO;YACL,EAAE,EAAE,IAAI;YACR,UAAU,EAAE,cAAc;YAC1B,UAAU,EAAE;gBACV,KAAK,EAAE,4CAAsB,CAAC,IAAI;gBAClC,KAAK,EAAE,YAAY;gBACnB,YAAY;gBACZ,YAAY;gBACZ,UAAU;gBACV,UAAU,EAAE,cAAc;aAC3B;YACD,mBAAmB;SACpB,CAAC;IACJ,CAAC;IAEM,OAAO,CAAC,IAAY;QACzB,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,CAAC;YACvB,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,mBAAmB,EAAE,CAAC;QACnD,CAAC;QAED,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;QAChD,MAAM,EAAE,iBAAiB,EAAE,GAAG,sCAAgB,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAE7E,OAAO;YACL,EAAE,EAAE,IAAI;YACR,UAAU,EAAE,iBAAiB;YAC7B,UAAU,EAAE,EAAE,KAAK,EAAE,4CAAsB,CAAC,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,iBAAiB,EAAE;YACzG,mBAAmB,EAAE,yCAAmB,CAAC,UAAU,CAAC;SACrD,CAAC;IACJ,CAAC;CACF;AA3GD,kCA2GC"}
|