@gamepark/rules-api 6.0.6-alpha.0 → 6.0.9-alpha.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/DefaultGameSetup.d.ts +7 -0
- package/dist/DefaultGameSetup.js +15 -0
- package/dist/DefaultGameSetup.js.map +1 -0
- package/dist/GameSetup.d.ts +3 -0
- package/dist/{material/moves/Shuffle.js → GameSetup.js} +1 -1
- package/dist/GameSetup.js.map +1 -0
- package/dist/GameSetupCreator.d.ts +4 -0
- package/dist/{material/moves/CreateItem.js → GameSetupCreator.js} +1 -1
- package/dist/GameSetupCreator.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/dist/material/HiddenMaterialRules.d.ts +3 -3
- package/dist/material/HiddenMaterialRules.js.map +1 -1
- package/dist/material/MaterialGameSetup.d.ts +14 -0
- package/dist/material/MaterialGameSetup.js +43 -0
- package/dist/material/MaterialGameSetup.js.map +1 -0
- package/dist/material/MaterialRules.d.ts +7 -12
- package/dist/material/MaterialRules.js +4 -42
- package/dist/material/MaterialRules.js.map +1 -1
- package/dist/material/SecretMaterialRules.d.ts +2 -2
- package/dist/material/SecretMaterialRules.js.map +1 -1
- package/dist/material/index.d.ts +1 -0
- package/dist/material/index.js +1 -0
- package/dist/material/index.js.map +1 -1
- package/dist/material/items/Material.d.ts +2 -2
- package/dist/material/items/Material.js.map +1 -1
- package/dist/material/items/MaterialMutator.d.ts +3 -2
- package/dist/material/items/MaterialMutator.js +9 -0
- package/dist/material/items/MaterialMutator.js.map +1 -1
- package/dist/material/moves/MaterialMove.d.ts +2 -2
- package/dist/material/moves/items/ItemMove.d.ts +1 -1
- package/package.json +2 -2
- package/dist/material/helper/MaterialMoveBuilder.d.ts +0 -9
- package/dist/material/helper/MaterialMoveBuilder.js +0 -28
- package/dist/material/helper/MaterialMoveBuilder.js.map +0 -1
- package/dist/material/helper/MaterialSearchHelper.d.ts +0 -18
- package/dist/material/helper/MaterialSearchHelper.js +0 -62
- package/dist/material/helper/MaterialSearchHelper.js.map +0 -1
- package/dist/material/helper/index.d.ts +0 -2
- package/dist/material/helper/index.js +0 -19
- package/dist/material/helper/index.js.map +0 -1
- package/dist/material/items/MaterialOperation.d.ts +0 -17
- package/dist/material/items/MaterialOperation.js +0 -133
- package/dist/material/items/MaterialOperation.js.map +0 -1
- package/dist/material/moves/CreateItem.d.ts +0 -7
- package/dist/material/moves/CreateItem.js.map +0 -1
- package/dist/material/moves/DeleteItem.d.ts +0 -7
- package/dist/material/moves/DeleteItem.js +0 -3
- package/dist/material/moves/DeleteItem.js.map +0 -1
- package/dist/material/moves/MaterialMoveType.d.ts +0 -6
- package/dist/material/moves/MaterialMoveType.js +0 -11
- package/dist/material/moves/MaterialMoveType.js.map +0 -1
- package/dist/material/moves/MaterialMovesBuilder.d.ts +0 -8
- package/dist/material/moves/MaterialMovesBuilder.js +0 -34
- package/dist/material/moves/MaterialMovesBuilder.js.map +0 -1
- package/dist/material/moves/MoveItem.d.ts +0 -19
- package/dist/material/moves/MoveItem.js +0 -18
- package/dist/material/moves/MoveItem.js.map +0 -1
- package/dist/material/moves/Shuffle.d.ts +0 -9
- package/dist/material/moves/Shuffle.js.map +0 -1
- package/dist/material/moves/local/RulesDisplay.d.ts +0 -32
- package/dist/material/moves/local/RulesDisplay.js +0 -26
- package/dist/material/moves/local/RulesDisplay.js.map +0 -1
- package/dist/material/moves/rules/MaterialMutator.d.ts +0 -17
- package/dist/material/moves/rules/MaterialMutator.js +0 -133
- package/dist/material/moves/rules/MaterialMutator.js.map +0 -1
- package/dist/material/rules/MaterialStepRules.d.ts +0 -23
- package/dist/material/rules/MaterialStepRules.js +0 -98
- package/dist/material/rules/MaterialStepRules.js.map +0 -1
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { RulesCreator } from './RulesCreator';
|
|
2
|
+
import { GameSetup } from './GameSetup';
|
|
3
|
+
export declare class DefaultGameSetup<Game = any, Move = any, PlayerId = any, Options = any> implements GameSetup<Game, Options> {
|
|
4
|
+
private readonly Rules;
|
|
5
|
+
constructor(Rules: RulesCreator<Game, Move, PlayerId, Options>);
|
|
6
|
+
setup(options: Options): any;
|
|
7
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DefaultGameSetup = void 0;
|
|
4
|
+
var DefaultGameSetup = /** @class */ (function () {
|
|
5
|
+
function DefaultGameSetup(Rules) {
|
|
6
|
+
this.Rules = Rules;
|
|
7
|
+
}
|
|
8
|
+
DefaultGameSetup.prototype.setup = function (options) {
|
|
9
|
+
var rules = new this.Rules(options);
|
|
10
|
+
return rules.game;
|
|
11
|
+
};
|
|
12
|
+
return DefaultGameSetup;
|
|
13
|
+
}());
|
|
14
|
+
exports.DefaultGameSetup = DefaultGameSetup;
|
|
15
|
+
//# sourceMappingURL=DefaultGameSetup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DefaultGameSetup.js","sourceRoot":"","sources":["../src/DefaultGameSetup.ts"],"names":[],"mappings":";;;AAGA;IAGE,0BAAY,KAAkD;QAC5D,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;IACpB,CAAC;IAED,gCAAK,GAAL,UAAM,OAAgB;QACpB,IAAM,KAAK,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;QACrC,OAAO,KAAK,CAAC,IAAI,CAAA;IACnB,CAAC;IACH,uBAAC;AAAD,CAAC,AAXD,IAWC;AAXY,4CAAgB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GameSetup.js","sourceRoot":"","sources":["../src/GameSetup.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GameSetupCreator.js","sourceRoot":"","sources":["../src/GameSetupCreator.ts"],"names":[],"mappings":""}
|
package/dist/index.d.ts
CHANGED
|
@@ -4,8 +4,11 @@ export * from './utils';
|
|
|
4
4
|
export * from './Action';
|
|
5
5
|
export * from './ApplyAutomaticMoves';
|
|
6
6
|
export * from './Competitive';
|
|
7
|
+
export * from './DefaultGameSetup';
|
|
7
8
|
export * from './Dummy';
|
|
8
9
|
export * from './Eliminations';
|
|
10
|
+
export * from './GameSetup';
|
|
11
|
+
export * from './GameSetupCreator';
|
|
9
12
|
export * from './IncompleteInformation';
|
|
10
13
|
export * from './LoopWithFuse';
|
|
11
14
|
export * from './RandomMove';
|
package/dist/index.js
CHANGED
|
@@ -20,8 +20,11 @@ __exportStar(require("./utils"), exports);
|
|
|
20
20
|
__exportStar(require("./Action"), exports);
|
|
21
21
|
__exportStar(require("./ApplyAutomaticMoves"), exports);
|
|
22
22
|
__exportStar(require("./Competitive"), exports);
|
|
23
|
+
__exportStar(require("./DefaultGameSetup"), exports);
|
|
23
24
|
__exportStar(require("./Dummy"), exports);
|
|
24
25
|
__exportStar(require("./Eliminations"), exports);
|
|
26
|
+
__exportStar(require("./GameSetup"), exports);
|
|
27
|
+
__exportStar(require("./GameSetupCreator"), exports);
|
|
25
28
|
__exportStar(require("./IncompleteInformation"), exports);
|
|
26
29
|
__exportStar(require("./LoopWithFuse"), exports);
|
|
27
30
|
__exportStar(require("./RandomMove"), exports);
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6CAA0B;AAC1B,4CAAyB;AACzB,0CAAuB;AACvB,2CAAwB;AACxB,wDAAqC;AACrC,gDAA6B;AAC7B,0CAAuB;AACvB,iDAA8B;AAC9B,0DAAuC;AACvC,iDAA8B;AAC9B,+CAA4B;AAC5B,0CAAuB;AACvB,0CAAuB;AACvB,iDAA8B;AAC9B,8CAA2B;AAC3B,yCAAsB;AACtB,sDAAmC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6CAA0B;AAC1B,4CAAyB;AACzB,0CAAuB;AACvB,2CAAwB;AACxB,wDAAqC;AACrC,gDAA6B;AAC7B,qDAAkC;AAClC,0CAAuB;AACvB,iDAA8B;AAC9B,8CAA2B;AAC3B,qDAAkC;AAClC,0DAAuC;AACvC,iDAA8B;AAC9B,+CAA4B;AAC5B,0CAAuB;AACvB,0CAAuB;AACvB,iDAA8B;AAC9B,8CAA2B;AAC3B,yCAAsB;AACtB,sDAAmC"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { IncompleteInformation } from '../IncompleteInformation';
|
|
2
2
|
import { MaterialRules } from './MaterialRules';
|
|
3
3
|
import { MaterialGame } from './MaterialGame';
|
|
4
|
-
import { MaterialMove,
|
|
4
|
+
import { MaterialMove, MaterialMoveRandomized } from './moves';
|
|
5
5
|
import { ItemPosition, Material } from './items';
|
|
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
|
-
abstract
|
|
7
|
+
abstract readonly hidingStrategies: Partial<Record<M, Partial<Record<L, HidingStrategy<P, L>>>>>;
|
|
8
8
|
material(type: M): Material<P, M, L>;
|
|
9
9
|
isUnpredictableMove(move: MaterialMove<P, M, L>, player: P): boolean;
|
|
10
10
|
protected moveBlocksUndo(move: MaterialMove<P, M, L>): boolean;
|
|
@@ -12,7 +12,7 @@ export declare abstract class HiddenMaterialRules<P extends number = number, M e
|
|
|
12
12
|
getView(player?: P): any;
|
|
13
13
|
private hideItem;
|
|
14
14
|
private getItemHiddenPaths;
|
|
15
|
-
getMoveView(move:
|
|
15
|
+
getMoveView(move: MaterialMoveRandomized<P, M, L>, player?: P): MaterialMove<P, M, L>;
|
|
16
16
|
private getMoveItemView;
|
|
17
17
|
private getMoveItemRevealedPath;
|
|
18
18
|
private moveItemWillRevealSomething;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HiddenMaterialRules.js","sourceRoot":"","sources":["../../src/material/HiddenMaterialRules.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,+DAAwC;AACxC,iDAA+C;AAE/C,
|
|
1
|
+
{"version":3,"file":"HiddenMaterialRules.js","sourceRoot":"","sources":["../../src/material/HiddenMaterialRules.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { MaterialGame } from './MaterialGame';
|
|
2
|
+
import { Material } from './items';
|
|
3
|
+
import { RuleStep } from './rules';
|
|
4
|
+
import { LocationStrategy } from './location';
|
|
5
|
+
import { GameSetup } from '../GameSetup';
|
|
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> {
|
|
7
|
+
readonly locationsStrategies: Partial<Record<M, Partial<Record<L, LocationStrategy<P, M, L>>>>>;
|
|
8
|
+
protected game: MaterialGame<P, M, L>;
|
|
9
|
+
setup(options: Options): MaterialGame<P, M, L>;
|
|
10
|
+
get players(): P[];
|
|
11
|
+
abstract setupMaterial(options: Options): void;
|
|
12
|
+
material(type: M): Material<P, M, L>;
|
|
13
|
+
abstract start(options: Options): RuleStep<P>;
|
|
14
|
+
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MaterialGameSetup = void 0;
|
|
4
|
+
var items_1 = require("./items");
|
|
5
|
+
var MaterialGameSetup = /** @class */ (function () {
|
|
6
|
+
function MaterialGameSetup() {
|
|
7
|
+
this.locationsStrategies = {};
|
|
8
|
+
this.game = { players: [], items: {} };
|
|
9
|
+
}
|
|
10
|
+
MaterialGameSetup.prototype.setup = function (options) {
|
|
11
|
+
this.game = { players: getPlayerIds(options), items: {} };
|
|
12
|
+
this.setupMaterial(options);
|
|
13
|
+
this.game.rule = this.start(options);
|
|
14
|
+
return this.game;
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(MaterialGameSetup.prototype, "players", {
|
|
17
|
+
get: function () {
|
|
18
|
+
return this.game.players;
|
|
19
|
+
},
|
|
20
|
+
enumerable: false,
|
|
21
|
+
configurable: true
|
|
22
|
+
});
|
|
23
|
+
MaterialGameSetup.prototype.material = function (type) {
|
|
24
|
+
if (!this.game.items[type])
|
|
25
|
+
this.game.items[type] = [];
|
|
26
|
+
var items = this.game.items[type];
|
|
27
|
+
var mutator = new items_1.MaterialMutator(type, items, this.locationsStrategies[type]);
|
|
28
|
+
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)))); });
|
|
29
|
+
};
|
|
30
|
+
return MaterialGameSetup;
|
|
31
|
+
}());
|
|
32
|
+
exports.MaterialGameSetup = MaterialGameSetup;
|
|
33
|
+
function getPlayerIds(options) {
|
|
34
|
+
var _a;
|
|
35
|
+
if (Array.isArray(options.players)) {
|
|
36
|
+
return options.players.map(function (player) { return player.id; });
|
|
37
|
+
}
|
|
38
|
+
else {
|
|
39
|
+
var numberOfPlayers = (_a = options.players) !== null && _a !== void 0 ? _a : 2;
|
|
40
|
+
return Array.from(Array(numberOfPlayers).keys()).map(function (id) { return (id + 1); });
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=MaterialGameSetup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MaterialGameSetup.js","sourceRoot":"","sources":["../../src/material/MaterialGameSetup.ts"],"names":[],"mappings":";;;AACA,iCAAmD;AAKnD;IAAA;QAGW,wBAAmB,GAAsE,EAAE,CAAA;QAE1F,SAAI,GAA0B,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAA;IAwBpE,CAAC;IAtBC,iCAAK,GAAL,UAAM,OAAgB;QACpB,IAAI,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,YAAY,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAA;QACzD,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAA;QAC3B,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;QACpC,OAAO,IAAI,CAAC,IAAI,CAAA;IAClB,CAAC;IAED,sBAAI,sCAAO;aAAX;YACE,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAA;QAC1B,CAAC;;;OAAA;IAID,oCAAQ,GAAR,UAAS,IAAO;QACd,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;YAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,CAAA;QACtD,IAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAE,CAAA;QACpC,IAAM,OAAO,GAAG,IAAI,uBAAe,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAA;QAChF,OAAO,IAAI,gBAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,UAAA,KAAK,IAAI,OAAA,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,CAAC,EAAvB,CAAuB,CAAC,EAC5F,UAAA,IAAI,IAAI,OAAA,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAtE,CAAsE,CAAC,CAAA;IACnF,CAAC;IAGH,wBAAC;AAAD,CAAC,AA7BD,IA6BC;AA7BqB,8CAAiB;AA+BvC,SAAS,YAAY,CAAiC,OAAY;;IAChE,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;QAClC,OAAO,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,UAAC,MAAW,IAAK,OAAA,MAAM,CAAC,EAAE,EAAT,CAAS,CAAC,CAAA;KACvD;SAAM;QACL,IAAM,eAAe,GAAG,MAAA,OAAO,CAAC,OAAO,mCAAI,CAAC,CAAA;QAC5C,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAClD,UAAC,EAAE,IAAK,OAAA,CAAC,EAAE,GAAG,CAAC,CAAW,EAAlB,CAAkB,CAC3B,CAAA;KACF;AACH,CAAC"}
|
|
@@ -1,27 +1,22 @@
|
|
|
1
1
|
import { MaterialGame } from './MaterialGame';
|
|
2
2
|
import { Rules } from '../Rules';
|
|
3
|
-
import { MaterialMove,
|
|
3
|
+
import { MaterialMove, MaterialMoveRandomized } from './moves';
|
|
4
4
|
import { Material, MaterialItem } from './items';
|
|
5
5
|
import { RandomMove } from '../RandomMove';
|
|
6
|
-
import {
|
|
6
|
+
import { MaterialRulesPart, MaterialRulesPartCreator } from './rules';
|
|
7
7
|
import { LocationStrategy } from './location';
|
|
8
8
|
import { Undo } from '../Undo';
|
|
9
9
|
import { Action } from '../Action';
|
|
10
|
-
export declare abstract class MaterialRules<Player extends number = number, MaterialType extends number = number, LocationType extends number = number> extends Rules<MaterialGame<Player, MaterialType, LocationType>, MaterialMove<Player, MaterialType, LocationType>, Player> implements RandomMove<MaterialMove<Player, MaterialType, LocationType>,
|
|
11
|
-
constructor(state: MaterialGame<Player, MaterialType, LocationType>);
|
|
12
|
-
constructor(options: any);
|
|
10
|
+
export declare abstract class MaterialRules<Player extends number = number, MaterialType extends number = number, LocationType extends number = number> extends Rules<MaterialGame<Player, MaterialType, LocationType>, MaterialMove<Player, MaterialType, LocationType>, Player> implements RandomMove<MaterialMove<Player, MaterialType, LocationType>, MaterialMoveRandomized<Player, MaterialType, LocationType>>, Undo<MaterialGame<Player, MaterialType, LocationType>, MaterialMove<Player, MaterialType, LocationType>, Player> {
|
|
13
11
|
items(type: MaterialType): MaterialItem<Player, LocationType>[];
|
|
14
|
-
setupMaterial(type: MaterialType): Material<Player, MaterialType, LocationType>;
|
|
15
12
|
material(type: MaterialType): Material<Player, MaterialType, LocationType>;
|
|
16
|
-
abstract
|
|
17
|
-
|
|
18
|
-
get locationsStrategies(): Partial<Record<MaterialType, Partial<Record<LocationType, LocationStrategy<Player, MaterialType, LocationType>>>>>;
|
|
13
|
+
abstract readonly rules: Record<number, MaterialRulesPartCreator<Player, MaterialType, LocationType>>;
|
|
14
|
+
readonly locationsStrategies: Partial<Record<MaterialType, Partial<Record<LocationType, LocationStrategy<Player, MaterialType, LocationType>>>>>;
|
|
19
15
|
get players(): Player[];
|
|
20
16
|
getMemory<T>(player?: Player): T;
|
|
21
17
|
delegate(): MaterialRulesPart<Player, MaterialType, LocationType> | undefined;
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
play(move: MaterialMove<Player, MaterialType, LocationType> & MaterialRulesMoveRandomized<Player, MaterialType, LocationType>): MaterialMove<Player, MaterialType, LocationType>[];
|
|
18
|
+
randomize(move: MaterialMove<Player, MaterialType, LocationType>): MaterialMove<Player, MaterialType, LocationType> & MaterialMoveRandomized<Player, MaterialType, LocationType>;
|
|
19
|
+
play(move: MaterialMove<Player, MaterialType, LocationType> & MaterialMoveRandomized<Player, MaterialType, LocationType>): MaterialMove<Player, MaterialType, LocationType>[];
|
|
25
20
|
isMoveTrigger(move: MaterialMove<Player, MaterialType, LocationType>, predicate: (move: MaterialMove<Player, MaterialType, LocationType>) => boolean): boolean;
|
|
26
21
|
canUndo(action: Action<MaterialMove<Player, MaterialType, LocationType>, Player>, consecutiveActions: Action<MaterialMove<Player, MaterialType, LocationType>, Player>[]): boolean;
|
|
27
22
|
protected actionBlocksUndo(action: Action<MaterialMove<Player, MaterialType, LocationType>, Player>): boolean;
|
|
@@ -25,48 +25,26 @@ var __assign = (this && this.__assign) || function () {
|
|
|
25
25
|
};
|
|
26
26
|
return __assign.apply(this, arguments);
|
|
27
27
|
};
|
|
28
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
29
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
30
|
-
};
|
|
31
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
32
29
|
exports.MaterialRules = void 0;
|
|
33
30
|
var Rules_1 = require("../Rules");
|
|
34
31
|
var moves_1 = require("./moves");
|
|
35
|
-
var shuffle_1 = __importDefault(require("lodash/shuffle"));
|
|
36
32
|
var items_1 = require("./items");
|
|
37
33
|
var MaterialRules = /** @class */ (function (_super) {
|
|
38
34
|
__extends(MaterialRules, _super);
|
|
39
|
-
function MaterialRules(
|
|
40
|
-
var _this = this;
|
|
41
|
-
|
|
42
|
-
_this = _super.call(this, isNewGame ? { players: getPlayerIds(arg), items: {} } : arg) || this;
|
|
43
|
-
if (isNewGame) {
|
|
44
|
-
_this.setup(arg);
|
|
45
|
-
}
|
|
35
|
+
function MaterialRules() {
|
|
36
|
+
var _this = _super !== null && _super.apply(this, arguments) || this;
|
|
37
|
+
_this.locationsStrategies = {};
|
|
46
38
|
return _this;
|
|
47
39
|
}
|
|
48
40
|
MaterialRules.prototype.items = function (type) {
|
|
49
41
|
var _a;
|
|
50
42
|
return (_a = this.game.items[type]) !== null && _a !== void 0 ? _a : [];
|
|
51
43
|
};
|
|
52
|
-
MaterialRules.prototype.setupMaterial = function (type) {
|
|
53
|
-
var _this = this;
|
|
54
|
-
var _a;
|
|
55
|
-
return new items_1.Material(type, Array.from(((_a = this.game.items[type]) !== null && _a !== void 0 ? _a : []).entries()).filter(function (entry) { return entry[1].quantity !== 0; }), function (move) {
|
|
56
|
-
_this.play(_this.randomize(JSON.parse(JSON.stringify(move))));
|
|
57
|
-
});
|
|
58
|
-
};
|
|
59
44
|
MaterialRules.prototype.material = function (type) {
|
|
60
45
|
var _a;
|
|
61
46
|
return new items_1.Material(type, Array.from(((_a = this.game.items[type]) !== null && _a !== void 0 ? _a : []).entries()).filter(function (entry) { return entry[1].quantity !== 0; }));
|
|
62
47
|
};
|
|
63
|
-
Object.defineProperty(MaterialRules.prototype, "locationsStrategies", {
|
|
64
|
-
get: function () {
|
|
65
|
-
return {};
|
|
66
|
-
},
|
|
67
|
-
enumerable: false,
|
|
68
|
-
configurable: true
|
|
69
|
-
});
|
|
70
48
|
Object.defineProperty(MaterialRules.prototype, "players", {
|
|
71
49
|
get: function () {
|
|
72
50
|
return this.game.players;
|
|
@@ -86,15 +64,9 @@ var MaterialRules = /** @class */ (function (_super) {
|
|
|
86
64
|
var RulesStep = this.rules[this.game.rule.id];
|
|
87
65
|
return new RulesStep(this.game, function (type) { return _this.material(type); });
|
|
88
66
|
};
|
|
89
|
-
MaterialRules.prototype.start = function (id, player, memory) {
|
|
90
|
-
this.game.rule = { id: id, player: player, memory: memory };
|
|
91
|
-
};
|
|
92
67
|
MaterialRules.prototype.randomize = function (move) {
|
|
93
68
|
if (move.kind === moves_1.MoveKind.ItemMove) {
|
|
94
|
-
|
|
95
|
-
case moves_1.ItemMoveType.Shuffle:
|
|
96
|
-
return __assign(__assign({}, move), { newIndexes: (0, shuffle_1.default)(move.indexes) });
|
|
97
|
-
}
|
|
69
|
+
return new items_1.MaterialMutator(move.itemType, this.game.items[move.itemType], this.locationsStrategies[move.itemType]).randomize(move);
|
|
98
70
|
}
|
|
99
71
|
return move;
|
|
100
72
|
};
|
|
@@ -208,14 +180,4 @@ var MaterialRules = /** @class */ (function (_super) {
|
|
|
208
180
|
return MaterialRules;
|
|
209
181
|
}(Rules_1.Rules));
|
|
210
182
|
exports.MaterialRules = MaterialRules;
|
|
211
|
-
function getPlayerIds(options) {
|
|
212
|
-
var _a;
|
|
213
|
-
if (Array.isArray(options.players)) {
|
|
214
|
-
return options.players.map(function (player) { return player.id; });
|
|
215
|
-
}
|
|
216
|
-
else {
|
|
217
|
-
var numberOfPlayers = (_a = options.players) !== null && _a !== void 0 ? _a : 2;
|
|
218
|
-
return Array.from(Array(numberOfPlayers).keys()).map(function (id) { return (id + 1); });
|
|
219
|
-
}
|
|
220
|
-
}
|
|
221
183
|
//# sourceMappingURL=MaterialRules.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MaterialRules.js","sourceRoot":"","sources":["../../src/material/MaterialRules.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"MaterialRules.js","sourceRoot":"","sources":["../../src/material/MaterialRules.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { SecretInformation } from '../IncompleteInformation';
|
|
2
2
|
import { HiddenMaterialRules } from './HiddenMaterialRules';
|
|
3
3
|
import { MaterialGame } from './MaterialGame';
|
|
4
|
-
import { MaterialMove,
|
|
4
|
+
import { MaterialMove, MaterialMoveRandomized } from './moves';
|
|
5
5
|
import { MaterialItem } from './items';
|
|
6
6
|
export declare abstract class SecretMaterialRules<Player extends number = number, MaterialType extends number = number, LocationType extends number = number> extends HiddenMaterialRules<Player, MaterialType, LocationType> implements SecretInformation<MaterialGame, MaterialMove<Player, MaterialType, LocationType>, MaterialMove<Player, MaterialType, LocationType>, Player> {
|
|
7
7
|
abstract hidingStrategies: Partial<Record<MaterialType, Partial<Record<LocationType, HidingSecretsStrategy<Player, LocationType>>>>>;
|
|
8
8
|
getPlayerView(player: Player): MaterialGame<Player, MaterialType, LocationType>;
|
|
9
|
-
getPlayerMoveView(move:
|
|
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
12
|
export declare const hideItemIdToOthers: <P extends number = number, L extends number = number>(item: MaterialItem<P, L, any>, player?: P) => string[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SecretMaterialRules.js","sourceRoot":"","sources":["../../src/material/SecretMaterialRules.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AACA,6DAA2D;AAK3D;IACU,uCAAuD;IADjE;;IAaA,CAAC;IAPC,2CAAa,GAAb,UAAc,MAAc;QAC1B,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;IAC7B,CAAC;IAED,+CAAiB,GAAjB,UAAkB,
|
|
1
|
+
{"version":3,"file":"SecretMaterialRules.js","sourceRoot":"","sources":["../../src/material/SecretMaterialRules.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AACA,6DAA2D;AAK3D;IACU,uCAAuD;IADjE;;IAaA,CAAC;IAPC,2CAAa,GAAb,UAAc,MAAc;QAC1B,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;IAC7B,CAAC;IAED,+CAAiB,GAAjB,UAAkB,IAAgE,EAAE,MAAc;QAChG,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;IACvC,CAAC;IACH,0BAAC;AAAD,CAAC,AAbD,CACU,yCAAmB,GAY5B;AAbqB,kDAAmB;AAiBlC,IAAM,kBAAkB,GAAG,UAChC,IAAwB,EAAE,MAAU,IACvB,OAAA,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAA7C,CAA6C,CAAA;AAF/C,QAAA,kBAAkB,sBAE6B"}
|
package/dist/material/index.d.ts
CHANGED
package/dist/material/index.js
CHANGED
|
@@ -21,5 +21,6 @@ __exportStar(require("./rules"), exports);
|
|
|
21
21
|
__exportStar(require("./HiddenMaterialRules"), exports);
|
|
22
22
|
__exportStar(require("./MaterialGame"), exports);
|
|
23
23
|
__exportStar(require("./MaterialRules"), exports);
|
|
24
|
+
__exportStar(require("./MaterialGameSetup"), exports);
|
|
24
25
|
__exportStar(require("./SecretMaterialRules"), exports);
|
|
25
26
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/material/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0CAAuB;AACvB,6CAA0B;AAC1B,0CAAuB;AACvB,0CAAuB;AACvB,wDAAqC;AACrC,iDAA8B;AAC9B,kDAA+B;AAC/B,wDAAqC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/material/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0CAAuB;AACvB,6CAA0B;AAC1B,0CAAuB;AACvB,0CAAuB;AACvB,wDAAqC;AACrC,iDAA8B;AAC9B,kDAA+B;AAC/B,sDAAmC;AACnC,wDAAqC"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { ItemPosition, MaterialItem } from './MaterialItem';
|
|
2
2
|
import { Location } from '../location';
|
|
3
|
-
import { CreateItem, DeleteItem,
|
|
3
|
+
import { CreateItem, DeleteItem, ItemMove, MoveItem, Shuffle } from '../moves';
|
|
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
|
private readonly type;
|
|
7
7
|
private readonly entries;
|
|
8
8
|
private readonly processMove?;
|
|
9
|
-
constructor(type: M, items: ItemEntry<P, L>[], processMove?: (move:
|
|
9
|
+
constructor(type: M, items: ItemEntry<P, L>[], processMove?: (move: ItemMove<P, M, L>) => void);
|
|
10
10
|
private new;
|
|
11
11
|
getItems(): MaterialItem<P, L>[];
|
|
12
12
|
getItems<T>(mapFn: (item: MaterialItem<P, L>) => T): T[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Material.js","sourceRoot":"","sources":["../../../src/material/items/Material.ts"],"names":[],"mappings":";;;;;;AAEA,oEAAmC;AACnC,
|
|
1
|
+
{"version":3,"file":"Material.js","sourceRoot":"","sources":["../../../src/material/items/Material.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import { MaterialItem } from './index';
|
|
2
2
|
import { LocationStrategy } from '../location';
|
|
3
|
-
import { CreateItem,
|
|
3
|
+
import { CreateItem, ItemMove, ItemMoveRandomized, MoveItem } from '../moves';
|
|
4
4
|
export declare class MaterialMutator<P extends number = number, M extends number = number, L extends number = number> {
|
|
5
5
|
readonly type: M;
|
|
6
6
|
items: MaterialItem<P, L>[];
|
|
7
7
|
locationsStrategies: Partial<Record<L, LocationStrategy<P, M, L>>>;
|
|
8
8
|
constructor(type: M, items: MaterialItem<P, L>[], locationsStrategies?: Partial<Record<L, LocationStrategy<P, M, L>>>);
|
|
9
|
-
|
|
9
|
+
randomize(move: ItemMove<P, M, L>): ItemMoveRandomized<P, M, L>;
|
|
10
|
+
applyMove(move: ItemMoveRandomized<P, M, L>): void;
|
|
10
11
|
private findMergeIndex;
|
|
11
12
|
private addItem;
|
|
12
13
|
private applyAddItemStrategy;
|
|
@@ -30,6 +30,7 @@ var index_1 = require("./index");
|
|
|
30
30
|
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
|
+
var shuffle_1 = __importDefault(require("lodash/shuffle"));
|
|
33
34
|
var MaterialMutator = /** @class */ (function () {
|
|
34
35
|
function MaterialMutator(type, items, locationsStrategies) {
|
|
35
36
|
if (locationsStrategies === void 0) { locationsStrategies = {}; }
|
|
@@ -37,6 +38,14 @@ var MaterialMutator = /** @class */ (function () {
|
|
|
37
38
|
this.items = items;
|
|
38
39
|
this.locationsStrategies = locationsStrategies;
|
|
39
40
|
}
|
|
41
|
+
MaterialMutator.prototype.randomize = function (move) {
|
|
42
|
+
switch (move.type) {
|
|
43
|
+
case moves_1.ItemMoveType.Shuffle:
|
|
44
|
+
return __assign(__assign({}, move), { newIndexes: (0, shuffle_1.default)(move.indexes) });
|
|
45
|
+
default:
|
|
46
|
+
return move;
|
|
47
|
+
}
|
|
48
|
+
};
|
|
40
49
|
MaterialMutator.prototype.applyMove = function (move) {
|
|
41
50
|
switch (move.type) {
|
|
42
51
|
case moves_1.ItemMoveType.Create:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MaterialMutator.js","sourceRoot":"","sources":["../../../src/material/items/MaterialMutator.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iCAAgD;AAChD,oEAAmC;AAEnC,
|
|
1
|
+
{"version":3,"file":"MaterialMutator.js","sourceRoot":"","sources":["../../../src/material/items/MaterialMutator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { RuleMove } from './rules';
|
|
2
2
|
import { CustomMove } from './CustomMove';
|
|
3
|
-
import { ItemMove,
|
|
3
|
+
import { ItemMove, ItemMoveRandomized } from './items';
|
|
4
4
|
import { LocalMove } from './local';
|
|
5
5
|
export declare type MaterialMove<Player extends number = number, MaterialType extends number = number, LocationType extends number = number> = ItemMove<Player, MaterialType, LocationType> | RuleMove<Player> | CustomMove | LocalMove<Player, MaterialType, LocationType>;
|
|
6
|
-
export declare type
|
|
6
|
+
export declare type MaterialMoveRandomized<Player extends number = number, MaterialType extends number = number, LocationType extends number = number> = ItemMoveRandomized<Player, MaterialType, LocationType> | RuleMove<Player> | CustomMove | LocalMove<Player, MaterialType, LocationType>;
|
|
@@ -8,4 +8,4 @@ export declare type MaterialMoveCommon<MaterialType extends number = number> = {
|
|
|
8
8
|
kind: typeof MoveKind.ItemMove;
|
|
9
9
|
itemType: MaterialType;
|
|
10
10
|
};
|
|
11
|
-
export declare type
|
|
11
|
+
export declare type ItemMoveRandomized<Player extends number = number, MaterialType extends number = number, LocationType extends number = number> = Exclude<ItemMove<Player, MaterialType, LocationType>, Shuffle<MaterialType>> | ShuffleRandomized<MaterialType>;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gamepark/rules-api",
|
|
3
|
-
"version": "6.0.
|
|
3
|
+
"version": "6.0.9-alpha.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": "2fe9f7b869758ff4e3ae013f0531424567ee419f"
|
|
33
33
|
}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { MaterialMove } from '../';
|
|
2
|
-
import { MaterialItem } from '../items';
|
|
3
|
-
import { Location } from '../location';
|
|
4
|
-
export declare class MaterialMoveBuilder<Player extends number = number, MaterialType extends number = number, LocationType extends number = number> {
|
|
5
|
-
items: [number, MaterialItem<Player, LocationType>][];
|
|
6
|
-
private readonly type;
|
|
7
|
-
constructor(items: [number, MaterialItem<Player, LocationType>][], type: MaterialType);
|
|
8
|
-
moveTo(locationType: LocationType, factory: ((item: [number, MaterialItem<Player, LocationType>]) => Omit<Location<Player, LocationType>, 'type'>) | Omit<Location<Player, LocationType>, 'type'>): MaterialMove<Player, MaterialType, LocationType>[];
|
|
9
|
-
}
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __assign = (this && this.__assign) || function () {
|
|
3
|
-
__assign = Object.assign || function(t) {
|
|
4
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
-
s = arguments[i];
|
|
6
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
-
t[p] = s[p];
|
|
8
|
-
}
|
|
9
|
-
return t;
|
|
10
|
-
};
|
|
11
|
-
return __assign.apply(this, arguments);
|
|
12
|
-
};
|
|
13
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
-
exports.MaterialMoveBuilder = void 0;
|
|
15
|
-
var __1 = require("../");
|
|
16
|
-
var MaterialMoveBuilder = /** @class */ (function () {
|
|
17
|
-
function MaterialMoveBuilder(items, type) {
|
|
18
|
-
this.items = items;
|
|
19
|
-
this.type = type;
|
|
20
|
-
}
|
|
21
|
-
MaterialMoveBuilder.prototype.moveTo = function (locationType, factory) {
|
|
22
|
-
var _this = this;
|
|
23
|
-
return this.items.map(function (i) { return ((0, __1.createMoveItemMove)(_this.type, i[0], { location: __assign({ type: locationType }, (typeof factory === 'function' ? factory === null || factory === void 0 ? void 0 : factory(i) : (factory !== null && factory !== void 0 ? factory : {}))) })); });
|
|
24
|
-
};
|
|
25
|
-
return MaterialMoveBuilder;
|
|
26
|
-
}());
|
|
27
|
-
exports.MaterialMoveBuilder = MaterialMoveBuilder;
|
|
28
|
-
//# sourceMappingURL=MaterialMoveBuilder.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"MaterialMoveBuilder.js","sourceRoot":"","sources":["../../../src/material/helper/MaterialMoveBuilder.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,yBAAsD;AAItD;IAIE,6BACE,KAAqD,EACrD,IAAkB;QAElB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;QAClB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;IAClB,CAAC;IAED,oCAAM,GAAN,UACE,YAA0B,EAC1B,OAEiG;QAJnG,iBASC;QAHC,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAA,CAAC,IAAI,OAAA,CACzB,IAAA,sBAAkB,EAAC,KAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,QAAQ,aAAI,IAAI,EAAE,YAAY,IAAK,CAAC,OAAO,OAAO,KAAK,UAAU,CAAC,CAAC,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,EAAE,CAAC,CAAC,CAAE,EAAE,CAAC,CAC/I,EAF0B,CAE1B,CAAC,CAAA;IACJ,CAAC;IACH,0BAAC;AAAD,CAAC,AAtBD,IAsBC;AAtBY,kDAAmB"}
|