@gamepark/rules-api 5.23.2 → 6.0.0-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/MaterialRulesStep.d.ts +16 -0
- package/dist/material/MaterialRulesStep.js +47 -0
- package/dist/material/MaterialRulesStep.js.map +1 -0
- package/dist/material/MaterialStepRules.d.ts +16 -0
- package/dist/material/MaterialStepRules.js +47 -0
- package/dist/material/MaterialStepRules.js.map +1 -0
- package/dist/material/PlayerRulesStep.d.ts +10 -0
- package/dist/material/PlayerRulesStep.js +54 -0
- package/dist/material/PlayerRulesStep.js.map +1 -0
- package/dist/material/PlayerTurnRule.d.ts +10 -0
- package/dist/material/PlayerTurnRule.js +54 -0
- package/dist/material/PlayerTurnRule.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/MaterialRulesMovesBuilder.d.ts +8 -0
- package/dist/material/helper/MaterialRulesMovesBuilder.js +26 -0
- package/dist/material/helper/MaterialRulesMovesBuilder.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/CustomMoves.d.ts +7 -0
- package/dist/material/moves/CustomMoves.js +3 -0
- package/dist/material/moves/CustomMoves.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/RulesMoves.d.ts +10 -0
- package/dist/material/moves/RulesMoves.js +3 -0
- package/dist/material/moves/RulesMoves.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/MaterialRulesMovesBuilder.d.ts +8 -0
- package/dist/material/moves/rules/MaterialRulesMovesBuilder.js +26 -0
- package/dist/material/moves/rules/MaterialRulesMovesBuilder.js.map +1 -0
- package/dist/material/moves/rules/Memorize.d.ts +6 -0
- package/dist/material/moves/rules/Memorize.js +3 -0
- package/dist/material/moves/rules/Memorize.js.map +1 -0
- package/dist/material/moves/rules/MemorizeOnGame.d.ts +6 -0
- package/dist/material/moves/rules/MemorizeOnGame.js +3 -0
- package/dist/material/moves/rules/MemorizeOnGame.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/Rule.d.ts +5 -0
- package/dist/material/rules/Rule.js +3 -0
- package/dist/material/rules/Rule.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/RulesStep.d.ts +5 -0
- package/dist/material/rules/RulesStep.js +3 -0
- package/dist/material/rules/RulesStep.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,20 @@
|
|
|
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("./Material"), exports);
|
|
18
|
+
__exportStar(require("./MaterialItem"), exports);
|
|
19
|
+
__exportStar(require("./MaterialOperation"), exports);
|
|
20
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/material/items/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6CAA0B;AAC1B,iDAA8B;AAC9B,sDAAmC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export declare type Location<Player = number, LocationType = number, Id = any, ParentIndex = number> = {
|
|
2
|
+
type: LocationType;
|
|
3
|
+
id?: Id;
|
|
4
|
+
player?: Player;
|
|
5
|
+
parent?: ParentIndex;
|
|
6
|
+
} & Partial<Coordinates>;
|
|
7
|
+
export declare type XYCoordinates = {
|
|
8
|
+
x: number;
|
|
9
|
+
y: number;
|
|
10
|
+
};
|
|
11
|
+
export declare type Coordinates = XYCoordinates & {
|
|
12
|
+
z: number;
|
|
13
|
+
};
|
|
14
|
+
export declare const isInsideLocation: (testLocation: Location, parentLocation: Location) => boolean;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.isInsideLocation = void 0;
|
|
7
|
+
var fast_deep_equal_1 = __importDefault(require("fast-deep-equal"));
|
|
8
|
+
var isInsideLocation = function (testLocation, parentLocation) {
|
|
9
|
+
return Object.keys(parentLocation).every(function (key) { return parentLocation[key] === undefined || (0, fast_deep_equal_1.default)(parentLocation[key], testLocation[key]); });
|
|
10
|
+
};
|
|
11
|
+
exports.isInsideLocation = isInsideLocation;
|
|
12
|
+
//# sourceMappingURL=Location.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Location.js","sourceRoot":"","sources":["../../../src/material/location/Location.ts"],"names":[],"mappings":";;;;;;AAAA,oEAAmC;AAgB5B,IAAM,gBAAgB,GAAG,UAAC,YAAsB,EAAE,cAAwB;IAC/E,OAAO,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC,UAAA,GAAG,IAAI,OAAA,cAAc,CAAC,GAAG,CAAC,KAAK,SAAS,IAAI,IAAA,yBAAK,EAAC,cAAc,CAAC,GAAG,CAAC,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,EAAlF,CAAkF,CAAC,CAAA;AACrI,CAAC,CAAA;AAFY,QAAA,gBAAgB,oBAE5B"}
|
|
@@ -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("./strategy"), exports);
|
|
18
|
+
__exportStar(require("./Location"), exports);
|
|
19
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/material/location/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6CAA0B;AAC1B,6CAA0B"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { Material, MaterialItem } from '../../items';
|
|
2
|
+
export declare type LocationStrategy<P extends number = number, M extends number = number, L extends number = number> = {
|
|
3
|
+
addItem?(material: Material<P, M, L>, item: MaterialItem<P, L>): void;
|
|
4
|
+
removeItem?(material: Material<P, M, L>, item: MaterialItem<P, L>): void;
|
|
5
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LocationStrategy.js","sourceRoot":"","sources":["../../../../src/material/location/strategy/LocationStrategy.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { LocationStrategy } from './LocationStrategy';
|
|
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
|
+
export declare class PositiveSequenceStrategy<P extends number = number, M extends number = number, L extends number = number> implements LocationStrategy<P, M, L> {
|
|
7
|
+
axis: 'x' | 'y' | 'z';
|
|
8
|
+
constructor(axis?: 'x' | 'y' | 'z');
|
|
9
|
+
addItem(material: Material<P, M, L>, item: MaterialItem<P, L>): void;
|
|
10
|
+
removeItem(material: Material<P, M, L>, item: MaterialItem<P, L>): void;
|
|
11
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
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 () {
|
|
8
|
+
function PositiveSequenceStrategy(axis) {
|
|
9
|
+
if (axis === void 0) { axis = 'x'; }
|
|
10
|
+
this.axis = axis;
|
|
11
|
+
}
|
|
12
|
+
PositiveSequenceStrategy.prototype.addItem = function (material, item) {
|
|
13
|
+
var x = item.location[this.axis];
|
|
14
|
+
if (x === undefined) {
|
|
15
|
+
item.location[this.axis] = material.length;
|
|
16
|
+
}
|
|
17
|
+
else {
|
|
18
|
+
for (var _i = 0, _a = material.getItems(); _i < _a.length; _i++) {
|
|
19
|
+
var item_1 = _a[_i];
|
|
20
|
+
var itemX = item_1.location[this.axis];
|
|
21
|
+
if (itemX !== undefined && itemX >= x) {
|
|
22
|
+
item_1.location[this.axis]++;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
PositiveSequenceStrategy.prototype.removeItem = function (material, item) {
|
|
28
|
+
var x = item.location[this.axis];
|
|
29
|
+
if (x === undefined)
|
|
30
|
+
return;
|
|
31
|
+
for (var _i = 0, _a = material.getItems(); _i < _a.length; _i++) {
|
|
32
|
+
var item_2 = _a[_i];
|
|
33
|
+
var itemX = item_2.location[this.axis];
|
|
34
|
+
if (itemX !== undefined && itemX > x) {
|
|
35
|
+
item_2.location[this.axis]--;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
return PositiveSequenceStrategy;
|
|
40
|
+
}());
|
|
41
|
+
exports.PositiveSequenceStrategy = PositiveSequenceStrategy;
|
|
42
|
+
//# sourceMappingURL=PositiveSequenceStrategy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PositiveSequenceStrategy.js","sourceRoot":"","sources":["../../../../src/material/location/strategy/PositiveSequenceStrategy.ts"],"names":[],"mappings":";;;AAGA;;GAEG;AACH;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"}
|
|
@@ -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("./LocationStrategy"), exports);
|
|
18
|
+
__exportStar(require("./PositiveSequenceStrategy"), exports);
|
|
19
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/material/location/strategy/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,qDAAkC;AAClC,6DAA0C"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { MaterialItem } from '../items';
|
|
2
|
+
import { MaterialMoveType } from './MaterialMoveType';
|
|
3
|
+
import { MaterialMoveCommon } from './MaterialMove';
|
|
4
|
+
export declare type CreateItem<Player extends number = number, MaterialType extends number = number, LocationType extends number = number> = {
|
|
5
|
+
type: typeof MaterialMoveType.Create;
|
|
6
|
+
item: MaterialItem<Player, LocationType>;
|
|
7
|
+
} & MaterialMoveCommon<MaterialType>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CreateItem.js","sourceRoot":"","sources":["../../../src/material/moves/CreateItem.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CustomMove.js","sourceRoot":"","sources":["../../../src/material/moves/CustomMove.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CustomMoves.js","sourceRoot":"","sources":["../../../src/material/moves/CustomMoves.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { MaterialMoveType } from './MaterialMoveType';
|
|
2
|
+
import { MaterialMoveCommon } from './MaterialMove';
|
|
3
|
+
export declare type DeleteItem<MaterialType extends number = number> = {
|
|
4
|
+
type: typeof MaterialMoveType.Delete;
|
|
5
|
+
itemIndex: number;
|
|
6
|
+
quantity?: number;
|
|
7
|
+
} & MaterialMoveCommon<MaterialType>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DeleteItem.js","sourceRoot":"","sources":["../../../src/material/moves/DeleteItem.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { MoveKind } from './MoveKind';
|
|
2
|
+
import { MoveItem } from './MoveItem';
|
|
3
|
+
import { Shuffle, ShuffleRandomized } from './Shuffle';
|
|
4
|
+
import { CreateItem } from './CreateItem';
|
|
5
|
+
import { DeleteItem } from './DeleteItem';
|
|
6
|
+
export declare type MaterialMove<Player extends number = number, MaterialType extends number = number, LocationType extends number = number> = CreateItem<Player, MaterialType, LocationType> | DeleteItem<MaterialType> | MoveItem<Player, MaterialType, LocationType> | Shuffle<MaterialType>;
|
|
7
|
+
export declare type MaterialMoveCommon<MaterialType extends number = number> = {
|
|
8
|
+
kind: typeof MoveKind.MaterialMove;
|
|
9
|
+
itemType: MaterialType;
|
|
10
|
+
};
|
|
11
|
+
export declare type MaterialMoveRandomized<Player extends number = number, MaterialType extends number = number, LocationType extends number = number> = Exclude<MaterialMove<Player, MaterialType, LocationType>, Shuffle<MaterialType>> | ShuffleRandomized<MaterialType>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MaterialMove.js","sourceRoot":"","sources":["../../../src/material/moves/MaterialMove.ts"],"names":[],"mappings":""}
|
|
@@ -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,10 @@
|
|
|
1
|
+
import { MoveKind } from './MoveKind';
|
|
2
|
+
export declare type RulesMoves<Player extends number = number> = {
|
|
3
|
+
kind: typeof MoveKind.RulesMove;
|
|
4
|
+
} & (SetRulesStep<Player>);
|
|
5
|
+
export declare type SetRulesStep<Player extends number = number> = {
|
|
6
|
+
kind: typeof MoveKind.RulesMove;
|
|
7
|
+
step: number;
|
|
8
|
+
player?: Player;
|
|
9
|
+
data?: any;
|
|
10
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RulesMoves.js","sourceRoot":"","sources":["../../../src/material/moves/RulesMoves.ts"],"names":[],"mappings":""}
|
|
@@ -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"}
|