@gamepark/rules-api 6.9.1 → 6.10.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/dist/Action.js +0 -2
- package/dist/Action.js.map +1 -1
- package/dist/DefaultGameSetup.js +1 -1
- package/dist/Dummy.js +1 -1
- package/dist/Rules.js +1 -1
- package/dist/TimeLimit.d.ts +0 -8
- package/dist/material/HiddenMaterialRules.d.ts +2 -2
- package/dist/material/HiddenMaterialRules.js +1 -4
- package/dist/material/HiddenMaterialRules.js.map +1 -1
- package/dist/material/MaterialGameSetup.d.ts +10 -6
- package/dist/material/MaterialGameSetup.js +28 -4
- package/dist/material/MaterialGameSetup.js.map +1 -1
- package/dist/material/MaterialRules.d.ts +1 -1
- package/dist/material/MaterialRules.js +3 -3
- package/dist/material/MaterialRules.js.map +1 -1
- package/dist/material/SecretMaterialRules.d.ts +1 -1
- package/dist/material/SecretMaterialRules.js +1 -1
- package/dist/material/items/Material.d.ts +21 -15
- package/dist/material/items/Material.js +57 -13
- package/dist/material/items/Material.js.map +1 -1
- package/dist/material/items/MaterialDeck.d.ts +7 -0
- package/dist/material/items/MaterialDeck.js +35 -0
- package/dist/material/items/MaterialDeck.js.map +1 -0
- package/dist/material/items/MaterialItem.d.ts +0 -3
- package/dist/material/items/MaterialMutator.js +3 -3
- package/dist/material/items/MaterialMutator.js.map +1 -1
- package/dist/material/location/LocationBuilder.js +1 -1
- package/dist/material/location/strategy/FillGapStrategy.d.ts +0 -3
- package/dist/material/location/strategy/FillGapStrategy.js +1 -4
- package/dist/material/location/strategy/FillGapStrategy.js.map +1 -1
- package/dist/material/location/strategy/PositiveSequenceStrategy.d.ts +0 -3
- package/dist/material/location/strategy/PositiveSequenceStrategy.js +1 -4
- package/dist/material/location/strategy/PositiveSequenceStrategy.js.map +1 -1
- package/dist/material/memory/GameMemory.js +1 -1
- package/dist/material/memory/PlayerMemory.js +1 -1
- package/dist/material/moves/items/ItemMovesBuilder.js +1 -1
- package/dist/material/moves/local/DisplayRules.d.ts +1 -1
- package/dist/material/rules/MaterialRulesMovesBuilder.js +1 -1
- package/dist/material/rules/MaterialRulesPart.js +1 -1
- package/dist/material/rules/PlayerTurnRule.js +1 -1
- package/dist/material/rules/SimultaneousRule.js +1 -1
- package/dist/options/OptionsValidationError.js +1 -1
- package/dist/options/PlayerEnumOption.js +0 -3
- package/dist/options/PlayerEnumOption.js.map +1 -1
- package/dist/utils/isDeadEndMove.util.js +0 -1
- package/dist/utils/isDeadEndMove.util.js.map +1 -1
- package/package.json +2 -2
package/dist/Action.js
CHANGED
|
@@ -27,12 +27,10 @@ function playActionWithViews(rules, move, playerId, recipients, id) {
|
|
|
27
27
|
action: { id: id, playerId: playerId, move: move, consequences: [] },
|
|
28
28
|
views: []
|
|
29
29
|
};
|
|
30
|
-
// Prepare action view for each player
|
|
31
30
|
for (var _i = 0, recipients_1 = recipients; _i < recipients_1.length; _i++) {
|
|
32
31
|
var recipient = recipients_1[_i];
|
|
33
32
|
actionWithView.views.push({ recipient: recipient, action: { id: id, playerId: playerId, move: (0, IncompleteInformation_1.getMoveView)(rules, move, recipient), consequences: [] } });
|
|
34
33
|
}
|
|
35
|
-
// Prepare action view for spectators
|
|
36
34
|
actionWithView.views.push({ action: { id: id, playerId: playerId, move: (0, IncompleteInformation_1.getMoveView)(rules, move), consequences: [] } });
|
|
37
35
|
var consequences = rules.play(JSON.parse(JSON.stringify(move)));
|
|
38
36
|
(0, ApplyAutomaticMoves_1.applyAutomaticMoves)(rules, consequences, function (move) {
|
package/dist/Action.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Action.js","sourceRoot":"","sources":["../src/Action.ts"],"names":[],"mappings":";;;AAAA,2CAA4C;AAE5C,6DAA2D;AAC3D,iEAA4E;AAS5E,SAAgB,QAAQ,CAAuB,KAAkC,EAAE,IAAU;IAC3F,IAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjE,IAAA,yCAAmB,EAAC,KAAK,EAAE,YAAY,CAAC,CAAA;AAC1C,CAAC;AAHD,4BAGC;AAED,SAAgB,UAAU,CAAuB,KAAkC,EAAE,IAAU,EAAE,QAAkB;IACjH,IAAI,IAAA,0BAAa,EAAC,KAAK,CAAC,EAAE;QACxB,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;KAC7B;IAED,IAAM,MAAM,GAA2B,EAAE,QAAQ,UAAA,EAAE,IAAI,MAAA,EAAE,YAAY,EAAE,EAAE,EAAE,CAAA;IAE3E,IAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IAEjE,IAAA,yCAAmB,EAAC,KAAK,EAAE,YAAY,EAAE,UAAA,IAAI,IAAI,OAAA,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAA9B,CAA8B,CAAC,CAAA;IAEhF,OAAO,MAAM,CAAA;AACf,CAAC;AAZD,gCAYC;AAYD,SAAgB,mBAAmB,CACjC,KAAgF,EAAE,IAAU,EAAE,QAAkB,EAAE,UAAsB,EAAE,EAAW;IAGrJ,IAAI,IAAA,0BAAa,EAAC,KAAK,CAAC,EAAE;QACxB,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;KAC7B;IAED,IAAM,cAAc,GAA8C;QAChE,MAAM,EAAE,EAAE,EAAE,IAAA,EAAE,QAAQ,UAAA,EAAE,IAAI,MAAA,EAAE,YAAY,EAAE,EAAE,EAAE;QAChD,KAAK,EAAE,EAAE;KACV,CAAA;
|
|
1
|
+
{"version":3,"file":"Action.js","sourceRoot":"","sources":["../src/Action.ts"],"names":[],"mappings":"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"}
|
package/dist/DefaultGameSetup.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.DefaultGameSetup = void 0;
|
|
4
|
-
var DefaultGameSetup =
|
|
4
|
+
var DefaultGameSetup = (function () {
|
|
5
5
|
function DefaultGameSetup(Rules) {
|
|
6
6
|
this.Rules = Rules;
|
|
7
7
|
}
|
package/dist/Dummy.js
CHANGED
package/dist/Rules.js
CHANGED
|
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
exports.Rules = void 0;
|
|
7
7
|
var fast_deep_equal_1 = __importDefault(require("fast-deep-equal"));
|
|
8
8
|
var Eliminations_1 = require("./Eliminations");
|
|
9
|
-
var Rules =
|
|
9
|
+
var Rules = (function () {
|
|
10
10
|
function Rules(game) {
|
|
11
11
|
this.game = game;
|
|
12
12
|
}
|
package/dist/TimeLimit.d.ts
CHANGED
|
@@ -1,14 +1,6 @@
|
|
|
1
1
|
import { Rules } from './Rules';
|
|
2
2
|
export interface TimeLimit<Game, Move = string, PlayerId = number> extends Rules<Game, Move, PlayerId> {
|
|
3
|
-
/**
|
|
4
|
-
* Amount of time given to a player everytime it is their turn to play.
|
|
5
|
-
* @param playerId Id of the player, if you want to give different time depending of the id for asymmetric games.
|
|
6
|
-
*/
|
|
7
3
|
giveTime(playerId: PlayerId): number;
|
|
8
|
-
/**
|
|
9
|
-
* Amount of time given to a player before the game begins. Default value is 2 minutes.
|
|
10
|
-
* @param playerId Id of the player, if you want to give different time depending of the id for asymmetric games.
|
|
11
|
-
*/
|
|
12
4
|
startingTime?(playerId: PlayerId): number;
|
|
13
5
|
}
|
|
14
6
|
export declare function hasTimeLimit<Game, Move, PlayerId>(rules: Rules<Game, Move, PlayerId>): rules is TimeLimit<Game, Move, PlayerId>;
|
|
@@ -6,8 +6,8 @@ import { MaterialMove, MaterialMoveRandomized, MaterialMoveView } from './moves'
|
|
|
6
6
|
export declare abstract class HiddenMaterialRules<P extends number = number, M extends number = number, L extends number = number> extends MaterialRules<P, M, L> implements IncompleteInformation<MaterialGame<P, M, L>, MaterialMove<P, M, L>, MaterialMove<P, M, L>> {
|
|
7
7
|
private readonly client?;
|
|
8
8
|
constructor(game: MaterialGame<P, M, L>, client?: {
|
|
9
|
-
player?: P;
|
|
10
|
-
});
|
|
9
|
+
player?: P | undefined;
|
|
10
|
+
} | undefined);
|
|
11
11
|
abstract readonly hidingStrategies: Partial<Record<M, Partial<Record<L, HidingStrategy<P, L>>>>>;
|
|
12
12
|
material(type: M): Material<P, M, L>;
|
|
13
13
|
itemsCanMerge(type: M): boolean;
|
|
@@ -50,7 +50,7 @@ var unset_1 = __importDefault(require("lodash/unset"));
|
|
|
50
50
|
var items_1 = require("./items");
|
|
51
51
|
var MaterialRules_1 = require("./MaterialRules");
|
|
52
52
|
var moves_1 = require("./moves");
|
|
53
|
-
var HiddenMaterialRules =
|
|
53
|
+
var HiddenMaterialRules = (function (_super) {
|
|
54
54
|
__extends(HiddenMaterialRules, _super);
|
|
55
55
|
function HiddenMaterialRules(game, client) {
|
|
56
56
|
var _this = _super.call(this, game) || this;
|
|
@@ -163,9 +163,6 @@ var HiddenMaterialRules = /** @class */ (function (_super) {
|
|
|
163
163
|
})) {
|
|
164
164
|
throw new RangeError('You cannot shuffle items with different hiding strategies');
|
|
165
165
|
}
|
|
166
|
-
// TODO: if we shuffle a hand of items partially hidden, we should send the partially visible information to the client.
|
|
167
|
-
// Example: It's a Wonderful World with the Extension: the back face of the player's hand are different
|
|
168
|
-
// => when the hand is shuffled we should see where the expansion cards land.
|
|
169
166
|
return !hiddenPaths.length;
|
|
170
167
|
};
|
|
171
168
|
HiddenMaterialRules.prototype.play = function (move) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HiddenMaterialRules.js","sourceRoot":"","sources":["../../src/material/HiddenMaterialRules.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"HiddenMaterialRules.js","sourceRoot":"","sources":["../../src/material/HiddenMaterialRules.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,17 +1,21 @@
|
|
|
1
|
-
import { MaterialGame } from './MaterialGame';
|
|
2
|
-
import { Material } from './items';
|
|
3
|
-
import { RuleStep } from './rules';
|
|
4
|
-
import { LocationStrategy } from './location';
|
|
5
1
|
import { GameSetup } from '../GameSetup';
|
|
2
|
+
import { Material } from './items';
|
|
3
|
+
import { MaterialGame } from './MaterialGame';
|
|
4
|
+
import { MaterialRules, MaterialRulesCreator } from './MaterialRules';
|
|
6
5
|
import { GameMemory, PlayerMemory } from './memory';
|
|
7
6
|
export declare abstract class MaterialGameSetup<P extends number = number, M extends number = number, L extends number = number, Options = any> implements GameSetup<MaterialGame<P, M, L>, Options> {
|
|
8
|
-
|
|
7
|
+
abstract Rules: MaterialRulesCreator<P, M, L>;
|
|
9
8
|
protected game: MaterialGame<P, M, L>;
|
|
9
|
+
get rules(): MaterialRules<P, M, L>;
|
|
10
10
|
setup(options: Options): MaterialGame<P, M, L>;
|
|
11
11
|
get players(): P[];
|
|
12
12
|
abstract setupMaterial(options: Options): void;
|
|
13
13
|
material(type: M): Material<P, M, L>;
|
|
14
14
|
protected getMemory(player?: P): GameMemory<P> | PlayerMemory<P>;
|
|
15
15
|
memorize<T = any>(key: keyof any, value: T | ((lastValue: T) => T), player?: P): void;
|
|
16
|
-
abstract start(options: Options):
|
|
16
|
+
abstract start(options: Options): void;
|
|
17
|
+
private get rulesMovesBuilder();
|
|
18
|
+
startPlayerTurn<RuleId extends number = number>(id: RuleId, player: P): void;
|
|
19
|
+
startSimultaneousRule<RuleId extends number = number>(id: RuleId, players?: P[]): void;
|
|
20
|
+
startRule<RuleId extends number = number>(id: RuleId): void;
|
|
17
21
|
}
|
|
@@ -1,17 +1,25 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.MaterialGameSetup = void 0;
|
|
4
|
+
var Action_1 = require("../Action");
|
|
4
5
|
var items_1 = require("./items");
|
|
5
6
|
var memory_1 = require("./memory");
|
|
6
|
-
var
|
|
7
|
+
var rules_1 = require("./rules");
|
|
8
|
+
var MaterialGameSetup = (function () {
|
|
7
9
|
function MaterialGameSetup() {
|
|
8
|
-
this.locationsStrategies = {};
|
|
9
10
|
this.game = { players: [], items: {}, memory: {} };
|
|
10
11
|
}
|
|
12
|
+
Object.defineProperty(MaterialGameSetup.prototype, "rules", {
|
|
13
|
+
get: function () {
|
|
14
|
+
return new this.Rules(this.game);
|
|
15
|
+
},
|
|
16
|
+
enumerable: false,
|
|
17
|
+
configurable: true
|
|
18
|
+
});
|
|
11
19
|
MaterialGameSetup.prototype.setup = function (options) {
|
|
12
20
|
this.game = { players: getPlayerIds(options), items: {}, memory: {} };
|
|
13
21
|
this.setupMaterial(options);
|
|
14
|
-
this.
|
|
22
|
+
this.start(options);
|
|
15
23
|
return this.game;
|
|
16
24
|
};
|
|
17
25
|
Object.defineProperty(MaterialGameSetup.prototype, "players", {
|
|
@@ -25,7 +33,7 @@ var MaterialGameSetup = /** @class */ (function () {
|
|
|
25
33
|
if (!this.game.items[type])
|
|
26
34
|
this.game.items[type] = [];
|
|
27
35
|
var items = this.game.items[type];
|
|
28
|
-
var mutator =
|
|
36
|
+
var mutator = this.rules.mutator(type);
|
|
29
37
|
return new items_1.Material(type, Array.from(items.entries()).filter(function (entry) { return entry[1].quantity !== 0; }), function (move) { return mutator.applyMove(mutator.randomize(JSON.parse(JSON.stringify(move)))); });
|
|
30
38
|
};
|
|
31
39
|
MaterialGameSetup.prototype.getMemory = function (player) {
|
|
@@ -34,6 +42,22 @@ var MaterialGameSetup = /** @class */ (function () {
|
|
|
34
42
|
MaterialGameSetup.prototype.memorize = function (key, value, player) {
|
|
35
43
|
this.getMemory(player).memorize(key, value);
|
|
36
44
|
};
|
|
45
|
+
Object.defineProperty(MaterialGameSetup.prototype, "rulesMovesBuilder", {
|
|
46
|
+
get: function () {
|
|
47
|
+
return new rules_1.MaterialRulesMovesBuilder(this.game);
|
|
48
|
+
},
|
|
49
|
+
enumerable: false,
|
|
50
|
+
configurable: true
|
|
51
|
+
});
|
|
52
|
+
MaterialGameSetup.prototype.startPlayerTurn = function (id, player) {
|
|
53
|
+
(0, Action_1.playMove)(this.rules, this.rulesMovesBuilder.startPlayerTurn(id, player));
|
|
54
|
+
};
|
|
55
|
+
MaterialGameSetup.prototype.startSimultaneousRule = function (id, players) {
|
|
56
|
+
(0, Action_1.playMove)(this.rules, this.rulesMovesBuilder.startSimultaneousRule(id, players));
|
|
57
|
+
};
|
|
58
|
+
MaterialGameSetup.prototype.startRule = function (id) {
|
|
59
|
+
(0, Action_1.playMove)(this.rules, this.rulesMovesBuilder.startRule(id));
|
|
60
|
+
};
|
|
37
61
|
return MaterialGameSetup;
|
|
38
62
|
}());
|
|
39
63
|
exports.MaterialGameSetup = MaterialGameSetup;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MaterialGameSetup.js","sourceRoot":"","sources":["../../src/material/MaterialGameSetup.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"MaterialGameSetup.js","sourceRoot":"","sources":["../../src/material/MaterialGameSetup.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,7 +17,7 @@ export declare abstract class MaterialRules<Player extends number = number, Mate
|
|
|
17
17
|
remind<T = any>(key: keyof any, player?: Player): T;
|
|
18
18
|
get rulesStep(): MaterialRulesPart<Player, MaterialType, LocationType> | undefined;
|
|
19
19
|
mutator(type: MaterialType): MaterialMutator<Player, MaterialType, LocationType>;
|
|
20
|
-
|
|
20
|
+
itemsCanMerge(_type: MaterialType): boolean;
|
|
21
21
|
delegate(): Rules<MaterialGame<Player, MaterialType, LocationType>, MaterialMove<Player, MaterialType, LocationType>, Player> | undefined;
|
|
22
22
|
randomize(move: MaterialMove<Player, MaterialType, LocationType>): MaterialMove<Player, MaterialType, LocationType> & MaterialMoveRandomized<Player, MaterialType, LocationType>;
|
|
23
23
|
play(move: MaterialMoveRandomized<Player, MaterialType, LocationType> | MaterialMoveView<Player, MaterialType, LocationType>): MaterialMove<Player, MaterialType, LocationType>[];
|
|
@@ -20,7 +20,7 @@ var Rules_1 = require("../Rules");
|
|
|
20
20
|
var items_1 = require("./items");
|
|
21
21
|
var memory_1 = require("./memory");
|
|
22
22
|
var moves_1 = require("./moves");
|
|
23
|
-
var MaterialRules =
|
|
23
|
+
var MaterialRules = (function (_super) {
|
|
24
24
|
__extends(MaterialRules, _super);
|
|
25
25
|
function MaterialRules() {
|
|
26
26
|
var _this = _super !== null && _super.apply(this, arguments) || this;
|
|
@@ -182,10 +182,10 @@ var MaterialRules = /** @class */ (function (_super) {
|
|
|
182
182
|
return (0, moves_1.isStartPlayerTurn)(move) || (0, moves_1.isStartSimultaneousRule)(move);
|
|
183
183
|
};
|
|
184
184
|
MaterialRules.prototype.isUnpredictableMove = function (_move, _player) {
|
|
185
|
-
return false;
|
|
185
|
+
return false;
|
|
186
186
|
};
|
|
187
187
|
MaterialRules.prototype.isRandomMove = function (move) {
|
|
188
|
-
return (0, moves_1.isShuffle)(move);
|
|
188
|
+
return (0, moves_1.isShuffle)(move);
|
|
189
189
|
};
|
|
190
190
|
MaterialRules.prototype.restoreLocalMoves = function (game) {
|
|
191
191
|
this.game.rulesDisplay = game.rulesDisplay;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MaterialRules.js","sourceRoot":"","sources":["../../src/material/MaterialRules.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAEA,kCAAgC;AAEhC,iCAAmD;AAGnD,mCAAmD;AACnD,iCAYgB;AAGhB;IACU,iCAAiH;IAD3H;QAAA,qEA2LC;QAhLU,yBAAmB,GAAuH,EAAE,CAAA;;IAgLvJ,CAAC;IAtLC,gCAAQ,GAAR,UAAS,IAAkB;;QACzB,OAAO,IAAI,gBAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,MAAA,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,mCAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,UAAA,KAAK,IAAI,OAAA,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,CAAC,EAAvB,CAAuB,CAAC,CAAC,CAAA;IACzH,CAAC;IAMD,sBAAI,kCAAO;aAAX;YACE,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAA;QAC1B,CAAC;;;OAAA;IAES,iCAAS,GAAnB,UAAoB,MAAe;QACjC,OAAO,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,mBAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,qBAAY,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;IAC/F,CAAC;IAED,8BAAM,GAAN,UAAgB,GAAc,EAAE,MAAe;QAC7C,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;IAC3C,CAAC;IAED,sBAAI,oCAAS;aAAb;YAAA,iBAQC;YAPC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;gBAAE,OAAM;YAC3B,IAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;YAC/C,IAAI,CAAC,SAAS,EAAE;gBACd,OAAO,CAAC,KAAK,CAAC,uCAAgC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,gBAAa,CAAC,CAAA;gBAC7E,OAAM;aACP;YACD,OAAO,IAAI,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,UAAA,IAAI,IAAI,OAAA,KAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAnB,CAAmB,CAAC,CAAA;QAC9D,CAAC;;;OAAA;IAED,+BAAO,GAAP,UAAQ,IAAkB;QACxB,OAAO,IAAI,uBAAe,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAE,EAAE,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAA;IACpH,CAAC;
|
|
1
|
+
{"version":3,"file":"MaterialRules.js","sourceRoot":"","sources":["../../src/material/MaterialRules.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAEA,kCAAgC;AAEhC,iCAAmD;AAGnD,mCAAmD;AACnD,iCAYgB;AAGhB;IACU,iCAAiH;IAD3H;QAAA,qEA2LC;QAhLU,yBAAmB,GAAuH,EAAE,CAAA;;IAgLvJ,CAAC;IAtLC,gCAAQ,GAAR,UAAS,IAAkB;;QACzB,OAAO,IAAI,gBAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,MAAA,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,mCAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,UAAA,KAAK,IAAI,OAAA,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,CAAC,EAAvB,CAAuB,CAAC,CAAC,CAAA;IACzH,CAAC;IAMD,sBAAI,kCAAO;aAAX;YACE,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAA;QAC1B,CAAC;;;OAAA;IAES,iCAAS,GAAnB,UAAoB,MAAe;QACjC,OAAO,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,mBAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,qBAAY,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;IAC/F,CAAC;IAED,8BAAM,GAAN,UAAgB,GAAc,EAAE,MAAe;QAC7C,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;IAC3C,CAAC;IAED,sBAAI,oCAAS;aAAb;YAAA,iBAQC;YAPC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;gBAAE,OAAM;YAC3B,IAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;YAC/C,IAAI,CAAC,SAAS,EAAE;gBACd,OAAO,CAAC,KAAK,CAAC,uCAAgC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,gBAAa,CAAC,CAAA;gBAC7E,OAAM;aACP;YACD,OAAO,IAAI,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,UAAA,IAAI,IAAI,OAAA,KAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAnB,CAAmB,CAAC,CAAA;QAC9D,CAAC;;;OAAA;IAED,+BAAO,GAAP,UAAQ,IAAkB;QACxB,OAAO,IAAI,uBAAe,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAE,EAAE,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAA;IACpH,CAAC;IAED,qCAAa,GAAb,UAAc,KAAmB;QAC/B,OAAO,IAAI,CAAA;IACb,CAAC;IAED,gCAAQ,GAAR;QACE,OAAO,IAAI,CAAC,SAAS,CAAA;IACvB,CAAC;IAED,iCAAS,GAAT,UACE,IAAsD;QAEtD,IAAI,IAAI,CAAC,IAAI,KAAK,gBAAQ,CAAC,QAAQ,EAAE;YACnC,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;SACnD;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAED,4BAAI,GAAJ,UACE,IAAuH;;QAGvH,IAAM,YAAY,GAAuD,EAAE,CAAA;QAC3E,IAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAA;QAChC,QAAQ,IAAI,CAAC,IAAI,EAAE;YACjB,KAAK,gBAAQ,CAAC,QAAQ;gBACpB,IAAI,SAAS,EAAE;oBACb,YAAY,CAAC,IAAI,OAAjB,YAAY,EAAS,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,EAAC;iBACrD;gBACD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC;oBAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAA;gBACxE,IAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;gBAC3C,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;gBACvB,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,IAAA,kBAAU,EAAC,IAAI,CAAC,IAAI,IAAA,oBAAY,EAAC,IAAI,CAAC,CAAC;uBAChE,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,KAAK,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE;oBACnG,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,CAAA;iBAC7B;gBACD,IAAI,SAAS,EAAE;oBACb,YAAY,CAAC,IAAI,OAAjB,YAAY,EAAS,SAAS,CAAC,aAAa,CAAC,IAAI,CAAC,EAAC;iBACpD;gBACD,MAAK;YACP,KAAK,gBAAQ,CAAC,SAAS;gBACrB,IAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAA;gBAC3B,IAAI,SAAS,EAAE;oBACb,YAAY,CAAC,IAAI,OAAjB,YAAY,EAAS,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,EAAC;iBAChD;gBACD,QAAQ,IAAI,CAAC,IAAI,EAAE;oBACjB,KAAK,oBAAY,CAAC,eAAe;wBAC/B,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAA;wBACrD,MAAK;oBACP,KAAK,oBAAY,CAAC,qBAAqB;wBACrC,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,OAAO,EAAE,MAAA,IAAI,CAAC,OAAO,mCAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAA;wBAC5E,MAAK;oBACP,KAAK,oBAAY,CAAC,aAAa;wBAC7B,IAAI,MAAA,IAAI,CAAC,IAAI,CAAC,IAAI,0CAAE,OAAO,EAAE;4BAC3B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,UAAA,MAAM,IAAI,OAAA,MAAM,KAAK,IAAI,CAAC,MAAM,EAAtB,CAAsB,CAAC,CAAA;yBACzF;wBACD,MAAK;oBACP,KAAK,oBAAY,CAAC,SAAS;wBACzB,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,MAAA,IAAI,CAAC,IAAI,CAAC,IAAI,0CAAE,MAAM,EAAE,CAAA;wBAChE,MAAK;oBACP,KAAK,oBAAY,CAAC,OAAO;wBACvB,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAA;wBACrB,MAAK;iBACR;gBACD,IAAI,IAAI,CAAC,IAAI,KAAK,oBAAY,CAAC,OAAO,EAAE;oBACtC,YAAY,CAAC,IAAI,OAAjB,YAAY,EAAS,IAAI,CAAC,SAAU,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,EAAC;iBAC9D;gBACD,MAAK;YACP,KAAK,gBAAQ,CAAC,UAAU;gBACtB,IAAI,SAAS,EAAE;oBACb,YAAY,CAAC,IAAI,OAAjB,YAAY,EAAS,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,EAAC;iBACnD;gBACD,MAAK;YACP,KAAK,gBAAQ,CAAC,SAAS;gBACrB,QAAQ,IAAI,CAAC,IAAI,EAAE;oBACjB,KAAK,qBAAa,CAAC,YAAY;wBAC7B,IAAI,CAAC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAA;wBAC1C,MAAK;oBACP,KAAK,qBAAa,CAAC,iBAAiB;wBAClC,OAAO,IAAI,CAAC,IAAI,CAAC,YAAY,CAAA;wBAC7B,MAAK;oBACP,KAAK,qBAAa,CAAC,QAAQ;wBACzB,IAAI,CAAC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,IAAI,CAAA;wBACjC,MAAK;oBACP,KAAK,qBAAa,CAAC,eAAe;wBAChC,IAAI,CAAC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,IAAI,CAAA;wBAClC,OAAO,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAA;wBACpC,OAAO,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAA;wBACrC,MAAK;oBACP,KAAK,qBAAa,CAAC,kBAAkB;wBACnC,IAAI,CAAC,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAA;iBACvC;SACJ;QAED,OAAO,YAAY,CAAA;IACrB,CAAC;IAED,+BAAO,GAAP,UAAQ,MAAwE,EACxE,kBAAsF;QAC5F,KAAK,IAAI,CAAC,GAAG,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;YACvD,IAAM,iBAAiB,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAA;YAC/C,IAAI,iBAAiB,CAAC,QAAQ,KAAK,MAAM,CAAC,QAAQ,IAAI,IAAI,CAAC,qBAAqB,CAAC,iBAAiB,CAAC,EAAE;gBACnG,OAAO,KAAK,CAAA;aACb;SACF;QACD,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAA;IACvC,CAAC;IAES,wCAAgB,GAA1B,UAA2B,MAAwE;QACjG,KAAK,IAAI,CAAC,GAAG,MAAM,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;YACxD,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE;gBAC/C,OAAO,IAAI,CAAA;aACZ;SACF;QACD,OAAO,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IACzC,CAAC;IAES,6CAAqB,GAA/B,UAAgC,MAAwE;QACtG,KAAK,IAAI,CAAC,GAAG,MAAM,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;YACxD,IAAI,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE;gBACpD,OAAO,IAAI,CAAA;aACZ;SACF;QACD,OAAO,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IAC9C,CAAC;IAES,sCAAc,GAAxB,UAAyB,IAAsD;QAC7E,OAAO,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAA;IAClE,CAAC;IAES,2CAAmB,GAA7B,UAA8B,IAAsD;QAClF,OAAO,IAAA,yBAAiB,EAAC,IAAI,CAAC,IAAI,IAAA,+BAAuB,EAAC,IAAI,CAAC,CAAA;IACjE,CAAC;IAED,2CAAmB,GAAnB,UAAoB,KAAuD,EAAE,OAAe;QAC1F,OAAO,KAAK,CAAA;IACd,CAAC;IAES,oCAAY,GAAtB,UAAuB,IAAsD;QAC3E,OAAO,IAAA,iBAAS,EAAC,IAAI,CAAC,CAAA;IACxB,CAAC;IAED,yCAAiB,GAAjB,UAAkB,IAAsD;QACtE,IAAI,CAAC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAA;IAC5C,CAAC;IAED,8BAAM,GAAN,UAAO,SAAoB;QACzB,OAAO,iBAAM,MAAM,YAAC,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IACrD,CAAC;IACH,oBAAC;AAAD,CAAC,AA3LD,CACU,aAAK,GA0Ld;AA3LqB,sCAAa"}
|
|
@@ -9,4 +9,4 @@ export declare abstract class SecretMaterialRules<Player extends number = number
|
|
|
9
9
|
getPlayerMoveView(move: MaterialMoveRandomized<Player, MaterialType, LocationType>, player: Player): MaterialMove<Player, MaterialType, LocationType>;
|
|
10
10
|
}
|
|
11
11
|
export declare type HidingSecretsStrategy<P extends number = number, L extends number = number> = (item: MaterialItem<P, L>, player?: P) => string[];
|
|
12
|
-
export declare const hideItemIdToOthers: <P extends number = number, L extends number = number>(item: MaterialItem<P, L, any>, player?: P) => string[];
|
|
12
|
+
export declare const hideItemIdToOthers: <P extends number = number, L extends number = number>(item: MaterialItem<P, L, any>, player?: P | undefined) => string[];
|
|
@@ -17,7 +17,7 @@ var __extends = (this && this.__extends) || (function () {
|
|
|
17
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
18
|
exports.hideItemIdToOthers = exports.SecretMaterialRules = void 0;
|
|
19
19
|
var HiddenMaterialRules_1 = require("./HiddenMaterialRules");
|
|
20
|
-
var SecretMaterialRules =
|
|
20
|
+
var SecretMaterialRules = (function (_super) {
|
|
21
21
|
__extends(SecretMaterialRules, _super);
|
|
22
22
|
function SecretMaterialRules() {
|
|
23
23
|
return _super !== null && _super.apply(this, arguments) || this;
|
|
@@ -1,13 +1,14 @@
|
|
|
1
|
-
import { ItemPosition, MaterialItem } from './MaterialItem';
|
|
2
1
|
import { Coordinates, Location } from '../location';
|
|
3
2
|
import { CreateItem, DeleteItem, ItemMove, MoveItem, Shuffle } from '../moves';
|
|
3
|
+
import { ItemPosition, MaterialItem } from './MaterialItem';
|
|
4
4
|
declare type ItemEntry<P extends number = number, L extends number = number> = [number, MaterialItem<P, L>];
|
|
5
5
|
export declare class Material<P extends number = number, M extends number = number, L extends number = number> {
|
|
6
6
|
readonly type: M;
|
|
7
7
|
readonly entries: ItemEntry<P, L>[];
|
|
8
|
-
|
|
9
|
-
constructor(type: M,
|
|
10
|
-
|
|
8
|
+
protected readonly processMove?: ((move: ItemMove<P, M, L>) => void) | undefined;
|
|
9
|
+
constructor(type: M, entries: ItemEntry<P, L>[], processMove?: ((move: ItemMove<P, M, L>) => void) | undefined);
|
|
10
|
+
['constructor']: new (type: M, entries: ItemEntry<P, L>[], processMove?: (move: ItemMove<P, M, L>) => void) => this;
|
|
11
|
+
protected new(entries: ItemEntry<P, L>[]): this;
|
|
11
12
|
getItems(): MaterialItem<P, L>[];
|
|
12
13
|
getItems<T>(mapFn: (item: MaterialItem<P, L>) => T): T[];
|
|
13
14
|
getItem(index: number): MaterialItem<P, L> | undefined;
|
|
@@ -18,17 +19,17 @@ export declare class Material<P extends number = number, M extends number = numb
|
|
|
18
19
|
indexes(indexes: number[]): Material<P, M, L>;
|
|
19
20
|
get length(): number;
|
|
20
21
|
getQuantity(): number;
|
|
21
|
-
filter(predicate: (item: MaterialItem<P, L>, index: number) => boolean):
|
|
22
|
-
id<Id extends string | number | Record<string, any> | undefined>(arg?: Id | ((id: Id) => boolean)):
|
|
23
|
-
location(arg: L | ((location: Location<P, L>) => boolean)):
|
|
24
|
-
rotation(arg: ((rotation?: Partial<Coordinates>) => boolean)):
|
|
25
|
-
player(arg?: P | ((player?: P) => boolean)):
|
|
26
|
-
locationId<Id extends string | number | Record<string, any> | undefined>(arg: Id | ((id: Id) => boolean)):
|
|
27
|
-
parent(arg?: number | ((parent?: number) => boolean)):
|
|
28
|
-
minBy(selector: (item: MaterialItem<P, L>) => number):
|
|
29
|
-
sort(selector: (item: MaterialItem<P, L>) => number):
|
|
30
|
-
limit(count: number):
|
|
31
|
-
maxBy(selector: (item: MaterialItem<P, L>) => number):
|
|
22
|
+
filter(predicate: (item: MaterialItem<P, L>, index: number) => boolean): this;
|
|
23
|
+
id<Id extends string | number | Record<string, any> | undefined>(arg?: Id | ((id: Id) => boolean)): this;
|
|
24
|
+
location(arg: L | ((location: Location<P, L>) => boolean)): this;
|
|
25
|
+
rotation(arg: ((rotation?: Partial<Coordinates>) => boolean)): this;
|
|
26
|
+
player(arg?: P | ((player?: P) => boolean)): this;
|
|
27
|
+
locationId<Id extends string | number | Record<string, any> | undefined>(arg: Id | ((id: Id) => boolean)): this;
|
|
28
|
+
parent(arg?: number | ((parent?: number) => boolean)): this;
|
|
29
|
+
minBy(selector: (item: MaterialItem<P, L>) => number): this;
|
|
30
|
+
sort(selector: (item: MaterialItem<P, L>) => number): this;
|
|
31
|
+
limit(count: number): this;
|
|
32
|
+
maxBy(selector: (item: MaterialItem<P, L>) => number): this;
|
|
32
33
|
private process;
|
|
33
34
|
createItem(item: MaterialItem<P, L>): CreateItem<P, M, L>;
|
|
34
35
|
createItems(items: MaterialItem<P, L>[]): CreateItem<P, M, L>[];
|
|
@@ -37,5 +38,10 @@ export declare class Material<P extends number = number, M extends number = numb
|
|
|
37
38
|
moveItem(arg: ((item: MaterialItem<P, L>) => Partial<ItemPosition<P, L>>) | Partial<ItemPosition<P, L>>, quantity?: number): MoveItem<P, M, L>;
|
|
38
39
|
moveItems(arg: ((item: MaterialItem<P, L>) => Partial<ItemPosition<P, L>>) | Partial<ItemPosition<P, L>>, quantity?: number): MoveItem<P, M, L>[];
|
|
39
40
|
shuffle(): Shuffle<M>;
|
|
41
|
+
deck(selector?: (item: MaterialItem<P, L>) => number): MaterialDeck<P, M, L>;
|
|
42
|
+
}
|
|
43
|
+
export declare class MaterialDeck<P extends number = number, M extends number = number, L extends number = number> extends Material<P, M, L> {
|
|
44
|
+
deal(arg: ((item: MaterialItem<P, L>) => Partial<ItemPosition<P, L>>) | Partial<ItemPosition<P, L>>, quantity?: number): MoveItem<P, M, L>[];
|
|
45
|
+
dealOne(arg: ((item: MaterialItem<P, L>) => Partial<ItemPosition<P, L>>) | Partial<ItemPosition<P, L>>): MoveItem<P, M, L>;
|
|
40
46
|
}
|
|
41
47
|
export {};
|
|
@@ -1,23 +1,38 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __extends = (this && this.__extends) || (function () {
|
|
3
|
+
var extendStatics = function (d, b) {
|
|
4
|
+
extendStatics = Object.setPrototypeOf ||
|
|
5
|
+
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
6
|
+
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
7
|
+
return extendStatics(d, b);
|
|
8
|
+
};
|
|
9
|
+
return function (d, b) {
|
|
10
|
+
if (typeof b !== "function" && b !== null)
|
|
11
|
+
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
12
|
+
extendStatics(d, b);
|
|
13
|
+
function __() { this.constructor = d; }
|
|
14
|
+
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
15
|
+
};
|
|
16
|
+
})();
|
|
2
17
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
18
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
19
|
};
|
|
5
20
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.Material = void 0;
|
|
21
|
+
exports.MaterialDeck = exports.Material = void 0;
|
|
7
22
|
var fast_deep_equal_1 = __importDefault(require("fast-deep-equal"));
|
|
8
|
-
var moves_1 = require("../moves");
|
|
9
|
-
var minBy_1 = __importDefault(require("lodash/minBy"));
|
|
10
23
|
var maxBy_1 = __importDefault(require("lodash/maxBy"));
|
|
24
|
+
var minBy_1 = __importDefault(require("lodash/minBy"));
|
|
11
25
|
var orderBy_1 = __importDefault(require("lodash/orderBy"));
|
|
12
26
|
var sumBy_1 = __importDefault(require("lodash/sumBy"));
|
|
13
|
-
var
|
|
14
|
-
|
|
27
|
+
var moves_1 = require("../moves");
|
|
28
|
+
var Material = (function () {
|
|
29
|
+
function Material(type, entries, processMove) {
|
|
15
30
|
this.type = type;
|
|
16
|
-
this.entries =
|
|
31
|
+
this.entries = entries;
|
|
17
32
|
this.processMove = processMove;
|
|
18
33
|
}
|
|
19
34
|
Material.prototype.new = function (entries) {
|
|
20
|
-
return new
|
|
35
|
+
return new this.constructor(this.type, entries, this.processMove);
|
|
21
36
|
};
|
|
22
37
|
Material.prototype.getItems = function (mapFn) {
|
|
23
38
|
return this.entries.map(function (entry) { return mapFn ? mapFn(entry[1]) : entry[1]; });
|
|
@@ -152,9 +167,14 @@ var Material = /** @class */ (function () {
|
|
|
152
167
|
}); }));
|
|
153
168
|
};
|
|
154
169
|
Material.prototype.deleteItem = function (quantity) {
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
170
|
+
switch (this.length) {
|
|
171
|
+
case 0:
|
|
172
|
+
throw new Error('You are trying to delete an item that does not exists');
|
|
173
|
+
case 1:
|
|
174
|
+
return this.deleteItems(quantity)[0];
|
|
175
|
+
default:
|
|
176
|
+
return this.limit(1).deleteItems(quantity)[0];
|
|
177
|
+
}
|
|
158
178
|
};
|
|
159
179
|
Material.prototype.deleteItems = function (quantity) {
|
|
160
180
|
var _this = this;
|
|
@@ -171,9 +191,14 @@ var Material = /** @class */ (function () {
|
|
|
171
191
|
}));
|
|
172
192
|
};
|
|
173
193
|
Material.prototype.moveItem = function (arg, quantity) {
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
194
|
+
switch (this.length) {
|
|
195
|
+
case 0:
|
|
196
|
+
throw new Error('You are trying to move an item that does not exists');
|
|
197
|
+
case 1:
|
|
198
|
+
return this.moveItems(arg, quantity)[0];
|
|
199
|
+
default:
|
|
200
|
+
return this.limit(1).moveItems(arg, quantity)[0];
|
|
201
|
+
}
|
|
177
202
|
};
|
|
178
203
|
Material.prototype.moveItems = function (arg, quantity) {
|
|
179
204
|
var _this = this;
|
|
@@ -202,7 +227,26 @@ var Material = /** @class */ (function () {
|
|
|
202
227
|
indexes: this.entries.map(function (entry) { return entry[0]; })
|
|
203
228
|
}])[0];
|
|
204
229
|
};
|
|
230
|
+
Material.prototype.deck = function (selector) {
|
|
231
|
+
if (selector === void 0) { selector = function (item) { return -item.location.x; }; }
|
|
232
|
+
return new MaterialDeck(this.type, this.entries, this.processMove).sort(selector);
|
|
233
|
+
};
|
|
205
234
|
return Material;
|
|
206
235
|
}());
|
|
207
236
|
exports.Material = Material;
|
|
237
|
+
var MaterialDeck = (function (_super) {
|
|
238
|
+
__extends(MaterialDeck, _super);
|
|
239
|
+
function MaterialDeck() {
|
|
240
|
+
return _super !== null && _super.apply(this, arguments) || this;
|
|
241
|
+
}
|
|
242
|
+
MaterialDeck.prototype.deal = function (arg, quantity) {
|
|
243
|
+
if (quantity === void 0) { quantity = 1; }
|
|
244
|
+
return this.new(this.entries.splice(0, quantity)).moveItems(arg);
|
|
245
|
+
};
|
|
246
|
+
MaterialDeck.prototype.dealOne = function (arg) {
|
|
247
|
+
return this.deal(arg)[0];
|
|
248
|
+
};
|
|
249
|
+
return MaterialDeck;
|
|
250
|
+
}(Material));
|
|
251
|
+
exports.MaterialDeck = MaterialDeck;
|
|
208
252
|
//# sourceMappingURL=Material.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Material.js","sourceRoot":"","sources":["../../../src/material/items/Material.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Material.js","sourceRoot":"","sources":["../../../src/material/items/Material.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { MoveItem } from '../moves';
|
|
2
|
+
import { Material } from './Material';
|
|
3
|
+
import { ItemPosition, MaterialItem } from './MaterialItem';
|
|
4
|
+
export declare class MaterialDeck<P extends number = number, M extends number = number, L extends number = number> extends Material<P, M, L> {
|
|
5
|
+
deal(arg: ((item: MaterialItem<P, L>) => Partial<ItemPosition<P, L>>) | Partial<ItemPosition<P, L>>, quantity?: number): MoveItem<P, M, L>[];
|
|
6
|
+
dealOne(arg: ((item: MaterialItem<P, L>) => Partial<ItemPosition<P, L>>) | Partial<ItemPosition<P, L>>): MoveItem<P, M, L>;
|
|
7
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __extends = (this && this.__extends) || (function () {
|
|
3
|
+
var extendStatics = function (d, b) {
|
|
4
|
+
extendStatics = Object.setPrototypeOf ||
|
|
5
|
+
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
6
|
+
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
7
|
+
return extendStatics(d, b);
|
|
8
|
+
};
|
|
9
|
+
return function (d, b) {
|
|
10
|
+
if (typeof b !== "function" && b !== null)
|
|
11
|
+
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
12
|
+
extendStatics(d, b);
|
|
13
|
+
function __() { this.constructor = d; }
|
|
14
|
+
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
15
|
+
};
|
|
16
|
+
})();
|
|
17
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
exports.MaterialDeck = void 0;
|
|
19
|
+
var Material_1 = require("./Material");
|
|
20
|
+
var MaterialDeck = (function (_super) {
|
|
21
|
+
__extends(MaterialDeck, _super);
|
|
22
|
+
function MaterialDeck() {
|
|
23
|
+
return _super !== null && _super.apply(this, arguments) || this;
|
|
24
|
+
}
|
|
25
|
+
MaterialDeck.prototype.deal = function (arg, quantity) {
|
|
26
|
+
if (quantity === void 0) { quantity = 1; }
|
|
27
|
+
return this.new(this.entries.splice(0, quantity)).moveItems(arg);
|
|
28
|
+
};
|
|
29
|
+
MaterialDeck.prototype.dealOne = function (arg) {
|
|
30
|
+
return this.deal(arg)[0];
|
|
31
|
+
};
|
|
32
|
+
return MaterialDeck;
|
|
33
|
+
}(Material_1.Material));
|
|
34
|
+
exports.MaterialDeck = MaterialDeck;
|
|
35
|
+
//# sourceMappingURL=MaterialDeck.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MaterialDeck.js","sourceRoot":"","sources":["../../../src/material/items/MaterialDeck.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AACA,uCAAqC;AAGrC;IAAmH,gCAAiB;IAApI;;IAQA,CAAC;IAPC,2BAAI,GAAJ,UAAK,GAA8F,EAAE,QAAoB;QAApB,yBAAA,EAAA,YAAoB;QACvH,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAA;IAClE,CAAC;IAED,8BAAO,GAAP,UAAQ,GAA8F;QACpG,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;IAC1B,CAAC;IACH,mBAAC;AAAD,CAAC,AARD,CAAmH,mBAAQ,GAQ1H;AARY,oCAAY"}
|
|
@@ -31,7 +31,7 @@ var fast_deep_equal_1 = __importDefault(require("fast-deep-equal"));
|
|
|
31
31
|
var moves_1 = require("../moves");
|
|
32
32
|
var merge_1 = __importDefault(require("lodash/merge"));
|
|
33
33
|
var shuffle_1 = __importDefault(require("lodash/shuffle"));
|
|
34
|
-
var MaterialMutator =
|
|
34
|
+
var MaterialMutator = (function () {
|
|
35
35
|
function MaterialMutator(type, items, locationsStrategies, canMerge) {
|
|
36
36
|
if (locationsStrategies === void 0) { locationsStrategies = {}; }
|
|
37
37
|
if (canMerge === void 0) { canMerge = true; }
|
|
@@ -151,7 +151,7 @@ var MaterialMutator = /** @class */ (function () {
|
|
|
151
151
|
MaterialMutator.prototype.getItemAfterMove = function (move) {
|
|
152
152
|
var _a = this.items[move.itemIndex], quantity = _a.quantity, rotation = _a.rotation, itemData = __rest(_a, ["quantity", "rotation"]);
|
|
153
153
|
var item = __assign(__assign({}, itemData), JSON.parse(JSON.stringify(move.position)));
|
|
154
|
-
if (typeof move.reveal === 'object') {
|
|
154
|
+
if (typeof move.reveal === 'object') {
|
|
155
155
|
(0, merge_1.default)(item, move.reveal);
|
|
156
156
|
}
|
|
157
157
|
if (move.quantity)
|
|
@@ -164,7 +164,7 @@ var MaterialMutator = /** @class */ (function () {
|
|
|
164
164
|
MaterialMutator.prototype.shuffle = function (move) {
|
|
165
165
|
var _this = this;
|
|
166
166
|
if (!(0, moves_1.isShuffleRandomized)(move))
|
|
167
|
-
return;
|
|
167
|
+
return;
|
|
168
168
|
var shuffledItems = move.indexes.map(function (index) { return _this.items[index]; });
|
|
169
169
|
move.newIndexes.forEach(function (newIndex, i) {
|
|
170
170
|
_this.items[newIndex] = __assign(__assign({}, shuffledItems[i]), { location: _this.items[newIndex].location });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MaterialMutator.js","sourceRoot":"","sources":["../../../src/material/items/MaterialMutator.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"MaterialMutator.js","sourceRoot":"","sources":["../../../src/material/items/MaterialMutator.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,7 +12,7 @@ var __assign = (this && this.__assign) || function () {
|
|
|
12
12
|
};
|
|
13
13
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
14
|
exports.LocationBuilder = void 0;
|
|
15
|
-
var LocationBuilder =
|
|
15
|
+
var LocationBuilder = (function () {
|
|
16
16
|
function LocationBuilder(location) {
|
|
17
17
|
this.location = location;
|
|
18
18
|
}
|
|
@@ -1,8 +1,5 @@
|
|
|
1
1
|
import { LocationStrategy } from './LocationStrategy';
|
|
2
2
|
import { Material, MaterialItem } from '../../items';
|
|
3
|
-
/**
|
|
4
|
-
* This strategy attributes the first gap in a sequence
|
|
5
|
-
*/
|
|
6
3
|
export declare class FillGapStrategy<P extends number = number, M extends number = number, L extends number = number> implements LocationStrategy<P, M, L> {
|
|
7
4
|
axis: 'x' | 'y' | 'z';
|
|
8
5
|
constructor(axis?: 'x' | 'y' | 'z');
|
|
@@ -1,10 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.FillGapStrategy = void 0;
|
|
4
|
-
|
|
5
|
-
* This strategy attributes the first gap in a sequence
|
|
6
|
-
*/
|
|
7
|
-
var FillGapStrategy = /** @class */ (function () {
|
|
4
|
+
var FillGapStrategy = (function () {
|
|
8
5
|
function FillGapStrategy(axis) {
|
|
9
6
|
if (axis === void 0) { axis = 'x'; }
|
|
10
7
|
this.axis = axis;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FillGapStrategy.js","sourceRoot":"","sources":["../../../../src/material/location/strategy/FillGapStrategy.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"FillGapStrategy.js","sourceRoot":"","sources":["../../../../src/material/location/strategy/FillGapStrategy.ts"],"names":[],"mappings":";;;AAMA;IAGE,yBAAY,IAA2B;QAA3B,qBAAA,EAAA,UAA2B;QACrC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;IAClB,CAAC;IAED,iCAAO,GAAP,UAAQ,QAA2B,EAAE,IAAwB;QAA7D,iBAOC;;QANC,IAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,UAAA,IAAI,IAAI,OAAA,IAAI,CAAC,QAAQ,CAAC,KAAI,CAAC,IAAI,CAAE,EAAzB,CAAyB,CAAC,CAAC,QAAQ,EAAE,CAAA;QACzE,IAAI,QAAQ,GAAG,CAAC,CAAA;QAChB,OAAO,CAAA,MAAA,KAAK,CAAC,QAAQ,CAAC,0CAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,MAAK,QAAQ,EAAE;YACxD,QAAQ,EAAE,CAAA;SACX;QACD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAA;IACrC,CAAC;IACH,sBAAC;AAAD,CAAC,AAfD,IAeC;AAfY,0CAAe"}
|
|
@@ -1,8 +1,5 @@
|
|
|
1
1
|
import { LocationStrategy } from './LocationStrategy';
|
|
2
2
|
import { Material, MaterialItem } from '../../items';
|
|
3
|
-
/**
|
|
4
|
-
* This strategy help to maintain a consecutive sequence of numbers starting with 0 for items at the same location, for example a deck or a hand of cards
|
|
5
|
-
*/
|
|
6
3
|
export declare class PositiveSequenceStrategy<P extends number = number, M extends number = number, L extends number = number> implements LocationStrategy<P, M, L> {
|
|
7
4
|
axis: 'x' | 'y' | 'z';
|
|
8
5
|
constructor(axis?: 'x' | 'y' | 'z');
|
|
@@ -1,10 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.PositiveSequenceStrategy = void 0;
|
|
4
|
-
|
|
5
|
-
* This strategy help to maintain a consecutive sequence of numbers starting with 0 for items at the same location, for example a deck or a hand of cards
|
|
6
|
-
*/
|
|
7
|
-
var PositiveSequenceStrategy = /** @class */ (function () {
|
|
4
|
+
var PositiveSequenceStrategy = (function () {
|
|
8
5
|
function PositiveSequenceStrategy(axis) {
|
|
9
6
|
if (axis === void 0) { axis = 'x'; }
|
|
10
7
|
this.axis = axis;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PositiveSequenceStrategy.js","sourceRoot":"","sources":["../../../../src/material/location/strategy/PositiveSequenceStrategy.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"PositiveSequenceStrategy.js","sourceRoot":"","sources":["../../../../src/material/location/strategy/PositiveSequenceStrategy.ts"],"names":[],"mappings":";;;AAMA;IAGE,kCAAY,IAA2B;QAA3B,qBAAA,EAAA,UAA2B;QACrC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;IAClB,CAAC;IAED,0CAAO,GAAP,UAAQ,QAA2B,EAAE,IAAwB;QAC3D,IAAM,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAClC,IAAI,CAAC,KAAK,SAAS,EAAE;YACnB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAA;SAC3C;aAAM;YACL,KAAmB,UAAmB,EAAnB,KAAA,QAAQ,CAAC,QAAQ,EAAE,EAAnB,cAAmB,EAAnB,IAAmB,EAAE;gBAAnC,IAAM,MAAI,SAAA;gBACb,IAAM,KAAK,GAAG,MAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;gBACtC,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,IAAI,CAAC,EAAE;oBACrC,MAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAE,EAAE,CAAA;iBAC5B;aACF;SACF;IACH,CAAC;IAED,6CAAU,GAAV,UAAW,QAA2B,EAAE,IAAwB;QAC9D,IAAM,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAClC,IAAI,CAAC,KAAK,SAAS;YAAE,OAAM;QAC3B,KAAmB,UAAmB,EAAnB,KAAA,QAAQ,CAAC,QAAQ,EAAE,EAAnB,cAAmB,EAAnB,IAAmB,EAAE;YAAnC,IAAM,MAAI,SAAA;YACb,IAAM,KAAK,GAAG,MAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YACtC,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,GAAG,CAAC,EAAE;gBACpC,MAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAE,EAAE,CAAA;aAC5B;SACF;IACH,CAAC;IACH,+BAAC;AAAD,CAAC,AA/BD,IA+BC;AA/BY,4DAAwB"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.PlayerMemory = void 0;
|
|
4
|
-
var PlayerMemory =
|
|
4
|
+
var PlayerMemory = (function () {
|
|
5
5
|
function PlayerMemory(game, player) {
|
|
6
6
|
this.game = game;
|
|
7
7
|
this.player = player;
|
|
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.ItemMovesBuilder = void 0;
|
|
4
4
|
var MoveKind_1 = require("../MoveKind");
|
|
5
5
|
var ItemMoveType_1 = require("./ItemMoveType");
|
|
6
|
-
var ItemMovesBuilder =
|
|
6
|
+
var ItemMovesBuilder = (function () {
|
|
7
7
|
function ItemMovesBuilder(items) {
|
|
8
8
|
this.moves = [];
|
|
9
9
|
this.items = items;
|
|
@@ -23,7 +23,7 @@ export declare type DisplayRules<P extends number = number, M extends number = n
|
|
|
23
23
|
rulesDisplay: RulesDisplay<P, M, L>;
|
|
24
24
|
};
|
|
25
25
|
export declare const displayRules: <P extends number = number, M extends number = number, L extends number = number>(rulesDisplay: RulesDisplay<P, M, L>) => DisplayRules<P, M, L>;
|
|
26
|
-
export declare const displayMaterialRules: <P extends number = number, M extends number = number, L extends number = number>(itemType: M, item?: Partial<MaterialItem<P, L, any>>, itemIndex?: number) => DisplayRules<P, M, L>;
|
|
26
|
+
export declare const displayMaterialRules: <P extends number = number, M extends number = number, L extends number = number>(itemType: M, item?: Partial<MaterialItem<P, L, any>>, itemIndex?: number | undefined) => DisplayRules<P, M, L>;
|
|
27
27
|
export declare const displayLocationRules: <P extends number = number, M extends number = number, L extends number = number>(location: Location<P, L, any>) => DisplayRules<P, M, L>;
|
|
28
28
|
export declare type CloseRulesDisplay = {
|
|
29
29
|
kind: MoveKind.LocalMove;
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.MaterialRulesMovesBuilder = void 0;
|
|
4
4
|
var moves_1 = require("../moves");
|
|
5
|
-
var MaterialRulesMovesBuilder =
|
|
5
|
+
var MaterialRulesMovesBuilder = (function () {
|
|
6
6
|
function MaterialRulesMovesBuilder(game) {
|
|
7
7
|
this.game = game;
|
|
8
8
|
}
|
|
@@ -20,7 +20,7 @@ var Rules_1 = require("../../Rules");
|
|
|
20
20
|
var items_1 = require("../items");
|
|
21
21
|
var MaterialRulesMovesBuilder_1 = require("./MaterialRulesMovesBuilder");
|
|
22
22
|
var memory_1 = require("../memory");
|
|
23
|
-
var MaterialRulesPart =
|
|
23
|
+
var MaterialRulesPart = (function (_super) {
|
|
24
24
|
__extends(MaterialRulesPart, _super);
|
|
25
25
|
function MaterialRulesPart() {
|
|
26
26
|
return _super !== null && _super.apply(this, arguments) || this;
|
|
@@ -17,7 +17,7 @@ var __extends = (this && this.__extends) || (function () {
|
|
|
17
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
18
|
exports.PlayerTurnRule = void 0;
|
|
19
19
|
var MaterialRulesPart_1 = require("./MaterialRulesPart");
|
|
20
|
-
var PlayerTurnRule =
|
|
20
|
+
var PlayerTurnRule = (function (_super) {
|
|
21
21
|
__extends(PlayerTurnRule, _super);
|
|
22
22
|
function PlayerTurnRule() {
|
|
23
23
|
return _super !== null && _super.apply(this, arguments) || this;
|
|
@@ -17,7 +17,7 @@ var __extends = (this && this.__extends) || (function () {
|
|
|
17
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
18
|
exports.SimultaneousRule = void 0;
|
|
19
19
|
var MaterialRulesPart_1 = require("./MaterialRulesPart");
|
|
20
|
-
var SimultaneousRule =
|
|
20
|
+
var SimultaneousRule = (function (_super) {
|
|
21
21
|
__extends(SimultaneousRule, _super);
|
|
22
22
|
function SimultaneousRule() {
|
|
23
23
|
return _super !== null && _super.apply(this, arguments) || this;
|
|
@@ -16,7 +16,7 @@ var __extends = (this && this.__extends) || (function () {
|
|
|
16
16
|
})();
|
|
17
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
18
|
exports.OptionsValidationError = void 0;
|
|
19
|
-
var OptionsValidationError =
|
|
19
|
+
var OptionsValidationError = (function (_super) {
|
|
20
20
|
__extends(OptionsValidationError, _super);
|
|
21
21
|
function OptionsValidationError(message, fields) {
|
|
22
22
|
if (fields === void 0) { fields = []; }
|
|
@@ -20,7 +20,6 @@ function getPlayersAvailableValues(spec, players) {
|
|
|
20
20
|
}
|
|
21
21
|
exports.getPlayersAvailableValues = getPlayersAvailableValues;
|
|
22
22
|
function generatePlayersOption(playersChoices, option) {
|
|
23
|
-
// Force to pick mandatory values
|
|
24
23
|
var mandatoryValues = getPlayersMandatoryValues(option, playersChoices.length);
|
|
25
24
|
for (var _i = 0, mandatoryValues_1 = mandatoryValues; _i < mandatoryValues_1.length; _i++) {
|
|
26
25
|
var mandatoryValue = mandatoryValues_1[_i];
|
|
@@ -30,7 +29,6 @@ function generatePlayersOption(playersChoices, option) {
|
|
|
30
29
|
playersChoices[index] = mandatoryValue;
|
|
31
30
|
}
|
|
32
31
|
}
|
|
33
|
-
// Remove invalid choices
|
|
34
32
|
var availableValues = getPlayersAvailableValues(option, playersChoices.length);
|
|
35
33
|
var _loop_1 = function (i) {
|
|
36
34
|
var choice = playersChoices[i];
|
|
@@ -54,7 +52,6 @@ function generatePlayersOption(playersChoices, option) {
|
|
|
54
52
|
_loop_1(i);
|
|
55
53
|
}
|
|
56
54
|
if (!option.optional) {
|
|
57
|
-
// Provide missing choices (different values if possible)
|
|
58
55
|
var remainingValues = (0, difference_1.default)(availableValues, playersChoices);
|
|
59
56
|
for (var i = 0; i < playersChoices.length; i++) {
|
|
60
57
|
if (playersChoices[i] === null) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlayerEnumOption.js","sourceRoot":"","sources":["../../src/options/PlayerEnumOption.ts"],"names":[],"mappings":";;;;;;AACA,iEAA0C;AAc1C,SAAgB,yBAAyB,CAAU,IAAyB,EAAE,OAAe;IAC3F,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;AACtD,CAAC;AAFD,8DAEC;AAED,SAAgB,yBAAyB,CAAU,IAAyB,EAAE,OAAe;IAC3F,IAAI,IAAI,CAAC,WAAW,EAAE;QACpB,IAAM,mBAAiB,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAA;QACnD,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,UAAA,KAAK,IAAI,OAAA,CAAC,mBAAiB,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAlC,CAAkC,CAAC,CAAA;KACvE;SAAM;QACL,OAAO,IAAI,CAAC,MAAM,CAAA;KACnB;AACH,CAAC;AAPD,8DAOC;AAED,SAAgB,qBAAqB,CAAI,cAA4B,EAAE,MAA2B;
|
|
1
|
+
{"version":3,"file":"PlayerEnumOption.js","sourceRoot":"","sources":["../../src/options/PlayerEnumOption.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.isDeadEndMove = void 0;
|
|
4
4
|
var Action_1 = require("../Action");
|
|
5
|
-
// For some game, it is easier to play the moves to know whether the action can be completed, than code all the conditions
|
|
6
5
|
function isDeadEndMove(move, game, Rules, predicate, maxDepth) {
|
|
7
6
|
if (maxDepth === void 0) { maxDepth = 5; }
|
|
8
7
|
if (maxDepth === 0)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"isDeadEndMove.util.js","sourceRoot":"","sources":["../../src/utils/isDeadEndMove.util.ts"],"names":[],"mappings":";;;AACA,oCAAoC;
|
|
1
|
+
{"version":3,"file":"isDeadEndMove.util.js","sourceRoot":"","sources":["../../src/utils/isDeadEndMove.util.ts"],"names":[],"mappings":";;;AACA,oCAAoC;AAGpC,SAAgB,aAAa,CAAU,IAAO,EAAE,IAAO,EAAE,KAA4B,EAAE,SAA+B,EAAE,QAAY;IAAZ,yBAAA,EAAA,YAAY;IAClI,IAAI,QAAQ,KAAK,CAAC;QAAE,OAAO,KAAK,CAAA;IAChC,IAAM,KAAK,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACzD,IAAA,iBAAQ,EAAC,KAAK,EAAE,IAAI,CAAC,CAAA;IACrB,IAAI,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAA;IACvC,IAAM,YAAY,GAAG,KAAK,CAAC,eAAe,EAAE,CAAA;IAC5C,IAAI,CAAC,YAAY;QAAE,OAAO,IAAI,CAAA;IAC9B,OAAO,KAAK,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,UAAA,IAAI,IAAI,OAAA,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,GAAG,CAAC,CAAC,EAA/D,CAA+D,CAAC,CAAA;AACzH,CAAC;AARD,sCAQC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gamepark/rules-api",
|
|
3
|
-
"version": "6.
|
|
3
|
+
"version": "6.10.0",
|
|
4
4
|
"description": "API to implement the rules of a board game",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -29,5 +29,5 @@
|
|
|
29
29
|
"@types/lodash": "^4.14.195",
|
|
30
30
|
"i18next": ">=21.3.0"
|
|
31
31
|
},
|
|
32
|
-
"gitHead": "
|
|
32
|
+
"gitHead": "4fb259cdddc928c32ea129d675cecfe0b6402c29"
|
|
33
33
|
}
|