@gamepark/rules-api 5.23.2 → 6.0.1-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/Action.d.ts +4 -5
- package/dist/Action.js +6 -6
- package/dist/Action.js.map +1 -1
- package/dist/ApplyAutomaticMoves.d.ts +1 -1
- package/dist/ApplyAutomaticMoves.js +1 -1
- package/dist/ApplyAutomaticMoves.js.map +1 -1
- package/dist/Competitive.d.ts +2 -2
- package/dist/Dummy.d.ts +2 -2
- package/dist/Dummy.js +2 -1
- package/dist/Dummy.js.map +1 -1
- package/dist/Eliminations.d.ts +1 -1
- package/dist/IncompleteInformation.d.ts +2 -2
- package/dist/RandomMove.d.ts +2 -2
- package/dist/RandomMove.js +4 -2
- package/dist/RandomMove.js.map +1 -1
- package/dist/Robot.d.ts +1 -2
- package/dist/Rules.d.ts +2 -1
- package/dist/Rules.js +2 -1
- package/dist/Rules.js.map +1 -1
- package/dist/RulesCreator.d.ts +2 -2
- package/dist/TimeLimit.d.ts +2 -2
- package/dist/Undo.d.ts +2 -2
- package/dist/UnpredictableMove.d.ts +12 -0
- package/dist/UnpredictableMove.js +43 -0
- package/dist/UnpredictableMove.js.map +1 -0
- package/dist/index.d.ts +13 -18
- package/dist/index.js +13 -17
- package/dist/index.js.map +1 -1
- package/dist/material/HiddenMaterialRules.d.ts +19 -0
- package/dist/material/HiddenMaterialRules.js +138 -0
- package/dist/material/HiddenMaterialRules.js.map +1 -0
- package/dist/material/MaterialGame.d.ts +11 -0
- package/dist/material/MaterialGame.js +3 -0
- package/dist/material/MaterialGame.js.map +1 -0
- package/dist/material/MaterialRules.d.ts +32 -0
- package/dist/material/MaterialRules.js +216 -0
- package/dist/material/MaterialRules.js.map +1 -0
- package/dist/material/SecretMaterialRules.d.ts +12 -0
- package/dist/material/SecretMaterialRules.js +52 -0
- package/dist/material/SecretMaterialRules.js.map +1 -0
- package/dist/material/helper/MaterialMoveBuilder.d.ts +9 -0
- package/dist/material/helper/MaterialMoveBuilder.js +28 -0
- package/dist/material/helper/MaterialMoveBuilder.js.map +1 -0
- package/dist/material/helper/MaterialSearchHelper.d.ts +18 -0
- package/dist/material/helper/MaterialSearchHelper.js +62 -0
- package/dist/material/helper/MaterialSearchHelper.js.map +1 -0
- package/dist/material/helper/index.d.ts +2 -0
- package/dist/material/helper/index.js +19 -0
- package/dist/material/helper/index.js.map +1 -0
- package/dist/material/index.d.ts +9 -0
- package/dist/material/index.js +26 -0
- package/dist/material/index.js.map +1 -0
- package/dist/material/items/Material.d.ts +30 -0
- package/dist/material/items/Material.js +149 -0
- package/dist/material/items/Material.js.map +1 -0
- package/dist/material/items/MaterialItem.d.ts +10 -0
- package/dist/material/items/MaterialItem.js +3 -0
- package/dist/material/items/MaterialItem.js.map +1 -0
- package/dist/material/items/MaterialOperation.d.ts +20 -0
- package/dist/material/items/MaterialOperation.js +147 -0
- package/dist/material/items/MaterialOperation.js.map +1 -0
- package/dist/material/items/index.d.ts +3 -0
- package/dist/material/items/index.js +20 -0
- package/dist/material/items/index.js.map +1 -0
- package/dist/material/location/Location.d.ts +14 -0
- package/dist/material/location/Location.js +12 -0
- package/dist/material/location/Location.js.map +1 -0
- package/dist/material/location/index.d.ts +2 -0
- package/dist/material/location/index.js +19 -0
- package/dist/material/location/index.js.map +1 -0
- package/dist/material/location/strategy/LocationStrategy.d.ts +5 -0
- package/dist/material/location/strategy/LocationStrategy.js +3 -0
- package/dist/material/location/strategy/LocationStrategy.js.map +1 -0
- package/dist/material/location/strategy/PositiveSequenceStrategy.d.ts +11 -0
- package/dist/material/location/strategy/PositiveSequenceStrategy.js +42 -0
- package/dist/material/location/strategy/PositiveSequenceStrategy.js.map +1 -0
- package/dist/material/location/strategy/index.d.ts +2 -0
- package/dist/material/location/strategy/index.js +19 -0
- package/dist/material/location/strategy/index.js.map +1 -0
- package/dist/material/moves/CreateItem.d.ts +7 -0
- package/dist/material/moves/CreateItem.js +3 -0
- package/dist/material/moves/CreateItem.js.map +1 -0
- package/dist/material/moves/CustomMove.d.ts +6 -0
- package/dist/material/moves/CustomMove.js +3 -0
- package/dist/material/moves/CustomMove.js.map +1 -0
- package/dist/material/moves/DeleteItem.d.ts +7 -0
- package/dist/material/moves/DeleteItem.js +3 -0
- package/dist/material/moves/DeleteItem.js.map +1 -0
- package/dist/material/moves/MaterialMove.d.ts +11 -0
- package/dist/material/moves/MaterialMove.js +3 -0
- package/dist/material/moves/MaterialMove.js.map +1 -0
- package/dist/material/moves/MaterialMoveType.d.ts +6 -0
- package/dist/material/moves/MaterialMoveType.js +11 -0
- package/dist/material/moves/MaterialMoveType.js.map +1 -0
- package/dist/material/moves/MaterialMovesBuilder.d.ts +8 -0
- package/dist/material/moves/MaterialMovesBuilder.js +34 -0
- package/dist/material/moves/MaterialMovesBuilder.js.map +1 -0
- package/dist/material/moves/MaterialRulesMove.d.ts +6 -0
- package/dist/material/moves/MaterialRulesMove.js +3 -0
- package/dist/material/moves/MaterialRulesMove.js.map +1 -0
- package/dist/material/moves/MoveItem.d.ts +17 -0
- package/dist/material/moves/MoveItem.js +54 -0
- package/dist/material/moves/MoveItem.js.map +1 -0
- package/dist/material/moves/MoveKind.d.ts +6 -0
- package/dist/material/moves/MoveKind.js +11 -0
- package/dist/material/moves/MoveKind.js.map +1 -0
- package/dist/material/moves/Shuffle.d.ts +9 -0
- package/dist/material/moves/Shuffle.js +3 -0
- package/dist/material/moves/Shuffle.js.map +1 -0
- package/dist/material/moves/index.d.ts +11 -0
- package/dist/material/moves/index.js +28 -0
- package/dist/material/moves/index.js.map +1 -0
- package/dist/material/moves/local/LocalMove.d.ts +6 -0
- package/dist/material/moves/local/LocalMove.js +9 -0
- package/dist/material/moves/local/LocalMove.js.map +1 -0
- package/dist/material/moves/local/RulesDisplay.d.ts +32 -0
- package/dist/material/moves/local/RulesDisplay.js +26 -0
- package/dist/material/moves/local/RulesDisplay.js.map +1 -0
- package/dist/material/moves/local/index.d.ts +2 -0
- package/dist/material/moves/local/index.js +19 -0
- package/dist/material/moves/local/index.js.map +1 -0
- package/dist/material/moves/rules/EndGame.d.ts +4 -0
- package/dist/material/moves/rules/EndGame.js +3 -0
- package/dist/material/moves/rules/EndGame.js.map +1 -0
- package/dist/material/moves/rules/RuleMove.d.ts +16 -0
- package/dist/material/moves/rules/RuleMove.js +19 -0
- package/dist/material/moves/rules/RuleMove.js.map +1 -0
- package/dist/material/moves/rules/StartPlayerTurn.d.ts +7 -0
- package/dist/material/moves/rules/StartPlayerTurn.js +3 -0
- package/dist/material/moves/rules/StartPlayerTurn.js.map +1 -0
- package/dist/material/moves/rules/StartRule.d.ts +7 -0
- package/dist/material/moves/rules/StartRule.js +3 -0
- package/dist/material/moves/rules/StartRule.js.map +1 -0
- package/dist/material/moves/rules/index.d.ts +4 -0
- package/dist/material/moves/rules/index.js +21 -0
- package/dist/material/moves/rules/index.js.map +1 -0
- package/dist/material/rules/MaterialRulesMovesBuilder.d.ts +10 -0
- package/dist/material/rules/MaterialRulesMovesBuilder.js +35 -0
- package/dist/material/rules/MaterialRulesMovesBuilder.js.map +1 -0
- package/dist/material/rules/MaterialStepRules.d.ts +22 -0
- package/dist/material/rules/MaterialStepRules.js +101 -0
- package/dist/material/rules/MaterialStepRules.js.map +1 -0
- package/dist/material/rules/PlayerTurnRule.d.ts +10 -0
- package/dist/material/rules/PlayerTurnRule.js +53 -0
- package/dist/material/rules/PlayerTurnRule.js.map +1 -0
- package/dist/material/rules/RuleStep.d.ts +6 -0
- package/dist/material/rules/RuleStep.js +3 -0
- package/dist/material/rules/RuleStep.js.map +1 -0
- package/dist/material/rules/index.d.ts +3 -0
- package/dist/material/rules/index.js +20 -0
- package/dist/material/rules/index.js.map +1 -0
- package/dist/options/EnumOption.d.ts +2 -3
- package/dist/options/EnumOption.js.map +1 -1
- package/dist/options/Option.d.ts +1 -2
- package/dist/options/OptionSpecOf.d.ts +3 -4
- package/dist/options/OptionsSpec.d.ts +4 -5
- package/dist/options/OptionsValidationError.d.ts +1 -1
- package/dist/options/OptionsValidationError.js +2 -1
- package/dist/options/OptionsValidationError.js.map +1 -1
- package/dist/options/PlayerIdSpec.d.ts +2 -3
- package/dist/options/PlayerIdSpec.js.map +1 -1
- package/dist/options/PlayersOptionsSpec.d.ts +3 -4
- package/dist/options/WithIdOption.d.ts +1 -2
- package/dist/options/WithPlayerOptionsSpec.d.ts +2 -3
- package/dist/options/WithPlayersOptions.d.ts +1 -2
- package/dist/options/getFallbackPlayerName.d.ts +3 -3
- package/dist/options/getFallbackPlayerName.js +4 -6
- package/dist/options/getFallbackPlayerName.js.map +1 -1
- package/dist/options/index.d.ts +12 -12
- package/dist/options/index.js +12 -12
- package/dist/options/index.js.map +1 -1
- package/dist/options/isWithPlayerIdOptions.d.ts +4 -4
- package/dist/options/isWithPlayerIdOptions.js +2 -1
- package/dist/options/isWithPlayerIdOptions.js.map +1 -1
- package/dist/options/providePlayerIds.d.ts +6 -6
- package/dist/options/providePlayerIds.js +5 -7
- package/dist/options/providePlayerIds.js.map +1 -1
- package/package.json +9 -3
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MaterialMoveType = void 0;
|
|
4
|
+
var MaterialMoveType;
|
|
5
|
+
(function (MaterialMoveType) {
|
|
6
|
+
MaterialMoveType[MaterialMoveType["Create"] = 0] = "Create";
|
|
7
|
+
MaterialMoveType[MaterialMoveType["Move"] = 1] = "Move";
|
|
8
|
+
MaterialMoveType[MaterialMoveType["Shuffle"] = 2] = "Shuffle";
|
|
9
|
+
MaterialMoveType[MaterialMoveType["Delete"] = 3] = "Delete";
|
|
10
|
+
})(MaterialMoveType = exports.MaterialMoveType || (exports.MaterialMoveType = {}));
|
|
11
|
+
//# sourceMappingURL=MaterialMoveType.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MaterialMoveType.js","sourceRoot":"","sources":["../../../src/material/moves/MaterialMoveType.ts"],"names":[],"mappings":";;;AAAA,IAAY,gBAEX;AAFD,WAAY,gBAAgB;IAC1B,2DAAM,CAAA;IAAE,uDAAI,CAAA;IAAE,6DAAO,CAAA;IAAE,2DAAM,CAAA;AAC/B,CAAC,EAFW,gBAAgB,GAAhB,wBAAgB,KAAhB,wBAAgB,QAE3B"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { MaterialRulesMove } from './MaterialRulesMove';
|
|
2
|
+
import { MaterialItem } from '../items';
|
|
3
|
+
export declare class MaterialMovesBuilder<Player extends number = number, MaterialType extends number = number, LocationType extends number = number> {
|
|
4
|
+
items: Partial<Record<MaterialType, MaterialItem<Player, LocationType>[]>>;
|
|
5
|
+
moves: MaterialRulesMove<Player, MaterialType, LocationType>[];
|
|
6
|
+
constructor(items: Partial<Record<MaterialType, MaterialItem<Player, LocationType>[]>>);
|
|
7
|
+
shuffle(itemsType: MaterialType, predicate?: (item: MaterialItem<Player, LocationType>) => boolean): this;
|
|
8
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MaterialMovesBuilder = void 0;
|
|
4
|
+
var MoveKind_1 = require("./MoveKind");
|
|
5
|
+
var MaterialMoveType_1 = require("./MaterialMoveType");
|
|
6
|
+
var MaterialMovesBuilder = /** @class */ (function () {
|
|
7
|
+
function MaterialMovesBuilder(items) {
|
|
8
|
+
this.moves = [];
|
|
9
|
+
this.items = items;
|
|
10
|
+
}
|
|
11
|
+
MaterialMovesBuilder.prototype.shuffle = function (itemsType, predicate) {
|
|
12
|
+
if (predicate === void 0) { predicate = function () {
|
|
13
|
+
return true;
|
|
14
|
+
}; }
|
|
15
|
+
var items = this.items[itemsType];
|
|
16
|
+
if (!items)
|
|
17
|
+
throw new Error('You cannot shuffle a type of items that does not exists');
|
|
18
|
+
var move = {
|
|
19
|
+
kind: MoveKind_1.MoveKind.MaterialMove,
|
|
20
|
+
itemType: itemsType,
|
|
21
|
+
type: MaterialMoveType_1.MaterialMoveType.Shuffle,
|
|
22
|
+
indexes: []
|
|
23
|
+
};
|
|
24
|
+
for (var index = 0; index < items.length; index++) {
|
|
25
|
+
if (predicate(items[index]))
|
|
26
|
+
move.indexes.push(index);
|
|
27
|
+
}
|
|
28
|
+
this.moves.push(move);
|
|
29
|
+
return this;
|
|
30
|
+
};
|
|
31
|
+
return MaterialMovesBuilder;
|
|
32
|
+
}());
|
|
33
|
+
exports.MaterialMovesBuilder = MaterialMovesBuilder;
|
|
34
|
+
//# sourceMappingURL=MaterialMovesBuilder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MaterialMovesBuilder.js","sourceRoot":"","sources":["../../../src/material/moves/MaterialMovesBuilder.ts"],"names":[],"mappings":";;;AAEA,uCAAqC;AAGrC,uDAAqD;AAErD;IAIE,8BACE,KAA0E;QAH5E,UAAK,GAA4D,EAAE,CAAA;QAKjE,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;IACpB,CAAC;IAED,sCAAO,GAAP,UACE,SAAuB,EACvB,SACM;QADN,0BAAA,EAAA;YACE,OAAA,IAAI;QAAJ,CAAI;QAEN,IAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;QACnC,IAAI,CAAC,KAAK;YACR,MAAM,IAAI,KAAK,CACb,yDAAyD,CAC1D,CAAA;QACH,IAAM,IAAI,GAA+D;YACvE,IAAI,EAAE,mBAAQ,CAAC,YAAY;YAC3B,QAAQ,EAAE,SAAS;YACnB,IAAI,EAAE,mCAAgB,CAAC,OAAO;YAC9B,OAAO,EAAE,EAAE;SACZ,CAAA;QACD,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;YACjD,IAAI,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;SACtD;QACD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACrB,OAAO,IAAI,CAAA;IACb,CAAC;IACH,2BAAC;AAAD,CAAC,AAhCD,IAgCC;AAhCY,oDAAoB"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { RuleMove } from './rules';
|
|
2
|
+
import { CustomMove } from './CustomMove';
|
|
3
|
+
import { MaterialMove, MaterialMoveRandomized } from './MaterialMove';
|
|
4
|
+
import { LocalMove } from './local';
|
|
5
|
+
export declare type MaterialRulesMove<Player extends number = number, MaterialType extends number = number, LocationType extends number = number> = MaterialMove<Player, MaterialType, LocationType> | RuleMove<Player> | CustomMove | LocalMove<Player, MaterialType, LocationType>;
|
|
6
|
+
export declare type MaterialRulesMoveRandomized<Player extends number = number, MaterialType extends number = number, LocationType extends number = number> = MaterialMoveRandomized<Player, MaterialType, LocationType> | RuleMove<Player> | CustomMove | LocalMove<Player, MaterialType, LocationType>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MaterialRulesMove.js","sourceRoot":"","sources":["../../../src/material/moves/MaterialRulesMove.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { MaterialMoveType } from './MaterialMoveType';
|
|
2
|
+
import { MaterialRulesMove } from './MaterialRulesMove';
|
|
3
|
+
import { MaterialRules } from '../MaterialRules';
|
|
4
|
+
import { MaterialMoveCommon } from './MaterialMove';
|
|
5
|
+
import { MaterialItem } from '../items';
|
|
6
|
+
import { Location } from '../location';
|
|
7
|
+
export declare type MoveItem<Player extends number = number, MaterialType extends number = number, LocationType extends number = number> = MaterialMoveCommon<MaterialType> & {
|
|
8
|
+
type: typeof MaterialMoveType.Move;
|
|
9
|
+
itemIndex: number;
|
|
10
|
+
item: Partial<MaterialItem<Player, LocationType>>;
|
|
11
|
+
reveal?: boolean;
|
|
12
|
+
};
|
|
13
|
+
export declare const createMoveItemMove: <P extends number = number, M extends number = number, L extends number = number>(type: M, index: number, item: Partial<MaterialItem<P, L, any>>) => MoveItem<P, M, L>;
|
|
14
|
+
export declare function isMoveThisItem<P extends number = number, M extends number = number, L extends number = number>(move: MaterialRulesMove<P, M, L>, itemIndex: number, itemType: M, rules: MaterialRules<P, M, L>): boolean;
|
|
15
|
+
export declare function isMoveOnLocation<P extends number = number, M extends number = number, L extends number = number>(move: MaterialRulesMove<P, M, L>, locations: L[], rules: MaterialRules<P, M, L>, parentIndex?: number): boolean;
|
|
16
|
+
export declare function isMoveToLocation<P extends number, M extends number, L extends number>(move: MaterialRulesMove<P, M, L>, location: Location<P, L>, rules: MaterialRules<P, M, L>): boolean;
|
|
17
|
+
export declare function isMoveItem<P extends number, M extends number, L extends number>(move: MaterialRulesMove<P, M, L>): move is MoveItem<P, M, L>;
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isMoveItem = exports.isMoveToLocation = exports.isMoveOnLocation = exports.isMoveThisItem = exports.createMoveItemMove = void 0;
|
|
4
|
+
var MaterialMoveType_1 = require("./MaterialMoveType");
|
|
5
|
+
var MoveKind_1 = require("./MoveKind");
|
|
6
|
+
var location_1 = require("../location");
|
|
7
|
+
var createMoveItemMove = function (type, index, item) { return ({
|
|
8
|
+
kind: MoveKind_1.MoveKind.MaterialMove,
|
|
9
|
+
type: MaterialMoveType_1.MaterialMoveType.Move,
|
|
10
|
+
itemType: type,
|
|
11
|
+
itemIndex: index,
|
|
12
|
+
item: item
|
|
13
|
+
}); };
|
|
14
|
+
exports.createMoveItemMove = createMoveItemMove;
|
|
15
|
+
function isMoveThisItem(move, itemIndex, itemType, rules) {
|
|
16
|
+
switch (move.kind) {
|
|
17
|
+
case MoveKind_1.MoveKind.MaterialMove:
|
|
18
|
+
return move.itemType === itemType
|
|
19
|
+
&& (move.type === MaterialMoveType_1.MaterialMoveType.Move || move.type === MaterialMoveType_1.MaterialMoveType.Delete)
|
|
20
|
+
&& move.itemIndex === itemIndex;
|
|
21
|
+
case MoveKind_1.MoveKind.CustomMove:
|
|
22
|
+
return rules.play(move).some(function (consequence) { return isMoveThisItem(consequence, itemIndex, itemType, rules); });
|
|
23
|
+
default:
|
|
24
|
+
return false;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
exports.isMoveThisItem = isMoveThisItem;
|
|
28
|
+
function isMoveOnLocation(move, locations, rules, parentIndex) {
|
|
29
|
+
switch (move.kind) {
|
|
30
|
+
case MoveKind_1.MoveKind.MaterialMove:
|
|
31
|
+
return move.type === MaterialMoveType_1.MaterialMoveType.Move && !!move.item.location && locations.includes(move.item.location.type) && move.item.location.parent === parentIndex;
|
|
32
|
+
case MoveKind_1.MoveKind.CustomMove:
|
|
33
|
+
return rules.play(move).some(function (consequence) { return isMoveOnLocation(consequence, locations, rules, parentIndex); });
|
|
34
|
+
default:
|
|
35
|
+
return false;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
exports.isMoveOnLocation = isMoveOnLocation;
|
|
39
|
+
function isMoveToLocation(move, location, rules) {
|
|
40
|
+
switch (move.kind) {
|
|
41
|
+
case MoveKind_1.MoveKind.MaterialMove:
|
|
42
|
+
return move.type === MaterialMoveType_1.MaterialMoveType.Move && !!move.item.location && (0, location_1.isInsideLocation)(move.item.location, location);
|
|
43
|
+
case MoveKind_1.MoveKind.CustomMove:
|
|
44
|
+
return rules.play(move).some(function (consequence) { return isMoveToLocation(consequence, location, rules); });
|
|
45
|
+
default:
|
|
46
|
+
return false;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
exports.isMoveToLocation = isMoveToLocation;
|
|
50
|
+
function isMoveItem(move) {
|
|
51
|
+
return move.kind === MoveKind_1.MoveKind.MaterialMove && move.type === MaterialMoveType_1.MaterialMoveType.Move;
|
|
52
|
+
}
|
|
53
|
+
exports.isMoveItem = isMoveItem;
|
|
54
|
+
//# sourceMappingURL=MoveItem.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MoveItem.js","sourceRoot":"","sources":["../../../src/material/moves/MoveItem.ts"],"names":[],"mappings":";;;AAAA,uDAAqD;AAGrD,uCAAqC;AAGrC,wCAAwD;AAUjD,IAAM,kBAAkB,GAAG,UAChC,IAAO,EAAE,KAAa,EAAE,IAAiC,IACnC,OAAA,CAAC;IACvB,IAAI,EAAE,mBAAQ,CAAC,YAAY;IAC3B,IAAI,EAAE,mCAAgB,CAAC,IAAI;IAC3B,QAAQ,EAAE,IAAI;IACd,SAAS,EAAE,KAAK;IAChB,IAAI,MAAA;CACL,CAAC,EANsB,CAMtB,CAAA;AARW,QAAA,kBAAkB,sBAQ7B;AAEF,SAAgB,cAAc,CAC5B,IAAgC,EAAE,SAAiB,EAAE,QAAW,EAAE,KAA6B;IAE/F,QAAQ,IAAI,CAAC,IAAI,EAAE;QACjB,KAAK,mBAAQ,CAAC,YAAY;YACxB,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ;mBAC5B,CAAC,IAAI,CAAC,IAAI,KAAK,mCAAgB,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,mCAAgB,CAAC,MAAM,CAAC;mBAC9E,IAAI,CAAC,SAAS,KAAK,SAAS,CAAA;QACnC,KAAK,mBAAQ,CAAC,UAAU;YACtB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,UAAA,WAAW,IAAI,OAAA,cAAc,CAAC,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,CAAC,EAAvD,CAAuD,CAAC,CAAA;QACtG;YACE,OAAO,KAAK,CAAA;KACf;AACH,CAAC;AAbD,wCAaC;AAED,SAAgB,gBAAgB,CAC9B,IAAgC,EAAE,SAAc,EAAE,KAA6B,EAAE,WAAoB;IAErG,QAAQ,IAAI,CAAC,IAAI,EAAE;QACjB,KAAK,mBAAQ,CAAC,YAAY;YACxB,OAAO,IAAI,CAAC,IAAI,KAAK,mCAAgB,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,WAAW,CAAA;QAChK,KAAK,mBAAQ,CAAC,UAAU;YACtB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,UAAA,WAAW,IAAI,OAAA,gBAAgB,CAAC,WAAW,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,CAAC,EAA5D,CAA4D,CAAC,CAAA;QAC3G;YACE,OAAO,KAAK,CAAA;KACf;AACH,CAAC;AAXD,4CAWC;AAED,SAAgB,gBAAgB,CAC9B,IAAgC,EAAE,QAAwB,EAAE,KAA6B;IAEzF,QAAQ,IAAI,CAAC,IAAI,EAAE;QACjB,KAAK,mBAAQ,CAAC,YAAY;YACxB,OAAO,IAAI,CAAC,IAAI,KAAK,mCAAgB,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAA,2BAAgB,EAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;QACtH,KAAK,mBAAQ,CAAC,UAAU;YACtB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,UAAA,WAAW,IAAI,OAAA,gBAAgB,CAAC,WAAW,EAAE,QAAQ,EAAE,KAAK,CAAC,EAA9C,CAA8C,CAAC,CAAA;QAC7F;YACE,OAAO,KAAK,CAAA;KACf;AACH,CAAC;AAXD,4CAWC;AAED,SAAgB,UAAU,CAAuD,IAAgC;IAC/G,OAAO,IAAI,CAAC,IAAI,KAAK,mBAAQ,CAAC,YAAY,IAAI,IAAI,CAAC,IAAI,KAAK,mCAAgB,CAAC,IAAI,CAAA;AACnF,CAAC;AAFD,gCAEC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MoveKind = void 0;
|
|
4
|
+
var MoveKind;
|
|
5
|
+
(function (MoveKind) {
|
|
6
|
+
MoveKind[MoveKind["MaterialMove"] = 1] = "MaterialMove";
|
|
7
|
+
MoveKind[MoveKind["RulesMove"] = 2] = "RulesMove";
|
|
8
|
+
MoveKind[MoveKind["CustomMove"] = 3] = "CustomMove";
|
|
9
|
+
MoveKind[MoveKind["LocalMove"] = 4] = "LocalMove";
|
|
10
|
+
})(MoveKind = exports.MoveKind || (exports.MoveKind = {}));
|
|
11
|
+
//# sourceMappingURL=MoveKind.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MoveKind.js","sourceRoot":"","sources":["../../../src/material/moves/MoveKind.ts"],"names":[],"mappings":";;;AAAA,IAAY,QAEX;AAFD,WAAY,QAAQ;IAClB,uDAAgB,CAAA;IAAE,iDAAa,CAAA;IAAE,mDAAc,CAAA;IAAE,iDAAa,CAAA;AAChE,CAAC,EAFW,QAAQ,GAAR,gBAAQ,KAAR,gBAAQ,QAEnB"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { MaterialMoveType } from './MaterialMoveType';
|
|
2
|
+
import { MaterialMoveCommon } from './MaterialMove';
|
|
3
|
+
export declare type Shuffle<MaterialType extends number = number> = {
|
|
4
|
+
type: typeof MaterialMoveType.Shuffle;
|
|
5
|
+
indexes: number[];
|
|
6
|
+
} & MaterialMoveCommon<MaterialType>;
|
|
7
|
+
export declare type ShuffleRandomized<MaterialType extends number = number> = Shuffle<MaterialType> & {
|
|
8
|
+
newIndexes: number[];
|
|
9
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Shuffle.js","sourceRoot":"","sources":["../../../src/material/moves/Shuffle.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export * from './local';
|
|
2
|
+
export * from './rules';
|
|
3
|
+
export * from './CreateItem';
|
|
4
|
+
export * from './CustomMove';
|
|
5
|
+
export * from './MaterialMove';
|
|
6
|
+
export * from './MaterialMoveType';
|
|
7
|
+
export * from './MaterialMovesBuilder';
|
|
8
|
+
export * from './MaterialRulesMove';
|
|
9
|
+
export * from './MoveItem';
|
|
10
|
+
export * from './MoveKind';
|
|
11
|
+
export * from './Shuffle';
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./local"), exports);
|
|
18
|
+
__exportStar(require("./rules"), exports);
|
|
19
|
+
__exportStar(require("./CreateItem"), exports);
|
|
20
|
+
__exportStar(require("./CustomMove"), exports);
|
|
21
|
+
__exportStar(require("./MaterialMove"), exports);
|
|
22
|
+
__exportStar(require("./MaterialMoveType"), exports);
|
|
23
|
+
__exportStar(require("./MaterialMovesBuilder"), exports);
|
|
24
|
+
__exportStar(require("./MaterialRulesMove"), exports);
|
|
25
|
+
__exportStar(require("./MoveItem"), exports);
|
|
26
|
+
__exportStar(require("./MoveKind"), exports);
|
|
27
|
+
__exportStar(require("./Shuffle"), exports);
|
|
28
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/material/moves/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0CAAuB;AACvB,0CAAuB;AACvB,+CAA4B;AAC5B,+CAA4B;AAC5B,iDAA8B;AAC9B,qDAAkC;AAClC,yDAAsC;AACtC,sDAAmC;AACnC,6CAA0B;AAC1B,6CAA0B;AAC1B,4CAAyB"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { CloseRulesDisplay, DisplayRules } from './RulesDisplay';
|
|
2
|
+
export declare type LocalMove<Player extends number = number, MaterialType extends number = number, LocationType extends number = number> = DisplayRules<Player, MaterialType, LocationType> | CloseRulesDisplay;
|
|
3
|
+
export declare enum LocalMoveType {
|
|
4
|
+
DisplayRules = 0,
|
|
5
|
+
CloseRulesDisplay = 1
|
|
6
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.LocalMoveType = void 0;
|
|
4
|
+
var LocalMoveType;
|
|
5
|
+
(function (LocalMoveType) {
|
|
6
|
+
LocalMoveType[LocalMoveType["DisplayRules"] = 0] = "DisplayRules";
|
|
7
|
+
LocalMoveType[LocalMoveType["CloseRulesDisplay"] = 1] = "CloseRulesDisplay";
|
|
8
|
+
})(LocalMoveType = exports.LocalMoveType || (exports.LocalMoveType = {}));
|
|
9
|
+
//# sourceMappingURL=LocalMove.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LocalMove.js","sourceRoot":"","sources":["../../../../src/material/moves/local/LocalMove.ts"],"names":[],"mappings":";;;AAMA,IAAY,aAEX;AAFD,WAAY,aAAa;IACvB,iEAAY,CAAA;IAAE,2EAAiB,CAAA;AACjC,CAAC,EAFW,aAAa,GAAb,qBAAa,KAAb,qBAAa,QAExB"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { LocalMoveType } from './LocalMove';
|
|
2
|
+
import { MoveKind } from '../MoveKind';
|
|
3
|
+
import { MaterialItem } from '../../items';
|
|
4
|
+
import { Location } from '../../location';
|
|
5
|
+
export declare type RulesDisplay<P extends number = number, M extends number = number, L extends number = number> = MaterialRulesDisplay<P, M, L> | LocationRulesDisplay<P, L>;
|
|
6
|
+
export declare enum RulesDisplayType {
|
|
7
|
+
Material = 1,
|
|
8
|
+
Location = 2
|
|
9
|
+
}
|
|
10
|
+
export declare type MaterialRulesDisplay<P extends number = number, M extends number = number, L = number> = {
|
|
11
|
+
type: typeof RulesDisplayType.Material;
|
|
12
|
+
itemType: M;
|
|
13
|
+
itemIndex: number;
|
|
14
|
+
item: Partial<MaterialItem<P, L>>;
|
|
15
|
+
};
|
|
16
|
+
export declare type LocationRulesDisplay<P extends number = number, L extends number = number> = {
|
|
17
|
+
type: typeof RulesDisplayType.Location;
|
|
18
|
+
location: Location<P, L>;
|
|
19
|
+
};
|
|
20
|
+
export declare type DisplayRules<P extends number = number, M extends number = number, L extends number = number> = {
|
|
21
|
+
kind: MoveKind.LocalMove;
|
|
22
|
+
type: typeof LocalMoveType.DisplayRules;
|
|
23
|
+
rulesDisplay: RulesDisplay<P, M, L>;
|
|
24
|
+
};
|
|
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, itemIndex?: number, item?: Partial<MaterialItem<P, L, any>>) => DisplayRules<P, M, L>;
|
|
27
|
+
export declare const displayLocationRules: <P extends number = number, M extends number = number, L extends number = number>(location: Location<P, L, any, number>) => DisplayRules<P, M, L>;
|
|
28
|
+
export declare type CloseRulesDisplay = {
|
|
29
|
+
kind: MoveKind.LocalMove;
|
|
30
|
+
type: typeof LocalMoveType.CloseRulesDisplay;
|
|
31
|
+
};
|
|
32
|
+
export declare const closeRulesDisplay: CloseRulesDisplay;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.closeRulesDisplay = exports.displayLocationRules = exports.displayMaterialRules = exports.displayRules = exports.RulesDisplayType = void 0;
|
|
4
|
+
var LocalMove_1 = require("./LocalMove");
|
|
5
|
+
var MoveKind_1 = require("../MoveKind");
|
|
6
|
+
var RulesDisplayType;
|
|
7
|
+
(function (RulesDisplayType) {
|
|
8
|
+
RulesDisplayType[RulesDisplayType["Material"] = 1] = "Material";
|
|
9
|
+
RulesDisplayType[RulesDisplayType["Location"] = 2] = "Location";
|
|
10
|
+
})(RulesDisplayType = exports.RulesDisplayType || (exports.RulesDisplayType = {}));
|
|
11
|
+
var displayRules = function (rulesDisplay) {
|
|
12
|
+
return ({ kind: MoveKind_1.MoveKind.LocalMove, type: LocalMove_1.LocalMoveType.DisplayRules, rulesDisplay: rulesDisplay });
|
|
13
|
+
};
|
|
14
|
+
exports.displayRules = displayRules;
|
|
15
|
+
var displayMaterialRules = function (itemType, itemIndex, item) {
|
|
16
|
+
if (itemIndex === void 0) { itemIndex = 0; }
|
|
17
|
+
if (item === void 0) { item = {}; }
|
|
18
|
+
return (0, exports.displayRules)({ type: RulesDisplayType.Material, itemType: itemType, itemIndex: itemIndex, item: item });
|
|
19
|
+
};
|
|
20
|
+
exports.displayMaterialRules = displayMaterialRules;
|
|
21
|
+
var displayLocationRules = function (location) {
|
|
22
|
+
return (0, exports.displayRules)({ type: RulesDisplayType.Location, location: location });
|
|
23
|
+
};
|
|
24
|
+
exports.displayLocationRules = displayLocationRules;
|
|
25
|
+
exports.closeRulesDisplay = { kind: MoveKind_1.MoveKind.LocalMove, type: LocalMove_1.LocalMoveType.CloseRulesDisplay };
|
|
26
|
+
//# sourceMappingURL=RulesDisplay.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RulesDisplay.js","sourceRoot":"","sources":["../../../../src/material/moves/local/RulesDisplay.ts"],"names":[],"mappings":";;;AAAA,yCAA2C;AAC3C,wCAAsC;AAQtC,IAAY,gBAEX;AAFD,WAAY,gBAAgB;IAC1B,+DAAY,CAAA;IAAE,+DAAQ,CAAA;AACxB,CAAC,EAFW,gBAAgB,GAAhB,wBAAgB,KAAhB,wBAAgB,QAE3B;AAoBM,IAAM,YAAY,GAAG,UAC3B,YAAmC;IAClC,OAAA,CAAC,EAAE,IAAI,EAAE,mBAAQ,CAAC,SAAS,EAAE,IAAI,EAAE,yBAAa,CAAC,YAAY,EAAE,YAAY,cAAA,EAAE,CAAC;AAA9E,CAA8E,CAAA;AAFnE,QAAA,YAAY,gBAEuD;AAEzE,IAAM,oBAAoB,GAAG,UACnC,QAAW,EAAE,SAAqB,EAAE,IAAsC;IAA7D,0BAAA,EAAA,aAAqB;IAAE,qBAAA,EAAA,SAAsC;IACzE,OAAA,IAAA,oBAAY,EAAC,EAAE,IAAI,EAAE,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,UAAA,EAAE,SAAS,WAAA,EAAE,IAAI,MAAA,EAAE,CAAC;AAA5E,CAA4E,CAAA;AAFjE,QAAA,oBAAoB,wBAE6C;AAEvE,IAAM,oBAAoB,GAAG,UACnC,QAAwB;IACvB,OAAA,IAAA,oBAAY,EAAC,EAAE,IAAI,EAAE,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,UAAA,EAAE,CAAC;AAA3D,CAA2D,CAAA;AAFhD,QAAA,oBAAoB,wBAE4B;AAOhD,QAAA,iBAAiB,GAAsB,EAAE,IAAI,EAAE,mBAAQ,CAAC,SAAS,EAAE,IAAI,EAAE,yBAAa,CAAC,iBAAiB,EAAE,CAAA"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./LocalMove"), exports);
|
|
18
|
+
__exportStar(require("./RulesDisplay"), exports);
|
|
19
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/material/moves/local/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA2B;AAC3B,iDAA8B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EndGame.js","sourceRoot":"","sources":["../../../../src/material/moves/rules/EndGame.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { MoveKind } from '../MoveKind';
|
|
2
|
+
import { StartRule } from './StartRule';
|
|
3
|
+
import { StartPlayerTurn } from './StartPlayerTurn';
|
|
4
|
+
import { EndGame } from './EndGame';
|
|
5
|
+
export declare type RuleMove<Player extends number = number, RuleId extends number = number> = StartPlayerTurn<Player, RuleId> | StartRule<Player, RuleId> | EndGame;
|
|
6
|
+
export declare enum RuleMoveType {
|
|
7
|
+
StartPlayerTurn = 0,
|
|
8
|
+
StartSimultaneousTurns = 1,
|
|
9
|
+
StartAutomaticRule = 2,
|
|
10
|
+
StartRule = 3,
|
|
11
|
+
EndGame = 4
|
|
12
|
+
}
|
|
13
|
+
export declare type RuleMoveCommon = {
|
|
14
|
+
kind: typeof MoveKind.RulesMove;
|
|
15
|
+
};
|
|
16
|
+
export declare const isRuleChange: <P extends number = number, R extends number = number>(move: RuleMove<P, R>) => boolean;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isRuleChange = exports.RuleMoveType = void 0;
|
|
4
|
+
var RuleMoveType;
|
|
5
|
+
(function (RuleMoveType) {
|
|
6
|
+
RuleMoveType[RuleMoveType["StartPlayerTurn"] = 0] = "StartPlayerTurn";
|
|
7
|
+
RuleMoveType[RuleMoveType["StartSimultaneousTurns"] = 1] = "StartSimultaneousTurns";
|
|
8
|
+
RuleMoveType[RuleMoveType["StartAutomaticRule"] = 2] = "StartAutomaticRule";
|
|
9
|
+
RuleMoveType[RuleMoveType["StartRule"] = 3] = "StartRule";
|
|
10
|
+
RuleMoveType[RuleMoveType["EndGame"] = 4] = "EndGame";
|
|
11
|
+
})(RuleMoveType = exports.RuleMoveType || (exports.RuleMoveType = {}));
|
|
12
|
+
var isRuleChange = function (move) {
|
|
13
|
+
switch (move.type) {
|
|
14
|
+
default:
|
|
15
|
+
return true;
|
|
16
|
+
}
|
|
17
|
+
};
|
|
18
|
+
exports.isRuleChange = isRuleChange;
|
|
19
|
+
//# sourceMappingURL=RuleMove.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RuleMove.js","sourceRoot":"","sources":["../../../../src/material/moves/rules/RuleMove.ts"],"names":[],"mappings":";;;AAUA,IAAY,YAEX;AAFD,WAAY,YAAY;IACtB,qEAAe,CAAA;IAAE,mFAAsB,CAAA;IAAE,2EAAkB,CAAA;IAAE,yDAAS,CAAA;IAAE,qDAAO,CAAA;AACjF,CAAC,EAFW,YAAY,GAAZ,oBAAY,KAAZ,oBAAY,QAEvB;AAMM,IAAM,YAAY,GAAG,UAAuD,IAAoB;IACrG,QAAQ,IAAI,CAAC,IAAI,EAAE;QACjB;YACE,OAAO,IAAI,CAAA;KACd;AACH,CAAC,CAAA;AALY,QAAA,YAAY,gBAKxB"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { RuleMoveCommon, RuleMoveType } from './RuleMove';
|
|
2
|
+
export declare type StartPlayerTurn<Player extends number = number, RuleId extends number = number> = RuleMoveCommon & {
|
|
3
|
+
type: typeof RuleMoveType.StartPlayerTurn;
|
|
4
|
+
id: RuleId;
|
|
5
|
+
player?: Player;
|
|
6
|
+
memory?: Record<string, any>;
|
|
7
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StartPlayerTurn.js","sourceRoot":"","sources":["../../../../src/material/moves/rules/StartPlayerTurn.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { RuleMoveCommon, RuleMoveType } from './RuleMove';
|
|
2
|
+
export declare type StartRule<Player extends number = number, RuleId extends number = number> = RuleMoveCommon & {
|
|
3
|
+
type: typeof RuleMoveType.StartRule;
|
|
4
|
+
id: RuleId;
|
|
5
|
+
player?: Player;
|
|
6
|
+
memory?: Record<string, any>;
|
|
7
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StartRule.js","sourceRoot":"","sources":["../../../../src/material/moves/rules/StartRule.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./EndGame"), exports);
|
|
18
|
+
__exportStar(require("./RuleMove"), exports);
|
|
19
|
+
__exportStar(require("./StartRule"), exports);
|
|
20
|
+
__exportStar(require("./StartPlayerTurn"), exports);
|
|
21
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/material/moves/rules/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4CAAyB;AACzB,6CAA0B;AAC1B,8CAA2B;AAC3B,oDAAiC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { MaterialGame } from '../MaterialGame';
|
|
2
|
+
import { CustomMove, EndGame, StartPlayerTurn, StartRule } from '../moves';
|
|
3
|
+
export declare class MaterialRulesMovesBuilder<Player extends number = number, MaterialType extends number = number, LocationType extends number = number> {
|
|
4
|
+
game: MaterialGame<Player, MaterialType, LocationType>;
|
|
5
|
+
constructor(game: MaterialGame<Player, MaterialType, LocationType>);
|
|
6
|
+
startPlayerTurn<RuleId extends number = number>(id: RuleId, player: Player, memory?: Record<string, any>): StartPlayerTurn<Player, RuleId>;
|
|
7
|
+
startRule<RuleId extends number = number>(id: RuleId, player?: Player, memory?: Record<string, any>): StartRule<Player, RuleId>;
|
|
8
|
+
customMove<Type extends number = number>(type: Type, data?: any): CustomMove;
|
|
9
|
+
endGame(): EndGame;
|
|
10
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MaterialRulesMovesBuilder = void 0;
|
|
4
|
+
var moves_1 = require("../moves");
|
|
5
|
+
var MaterialRulesMovesBuilder = /** @class */ (function () {
|
|
6
|
+
function MaterialRulesMovesBuilder(game) {
|
|
7
|
+
this.game = game;
|
|
8
|
+
}
|
|
9
|
+
MaterialRulesMovesBuilder.prototype.startPlayerTurn = function (id, player, memory) {
|
|
10
|
+
var move = { kind: moves_1.MoveKind.RulesMove, type: moves_1.RuleMoveType.StartPlayerTurn, id: id, player: player };
|
|
11
|
+
if (memory)
|
|
12
|
+
move.memory = memory;
|
|
13
|
+
return move;
|
|
14
|
+
};
|
|
15
|
+
MaterialRulesMovesBuilder.prototype.startRule = function (id, player, memory) {
|
|
16
|
+
var move = { kind: moves_1.MoveKind.RulesMove, type: moves_1.RuleMoveType.StartRule, id: id };
|
|
17
|
+
if (player)
|
|
18
|
+
move.player = player;
|
|
19
|
+
if (memory)
|
|
20
|
+
move.memory = memory;
|
|
21
|
+
return move;
|
|
22
|
+
};
|
|
23
|
+
MaterialRulesMovesBuilder.prototype.customMove = function (type, data) {
|
|
24
|
+
var move = { kind: moves_1.MoveKind.CustomMove, type: type };
|
|
25
|
+
if (data)
|
|
26
|
+
move.data = data;
|
|
27
|
+
return move;
|
|
28
|
+
};
|
|
29
|
+
MaterialRulesMovesBuilder.prototype.endGame = function () {
|
|
30
|
+
return { kind: moves_1.MoveKind.RulesMove, type: moves_1.RuleMoveType.EndGame };
|
|
31
|
+
};
|
|
32
|
+
return MaterialRulesMovesBuilder;
|
|
33
|
+
}());
|
|
34
|
+
exports.MaterialRulesMovesBuilder = MaterialRulesMovesBuilder;
|
|
35
|
+
//# sourceMappingURL=MaterialRulesMovesBuilder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MaterialRulesMovesBuilder.js","sourceRoot":"","sources":["../../../src/material/rules/MaterialRulesMovesBuilder.ts"],"names":[],"mappings":";;;AACA,kCAAkG;AAElG;IAKE,mCAAY,IAAsD;QAChE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;IAClB,CAAC;IAED,mDAAe,GAAf,UAAgD,EAAU,EAAE,MAAc,EAAE,MAA4B;QACtG,IAAM,IAAI,GAAoC,EAAE,IAAI,EAAE,gBAAQ,CAAC,SAAS,EAAE,IAAI,EAAE,oBAAY,CAAC,eAAe,EAAE,EAAE,IAAA,EAAE,MAAM,QAAA,EAAE,CAAA;QAC1H,IAAI,MAAM;YAAE,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QAChC,OAAO,IAAI,CAAA;IACb,CAAC;IAED,6CAAS,GAAT,UAA0C,EAAU,EAAE,MAAe,EAAE,MAA4B;QACjG,IAAM,IAAI,GAA8B,EAAE,IAAI,EAAE,gBAAQ,CAAC,SAAS,EAAE,IAAI,EAAE,oBAAY,CAAC,SAAS,EAAE,EAAE,IAAA,EAAE,CAAA;QACtG,IAAI,MAAM;YAAE,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QAChC,IAAI,MAAM;YAAE,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QAChC,OAAO,IAAI,CAAA;IACb,CAAC;IAED,8CAAU,GAAV,UAAyC,IAAU,EAAE,IAAU;QAC7D,IAAM,IAAI,GAAe,EAAE,IAAI,EAAE,gBAAQ,CAAC,UAAU,EAAE,IAAI,MAAA,EAAE,CAAA;QAC5D,IAAI,IAAI;YAAE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAC1B,OAAO,IAAI,CAAA;IACb,CAAC;IAED,2CAAO,GAAP;QACE,OAAO,EAAE,IAAI,EAAE,gBAAQ,CAAC,SAAS,EAAE,IAAI,EAAE,oBAAY,CAAC,OAAO,EAAE,CAAA;IACjE,CAAC;IACH,gCAAC;AAAD,CAAC,AA/BD,IA+BC;AA/BY,8DAAyB"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { MaterialGame } from '../MaterialGame';
|
|
2
|
+
import { Rules } from '../../Rules';
|
|
3
|
+
import { CustomMove, MaterialMove, MaterialRulesMove, RuleMove } from '../moves';
|
|
4
|
+
import { Material } from '../items';
|
|
5
|
+
import { MaterialRulesMovesBuilder } from './MaterialRulesMovesBuilder';
|
|
6
|
+
import { RuleStep } from './RuleStep';
|
|
7
|
+
export declare abstract class MaterialStepRules<Player extends number = number, MaterialType extends number = number, LocationType extends number = number> extends Rules<MaterialGame<Player, MaterialType, LocationType>, MaterialRulesMove<Player, MaterialType, LocationType>, Player> {
|
|
8
|
+
material(type: MaterialType): Material<Player, MaterialType, LocationType>;
|
|
9
|
+
beforeMaterialMove(_move: MaterialMove<Player, MaterialType, LocationType>): MaterialRulesMove<Player, MaterialType, LocationType>[];
|
|
10
|
+
afterMaterialMove(_move: MaterialMove<Player, MaterialType, LocationType>): MaterialRulesMove<Player, MaterialType, LocationType>[];
|
|
11
|
+
onRuleStart<RuleId extends number>(_move: RuleMove<Player, RuleId>, _previousRule?: RuleStep): MaterialRulesMove<Player, MaterialType, LocationType>[];
|
|
12
|
+
onRuleEnd<RuleId extends number>(_move: RuleMove<Player, RuleId>): MaterialRulesMove<Player, MaterialType, LocationType>[];
|
|
13
|
+
onCustomMove(_move: CustomMove): MaterialRulesMove<Player, MaterialType, LocationType>[];
|
|
14
|
+
rules(): MaterialRulesMovesBuilder<Player, MaterialType, LocationType>;
|
|
15
|
+
getMemory<T>(player?: Player): T;
|
|
16
|
+
memorize<T extends Record<string, any>>(memory?: T, player?: Player): void;
|
|
17
|
+
getGameMemory<T>(player?: Player): T;
|
|
18
|
+
memorizeOnGame(memory?: Record<string, any>, player?: Player): void;
|
|
19
|
+
}
|
|
20
|
+
export interface MaterialRulesStepCreator<Player extends number = number, MaterialType extends number = number, LocationType extends number = number> {
|
|
21
|
+
new (state: MaterialGame<Player, MaterialType, LocationType>): MaterialStepRules<Player, MaterialType, LocationType>;
|
|
22
|
+
}
|