@gamepark/rules-api 6.0.0-alpha.0 → 6.0.2-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/material/HiddenMaterialRules.d.ts +12 -10
- package/dist/material/HiddenMaterialRules.js +20 -15
- package/dist/material/HiddenMaterialRules.js.map +1 -1
- package/dist/material/MaterialRules.d.ts +3 -2
- package/dist/material/MaterialRules.js +15 -20
- package/dist/material/MaterialRules.js.map +1 -1
- package/dist/material/index.d.ts +0 -1
- package/dist/material/index.js +0 -1
- package/dist/material/index.js.map +1 -1
- package/dist/material/items/Material.d.ts +12 -6
- package/dist/material/items/Material.js +70 -48
- package/dist/material/items/Material.js.map +1 -1
- package/dist/material/items/MaterialItem.d.ts +5 -3
- package/dist/material/items/MaterialMutator.d.ts +20 -0
- package/dist/material/items/MaterialMutator.js +150 -0
- package/dist/material/items/MaterialMutator.js.map +1 -0
- package/dist/material/items/MaterialOperation.d.ts +2 -5
- package/dist/material/items/MaterialOperation.js +24 -38
- package/dist/material/items/MaterialOperation.js.map +1 -1
- package/dist/material/items/index.d.ts +1 -1
- package/dist/material/items/index.js +1 -1
- package/dist/material/items/index.js.map +1 -1
- package/dist/material/location/Location.d.ts +0 -1
- package/dist/material/location/Location.js +0 -9
- package/dist/material/location/Location.js.map +1 -1
- package/dist/material/location/strategy/FillGapStrategy.d.ts +10 -0
- package/dist/material/location/strategy/FillGapStrategy.js +25 -0
- package/dist/material/location/strategy/FillGapStrategy.js.map +1 -0
- package/dist/material/location/strategy/index.d.ts +1 -0
- package/dist/material/location/strategy/index.js +1 -0
- package/dist/material/location/strategy/index.js.map +1 -1
- package/dist/material/moves/MoveItem.d.ts +8 -9
- package/dist/material/moves/MoveItem.js +5 -45
- package/dist/material/moves/MoveItem.js.map +1 -1
- package/dist/material/moves/local/RulesDisplay.d.ts +1 -1
- package/dist/material/moves/rules/MaterialMutator.d.ts +17 -0
- package/dist/material/moves/rules/MaterialMutator.js +133 -0
- package/dist/material/moves/rules/MaterialMutator.js.map +1 -0
- package/dist/material/rules/MaterialStepRules.js +6 -6
- package/dist/material/rules/MaterialStepRules.js.map +1 -1
- package/package.json +2 -2
- package/dist/material/MaterialRulesStep.d.ts +0 -16
- package/dist/material/MaterialRulesStep.js +0 -47
- package/dist/material/MaterialRulesStep.js.map +0 -1
- package/dist/material/MaterialStepRules.d.ts +0 -16
- package/dist/material/MaterialStepRules.js +0 -47
- package/dist/material/MaterialStepRules.js.map +0 -1
- package/dist/material/PlayerRulesStep.d.ts +0 -10
- package/dist/material/PlayerRulesStep.js +0 -54
- package/dist/material/PlayerRulesStep.js.map +0 -1
- package/dist/material/PlayerTurnRule.d.ts +0 -10
- package/dist/material/PlayerTurnRule.js +0 -54
- package/dist/material/PlayerTurnRule.js.map +0 -1
- package/dist/material/helper/MaterialRulesMovesBuilder.d.ts +0 -8
- package/dist/material/helper/MaterialRulesMovesBuilder.js +0 -26
- package/dist/material/helper/MaterialRulesMovesBuilder.js.map +0 -1
- package/dist/material/moves/CustomMoves.d.ts +0 -7
- package/dist/material/moves/CustomMoves.js +0 -3
- package/dist/material/moves/CustomMoves.js.map +0 -1
- package/dist/material/moves/RulesMoves.d.ts +0 -10
- package/dist/material/moves/RulesMoves.js +0 -3
- package/dist/material/moves/RulesMoves.js.map +0 -1
- package/dist/material/moves/rules/MaterialRulesMovesBuilder.d.ts +0 -8
- package/dist/material/moves/rules/MaterialRulesMovesBuilder.js +0 -26
- package/dist/material/moves/rules/MaterialRulesMovesBuilder.js.map +0 -1
- package/dist/material/moves/rules/Memorize.d.ts +0 -6
- package/dist/material/moves/rules/Memorize.js +0 -3
- package/dist/material/moves/rules/Memorize.js.map +0 -1
- package/dist/material/moves/rules/MemorizeOnGame.d.ts +0 -6
- package/dist/material/moves/rules/MemorizeOnGame.js +0 -3
- package/dist/material/moves/rules/MemorizeOnGame.js.map +0 -1
- package/dist/material/rules/Rule.d.ts +0 -5
- package/dist/material/rules/Rule.js +0 -3
- package/dist/material/rules/Rule.js.map +0 -1
- package/dist/material/rules/RulesStep.d.ts +0 -5
- package/dist/material/rules/RulesStep.js +0 -3
- package/dist/material/rules/RulesStep.js.map +0 -1
|
@@ -0,0 +1,133 @@
|
|
|
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
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
14
|
+
var t = {};
|
|
15
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
16
|
+
t[p] = s[p];
|
|
17
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
18
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
19
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
20
|
+
t[p[i]] = s[p[i]];
|
|
21
|
+
}
|
|
22
|
+
return t;
|
|
23
|
+
};
|
|
24
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
25
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
26
|
+
};
|
|
27
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
28
|
+
exports.MaterialMutator = void 0;
|
|
29
|
+
var lodash_shuffle_1 = __importDefault(require("lodash.shuffle"));
|
|
30
|
+
var items_1 = require("../../items");
|
|
31
|
+
var fast_deep_equal_1 = __importDefault(require("fast-deep-equal"));
|
|
32
|
+
var MaterialMutator = /** @class */ (function () {
|
|
33
|
+
function MaterialMutator(type, items, locationsStrategies) {
|
|
34
|
+
if (locationsStrategies === void 0) { locationsStrategies = {}; }
|
|
35
|
+
this.type = type;
|
|
36
|
+
this.items = items;
|
|
37
|
+
this.locationsStrategies = locationsStrategies;
|
|
38
|
+
}
|
|
39
|
+
MaterialMutator.prototype.create = function (item) {
|
|
40
|
+
var _a, _b;
|
|
41
|
+
var mergeItem = this.findMergeItem(item);
|
|
42
|
+
if (mergeItem) {
|
|
43
|
+
mergeItem.quantity = ((_a = mergeItem.quantity) !== null && _a !== void 0 ? _a : 1) + ((_b = item.quantity) !== null && _b !== void 0 ? _b : 1);
|
|
44
|
+
}
|
|
45
|
+
else {
|
|
46
|
+
this.addItem(item);
|
|
47
|
+
}
|
|
48
|
+
return this;
|
|
49
|
+
};
|
|
50
|
+
MaterialMutator.prototype.findMergeItem = function (newItem) {
|
|
51
|
+
return this.items.find(function (item) {
|
|
52
|
+
var itemQuantity = item.quantity, itemWithoutQuantity = __rest(item, ["quantity"]);
|
|
53
|
+
var newItemQuantity = newItem.quantity, newItemWithoutQuantity = __rest(newItem, ["quantity"]);
|
|
54
|
+
return (0, fast_deep_equal_1.default)(itemWithoutQuantity, newItemWithoutQuantity);
|
|
55
|
+
});
|
|
56
|
+
};
|
|
57
|
+
MaterialMutator.prototype.delete = function (index, quantity) {
|
|
58
|
+
if (quantity === void 0) { quantity = 1; }
|
|
59
|
+
var item = this.items[index];
|
|
60
|
+
return this.removeItem(item, quantity);
|
|
61
|
+
};
|
|
62
|
+
MaterialMutator.prototype.addItem = function (item) {
|
|
63
|
+
this.applyAddItemStrategy(item);
|
|
64
|
+
var availableIndex = this.items.findIndex(function (item) { return item.quantity === 0; });
|
|
65
|
+
if (availableIndex !== -1) {
|
|
66
|
+
this.items[availableIndex] = item;
|
|
67
|
+
}
|
|
68
|
+
else {
|
|
69
|
+
this.items.push(item);
|
|
70
|
+
}
|
|
71
|
+
};
|
|
72
|
+
MaterialMutator.prototype.applyAddItemStrategy = function (item) {
|
|
73
|
+
if (item.location.type in this.locationsStrategies) {
|
|
74
|
+
var strategy = this.locationsStrategies[item.location.type];
|
|
75
|
+
if (strategy.addItem) {
|
|
76
|
+
var material = new items_1.Material(this.type, Array.from(this.items.entries()).filter(function (entry) { return entry[1].quantity !== 0; }))
|
|
77
|
+
.location(item.location.type).player(item.location.player).locationId(item.location.id).parent(item.location.parent);
|
|
78
|
+
strategy.addItem(material, item);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
};
|
|
82
|
+
MaterialMutator.prototype.applyRemoveItemStrategy = function (item) {
|
|
83
|
+
if (item.location.type in this.locationsStrategies) {
|
|
84
|
+
var strategy = this.locationsStrategies[item.location.type];
|
|
85
|
+
if (strategy.removeItem) {
|
|
86
|
+
var material = new items_1.Material(this.type, Array.from(this.items.entries()).filter(function (entry) { return entry[1].quantity !== 0; }))
|
|
87
|
+
.location(item.location.type).player(item.location.player).locationId(item.location.id).parent(item.location.parent);
|
|
88
|
+
strategy.removeItem(material, item);
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
};
|
|
92
|
+
MaterialMutator.prototype.shuffle = function (indexes, newIndexes) {
|
|
93
|
+
var _this = this;
|
|
94
|
+
indexes = indexes || Array.from(this.items.keys());
|
|
95
|
+
newIndexes = newIndexes || (0, lodash_shuffle_1.default)(indexes);
|
|
96
|
+
var shuffledItems = indexes.map(function (index) { return _this.items[index]; });
|
|
97
|
+
newIndexes.forEach(function (newIndex, i) {
|
|
98
|
+
_this.items[newIndex] = __assign(__assign({}, shuffledItems[i]), { location: _this.items[newIndex].location });
|
|
99
|
+
});
|
|
100
|
+
return this;
|
|
101
|
+
};
|
|
102
|
+
MaterialMutator.prototype.move = function (index, destination) {
|
|
103
|
+
var _a, _b, _c, _d;
|
|
104
|
+
var sourceItem = this.items[index];
|
|
105
|
+
var quantity = sourceItem.quantity, rotation = sourceItem.rotation, sourceId = __rest(sourceItem, ["quantity", "rotation"]);
|
|
106
|
+
var newItem = __assign(__assign({}, sourceId), destination);
|
|
107
|
+
var mergeItem = this.findMergeItem(newItem);
|
|
108
|
+
if (mergeItem) {
|
|
109
|
+
mergeItem.quantity = ((_a = mergeItem.quantity) !== null && _a !== void 0 ? _a : 1) + ((_b = destination.quantity) !== null && _b !== void 0 ? _b : 1);
|
|
110
|
+
this.removeItem(sourceItem, destination.quantity);
|
|
111
|
+
}
|
|
112
|
+
else if (sourceItem.quantity && sourceItem.quantity > ((_c = destination.quantity) !== null && _c !== void 0 ? _c : 1)) {
|
|
113
|
+
sourceItem.quantity -= ((_d = destination.quantity) !== null && _d !== void 0 ? _d : 1);
|
|
114
|
+
this.addItem(newItem);
|
|
115
|
+
}
|
|
116
|
+
else {
|
|
117
|
+
this.applyAddItemStrategy(newItem);
|
|
118
|
+
this.items[index] = newItem;
|
|
119
|
+
this.applyRemoveItemStrategy(sourceItem);
|
|
120
|
+
}
|
|
121
|
+
};
|
|
122
|
+
MaterialMutator.prototype.removeItem = function (item, quantity) {
|
|
123
|
+
var _a;
|
|
124
|
+
if (quantity === void 0) { quantity = 1; }
|
|
125
|
+
item.quantity = Math.max(0, ((_a = item.quantity) !== null && _a !== void 0 ? _a : 1) - quantity);
|
|
126
|
+
if (item.quantity === 0) {
|
|
127
|
+
this.applyRemoveItemStrategy(item);
|
|
128
|
+
}
|
|
129
|
+
};
|
|
130
|
+
return MaterialMutator;
|
|
131
|
+
}());
|
|
132
|
+
exports.MaterialMutator = MaterialMutator;
|
|
133
|
+
//# sourceMappingURL=MaterialMutator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MaterialMutator.js","sourceRoot":"","sources":["../../../../src/material/moves/rules/MaterialMutator.ts"],"names":[],"mappings":"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"}
|
|
@@ -58,12 +58,12 @@ var MaterialStepRules = /** @class */ (function (_super) {
|
|
|
58
58
|
return new MaterialRulesMovesBuilder_1.MaterialRulesMovesBuilder(this.game);
|
|
59
59
|
};
|
|
60
60
|
MaterialStepRules.prototype.getMemory = function (player) {
|
|
61
|
-
var _a, _b;
|
|
61
|
+
var _a, _b, _c;
|
|
62
62
|
if (player !== undefined) {
|
|
63
|
-
return (
|
|
63
|
+
return ((_b = (_a = this.game.rule.playersMemory) === null || _a === void 0 ? void 0 : _a[player]) !== null && _b !== void 0 ? _b : {});
|
|
64
64
|
}
|
|
65
65
|
else {
|
|
66
|
-
return ((
|
|
66
|
+
return ((_c = this.game.rule.memory) !== null && _c !== void 0 ? _c : {});
|
|
67
67
|
}
|
|
68
68
|
};
|
|
69
69
|
MaterialStepRules.prototype.memorize = function (memory, player) {
|
|
@@ -77,12 +77,12 @@ var MaterialStepRules = /** @class */ (function (_super) {
|
|
|
77
77
|
}
|
|
78
78
|
};
|
|
79
79
|
MaterialStepRules.prototype.getGameMemory = function (player) {
|
|
80
|
-
var _a, _b;
|
|
80
|
+
var _a, _b, _c;
|
|
81
81
|
if (player !== undefined) {
|
|
82
|
-
return (
|
|
82
|
+
return ((_b = (_a = this.game.playersMemory) === null || _a === void 0 ? void 0 : _a[player]) !== null && _b !== void 0 ? _b : {});
|
|
83
83
|
}
|
|
84
84
|
else {
|
|
85
|
-
return ((
|
|
85
|
+
return ((_c = this.game.memory) !== null && _c !== void 0 ? _c : {});
|
|
86
86
|
}
|
|
87
87
|
};
|
|
88
88
|
MaterialStepRules.prototype.memorizeOnGame = function (memory, player) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MaterialStepRules.js","sourceRoot":"","sources":["../../../src/material/rules/MaterialStepRules.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,qCAAmC;AAEnC,kCAAmC;AACnC,yEAAuE;AAGvE;IACU,qCAAsH;IADhI;;IAiEA,CAAC;IA9DC,oCAAQ,GAAR,UAAS,IAAkB;;QACzB,OAAO,IAAI,gBAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,MAAA,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,mCAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,UAAA,KAAK,IAAI,OAAA,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,CAAC,EAAvB,CAAuB,CAAC,CAAC,CAAA;IACzH,CAAC;IAED,8CAAkB,GAAlB,UAAmB,KAAuD;QACxE,OAAO,EAAE,CAAA;IACX,CAAC;IAED,6CAAiB,GAAjB,UAAkB,KAAuD;QACvE,OAAO,EAAE,CAAA;IACX,CAAC;IAED,uCAAW,GAAX,UAAmC,KAA+B,EAAE,aAAwB;QAC1F,OAAO,EAAE,CAAA;IACX,CAAC;IAED,qCAAS,GAAT,UAAiC,KAA+B;QAC9D,OAAO,EAAE,CAAA;IACX,CAAC;IAED,wCAAY,GAAZ,UAAa,KAAiB;QAC5B,OAAO,EAAE,CAAA;IACX,CAAC;IAED,iCAAK,GAAL;QACE,OAAO,IAAI,qDAAyB,CAAqC,IAAI,CAAC,IAAI,CAAC,CAAA;IACrF,CAAC;IAED,qCAAS,GAAT,UAAa,MAAe;;QAC1B,IAAI,MAAM,KAAK,SAAS,EAAE;YACxB,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"MaterialStepRules.js","sourceRoot":"","sources":["../../../src/material/rules/MaterialStepRules.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gamepark/rules-api",
|
|
3
|
-
"version": "6.0.
|
|
3
|
+
"version": "6.0.2-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",
|
|
@@ -33,5 +33,5 @@
|
|
|
33
33
|
"@types/lodash.minby": "^4.6.7",
|
|
34
34
|
"i18next": ">=21.3.0"
|
|
35
35
|
},
|
|
36
|
-
"gitHead": "
|
|
36
|
+
"gitHead": "99f7258d61a3301a60e27df51e7c8ecc77b20e61"
|
|
37
37
|
}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { MaterialGame } from './MaterialGame';
|
|
2
|
-
import { Rules } from '../Rules';
|
|
3
|
-
import { MaterialRulesMove } from './moves';
|
|
4
|
-
import { Material } from './items';
|
|
5
|
-
import { MaterialRulesMovesBuilder } from './helper';
|
|
6
|
-
export declare abstract class MaterialRulesStep<Player extends number = number, MaterialType extends number = number, LocationType extends number = number> extends Rules<MaterialGame<Player, MaterialType, LocationType>, MaterialRulesMove<Player, MaterialType, LocationType>, Player> {
|
|
7
|
-
getData<T>(): T;
|
|
8
|
-
constructor(game: MaterialGame<Player, MaterialType, LocationType>);
|
|
9
|
-
material(type: MaterialType): Material<Player, MaterialType, LocationType>;
|
|
10
|
-
beforePlay(_move: MaterialRulesMove<Player, MaterialType, LocationType>): MaterialRulesMove<Player, MaterialType, LocationType>[];
|
|
11
|
-
afterPlay(_move: MaterialRulesMove<Player, MaterialType, LocationType>): MaterialRulesMove<Player, MaterialType, LocationType>[];
|
|
12
|
-
rules(): MaterialRulesMovesBuilder<Player, MaterialType, LocationType>;
|
|
13
|
-
}
|
|
14
|
-
export interface MaterialRulesStepCreator<Player extends number = number, MaterialType extends number = number, LocationType extends number = number> {
|
|
15
|
-
new (state: MaterialGame<Player, MaterialType, LocationType>): MaterialRulesStep<Player, MaterialType, LocationType>;
|
|
16
|
-
}
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __extends = (this && this.__extends) || (function () {
|
|
3
|
-
var extendStatics = function (d, b) {
|
|
4
|
-
extendStatics = Object.setPrototypeOf ||
|
|
5
|
-
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
6
|
-
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
7
|
-
return extendStatics(d, b);
|
|
8
|
-
};
|
|
9
|
-
return function (d, b) {
|
|
10
|
-
if (typeof b !== "function" && b !== null)
|
|
11
|
-
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
12
|
-
extendStatics(d, b);
|
|
13
|
-
function __() { this.constructor = d; }
|
|
14
|
-
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
15
|
-
};
|
|
16
|
-
})();
|
|
17
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
-
exports.MaterialRulesStep = void 0;
|
|
19
|
-
var Rules_1 = require("../Rules");
|
|
20
|
-
var items_1 = require("./items");
|
|
21
|
-
var helper_1 = require("./helper");
|
|
22
|
-
var MaterialRulesStep = /** @class */ (function (_super) {
|
|
23
|
-
__extends(MaterialRulesStep, _super);
|
|
24
|
-
function MaterialRulesStep(game) {
|
|
25
|
-
return _super.call(this, game) || this;
|
|
26
|
-
}
|
|
27
|
-
MaterialRulesStep.prototype.getData = function () {
|
|
28
|
-
var _a;
|
|
29
|
-
return (_a = this.game.rule) === null || _a === void 0 ? void 0 : _a.data;
|
|
30
|
-
};
|
|
31
|
-
MaterialRulesStep.prototype.material = function (type) {
|
|
32
|
-
var _a;
|
|
33
|
-
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; }));
|
|
34
|
-
};
|
|
35
|
-
MaterialRulesStep.prototype.beforePlay = function (_move) {
|
|
36
|
-
return [];
|
|
37
|
-
};
|
|
38
|
-
MaterialRulesStep.prototype.afterPlay = function (_move) {
|
|
39
|
-
return [];
|
|
40
|
-
};
|
|
41
|
-
MaterialRulesStep.prototype.rules = function () {
|
|
42
|
-
return new helper_1.MaterialRulesMovesBuilder(this.game);
|
|
43
|
-
};
|
|
44
|
-
return MaterialRulesStep;
|
|
45
|
-
}(Rules_1.Rules));
|
|
46
|
-
exports.MaterialRulesStep = MaterialRulesStep;
|
|
47
|
-
//# sourceMappingURL=MaterialRulesStep.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"MaterialRulesStep.js","sourceRoot":"","sources":["../../src/material/MaterialRulesStep.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AACA,kCAAgC;AAEhC,iCAAkC;AAClC,mCAAoD;AAEpD;IACU,qCAAsH;IAM9H,2BAAY,IAAsD;eAChE,kBAAM,IAAI,CAAC;IACb,CAAC;IAND,mCAAO,GAAP;;QACE,OAAO,MAAA,IAAI,CAAC,IAAI,CAAC,IAAI,0CAAE,IAAS,CAAA;IAClC,CAAC;IAMD,oCAAQ,GAAR,UAAS,IAAkB;;QACzB,OAAO,IAAI,gBAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,MAAA,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,mCAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,UAAA,KAAK,IAAI,OAAA,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,CAAC,EAAvB,CAAuB,CAAC,CAAC,CAAA;IACzH,CAAC;IAED,sCAAU,GAAV,UAAW,KAA4D;QACrE,OAAO,EAAE,CAAA;IACX,CAAC;IAED,qCAAS,GAAT,UAAU,KAA4D;QACpE,OAAO,EAAE,CAAA;IACX,CAAC;IAED,iCAAK,GAAL;QACE,OAAO,IAAI,kCAAyB,CAAqC,IAAI,CAAC,IAAI,CAAC,CAAA;IACrF,CAAC;IACH,wBAAC;AAAD,CAAC,AA1BD,CACU,aAAK,GAyBd;AA1BqB,8CAAiB"}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { MaterialGame } from './MaterialGame';
|
|
2
|
-
import { Rules } from '../Rules';
|
|
3
|
-
import { MaterialRulesMove } from './moves';
|
|
4
|
-
import { Material } from './items';
|
|
5
|
-
import { MaterialRulesMovesBuilder } from './helper';
|
|
6
|
-
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> {
|
|
7
|
-
getData<T>(): T;
|
|
8
|
-
constructor(game: MaterialGame<Player, MaterialType, LocationType>);
|
|
9
|
-
material(type: MaterialType): Material<Player, MaterialType, LocationType>;
|
|
10
|
-
beforePlay(_move: MaterialRulesMove<Player, MaterialType, LocationType>): MaterialRulesMove<Player, MaterialType, LocationType>[];
|
|
11
|
-
afterPlay(_move: MaterialRulesMove<Player, MaterialType, LocationType>): MaterialRulesMove<Player, MaterialType, LocationType>[];
|
|
12
|
-
rules(): MaterialRulesMovesBuilder<Player, MaterialType, LocationType>;
|
|
13
|
-
}
|
|
14
|
-
export interface MaterialRulesStepCreator<Player extends number = number, MaterialType extends number = number, LocationType extends number = number> {
|
|
15
|
-
new (state: MaterialGame<Player, MaterialType, LocationType>): MaterialStepRules<Player, MaterialType, LocationType>;
|
|
16
|
-
}
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __extends = (this && this.__extends) || (function () {
|
|
3
|
-
var extendStatics = function (d, b) {
|
|
4
|
-
extendStatics = Object.setPrototypeOf ||
|
|
5
|
-
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
6
|
-
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
7
|
-
return extendStatics(d, b);
|
|
8
|
-
};
|
|
9
|
-
return function (d, b) {
|
|
10
|
-
if (typeof b !== "function" && b !== null)
|
|
11
|
-
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
12
|
-
extendStatics(d, b);
|
|
13
|
-
function __() { this.constructor = d; }
|
|
14
|
-
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
15
|
-
};
|
|
16
|
-
})();
|
|
17
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
-
exports.MaterialStepRules = void 0;
|
|
19
|
-
var Rules_1 = require("../Rules");
|
|
20
|
-
var items_1 = require("./items");
|
|
21
|
-
var helper_1 = require("./helper");
|
|
22
|
-
var MaterialStepRules = /** @class */ (function (_super) {
|
|
23
|
-
__extends(MaterialStepRules, _super);
|
|
24
|
-
function MaterialStepRules(game) {
|
|
25
|
-
return _super.call(this, game) || this;
|
|
26
|
-
}
|
|
27
|
-
MaterialStepRules.prototype.getData = function () {
|
|
28
|
-
var _a;
|
|
29
|
-
return (_a = this.game.rule) === null || _a === void 0 ? void 0 : _a.data;
|
|
30
|
-
};
|
|
31
|
-
MaterialStepRules.prototype.material = function (type) {
|
|
32
|
-
var _a;
|
|
33
|
-
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; }));
|
|
34
|
-
};
|
|
35
|
-
MaterialStepRules.prototype.beforePlay = function (_move) {
|
|
36
|
-
return [];
|
|
37
|
-
};
|
|
38
|
-
MaterialStepRules.prototype.afterPlay = function (_move) {
|
|
39
|
-
return [];
|
|
40
|
-
};
|
|
41
|
-
MaterialStepRules.prototype.rules = function () {
|
|
42
|
-
return new helper_1.MaterialRulesMovesBuilder(this.game);
|
|
43
|
-
};
|
|
44
|
-
return MaterialStepRules;
|
|
45
|
-
}(Rules_1.Rules));
|
|
46
|
-
exports.MaterialStepRules = MaterialStepRules;
|
|
47
|
-
//# sourceMappingURL=MaterialStepRules.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"MaterialStepRules.js","sourceRoot":"","sources":["../../src/material/MaterialStepRules.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AACA,kCAAgC;AAEhC,iCAAkC;AAClC,mCAAoD;AAEpD;IACU,qCAAsH;IAM9H,2BAAY,IAAsD;eAChE,kBAAM,IAAI,CAAC;IACb,CAAC;IAND,mCAAO,GAAP;;QACE,OAAO,MAAA,IAAI,CAAC,IAAI,CAAC,IAAI,0CAAE,IAAS,CAAA;IAClC,CAAC;IAMD,oCAAQ,GAAR,UAAS,IAAkB;;QACzB,OAAO,IAAI,gBAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,MAAA,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,mCAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,UAAA,KAAK,IAAI,OAAA,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,CAAC,EAAvB,CAAuB,CAAC,CAAC,CAAA;IACzH,CAAC;IAED,sCAAU,GAAV,UAAW,KAA4D;QACrE,OAAO,EAAE,CAAA;IACX,CAAC;IAED,qCAAS,GAAT,UAAU,KAA4D;QACpE,OAAO,EAAE,CAAA;IACX,CAAC;IAED,iCAAK,GAAL;QACE,OAAO,IAAI,kCAAyB,CAAqC,IAAI,CAAC,IAAI,CAAC,CAAA;IACrF,CAAC;IACH,wBAAC;AAAD,CAAC,AA1BD,CACU,aAAK,GAyBd;AA1BqB,8CAAiB"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { MaterialRulesStep } from './MaterialRulesStep';
|
|
2
|
-
import { MaterialRulesMove } from './moves';
|
|
3
|
-
export declare abstract class PlayerRulesStep<Player extends number = number, MaterialType extends number = number, LocationType extends number = number> extends MaterialRulesStep<Player, MaterialType, LocationType> {
|
|
4
|
-
get player(): Player;
|
|
5
|
-
get nextPlayer(): Player;
|
|
6
|
-
getActivePlayer(): Player;
|
|
7
|
-
initializeMoves(): MaterialRulesMove<Player, MaterialType, LocationType>[];
|
|
8
|
-
getLegalMoves(player: Player): MaterialRulesMove<Player, MaterialType, LocationType>[];
|
|
9
|
-
abstract getPlayerMoves(): MaterialRulesMove<Player, MaterialType, LocationType>[];
|
|
10
|
-
}
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __extends = (this && this.__extends) || (function () {
|
|
3
|
-
var extendStatics = function (d, b) {
|
|
4
|
-
extendStatics = Object.setPrototypeOf ||
|
|
5
|
-
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
6
|
-
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
7
|
-
return extendStatics(d, b);
|
|
8
|
-
};
|
|
9
|
-
return function (d, b) {
|
|
10
|
-
if (typeof b !== "function" && b !== null)
|
|
11
|
-
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
12
|
-
extendStatics(d, b);
|
|
13
|
-
function __() { this.constructor = d; }
|
|
14
|
-
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
15
|
-
};
|
|
16
|
-
})();
|
|
17
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
-
exports.PlayerRulesStep = void 0;
|
|
19
|
-
var MaterialRulesStep_1 = require("./MaterialRulesStep");
|
|
20
|
-
var PlayerRulesStep = /** @class */ (function (_super) {
|
|
21
|
-
__extends(PlayerRulesStep, _super);
|
|
22
|
-
function PlayerRulesStep() {
|
|
23
|
-
return _super !== null && _super.apply(this, arguments) || this;
|
|
24
|
-
}
|
|
25
|
-
Object.defineProperty(PlayerRulesStep.prototype, "player", {
|
|
26
|
-
get: function () {
|
|
27
|
-
// TODO: use generic to type state ?
|
|
28
|
-
return this.game.rule.player;
|
|
29
|
-
},
|
|
30
|
-
enumerable: false,
|
|
31
|
-
configurable: true
|
|
32
|
-
});
|
|
33
|
-
Object.defineProperty(PlayerRulesStep.prototype, "nextPlayer", {
|
|
34
|
-
get: function () {
|
|
35
|
-
return this.game.players[(this.game.players.indexOf(this.player) + 1) % this.game.players.length];
|
|
36
|
-
},
|
|
37
|
-
enumerable: false,
|
|
38
|
-
configurable: true
|
|
39
|
-
});
|
|
40
|
-
PlayerRulesStep.prototype.getActivePlayer = function () {
|
|
41
|
-
return this.player;
|
|
42
|
-
};
|
|
43
|
-
PlayerRulesStep.prototype.initializeMoves = function () {
|
|
44
|
-
return [];
|
|
45
|
-
};
|
|
46
|
-
PlayerRulesStep.prototype.getLegalMoves = function (player) {
|
|
47
|
-
if (player !== this.getActivePlayer())
|
|
48
|
-
return [];
|
|
49
|
-
return this.getPlayerMoves();
|
|
50
|
-
};
|
|
51
|
-
return PlayerRulesStep;
|
|
52
|
-
}(MaterialRulesStep_1.MaterialRulesStep));
|
|
53
|
-
exports.PlayerRulesStep = PlayerRulesStep;
|
|
54
|
-
//# sourceMappingURL=PlayerRulesStep.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"PlayerRulesStep.js","sourceRoot":"","sources":["../../src/material/PlayerRulesStep.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,yDAAuD;AAGvD;IACU,mCAAqD;IAD/D;;IA8BA,CAAC;IA3BC,sBAAI,mCAAM;aAAV;YACE,oCAAoC;YACpC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAK,CAAC,MAAO,CAAA;QAChC,CAAC;;;OAAA;IAED,sBAAI,uCAAU;aAAd;YACE,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;QACnG,CAAC;;;OAAA;IAED,yCAAe,GAAf;QACE,OAAO,IAAI,CAAC,MAAM,CAAA;IACpB,CAAC;IAED,yCAAe,GAAf;QACE,OAAO,EAAE,CAAA;IACX,CAAC;IAED,uCAAa,GAAb,UACE,MAAc;QAEd,IAAI,MAAM,KAAK,IAAI,CAAC,eAAe,EAAE;YAAE,OAAO,EAAE,CAAA;QAChD,OAAO,IAAI,CAAC,cAAc,EAAE,CAAA;IAC9B,CAAC;IAKH,sBAAC;AAAD,CAAC,AA9BD,CACU,qCAAiB,GA6B1B;AA9BqB,0CAAe"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { MaterialStepRules } from './MaterialStepRules';
|
|
2
|
-
import { MaterialRulesMove } from './moves';
|
|
3
|
-
export declare abstract class PlayerTurnRule<Player extends number = number, MaterialType extends number = number, LocationType extends number = number> extends MaterialStepRules<Player, MaterialType, LocationType> {
|
|
4
|
-
get player(): Player;
|
|
5
|
-
get nextPlayer(): Player;
|
|
6
|
-
getActivePlayer(): Player;
|
|
7
|
-
initializeMoves(): MaterialRulesMove<Player, MaterialType, LocationType>[];
|
|
8
|
-
getLegalMoves(player: Player): MaterialRulesMove<Player, MaterialType, LocationType>[];
|
|
9
|
-
abstract getPlayerMoves(): MaterialRulesMove<Player, MaterialType, LocationType>[];
|
|
10
|
-
}
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __extends = (this && this.__extends) || (function () {
|
|
3
|
-
var extendStatics = function (d, b) {
|
|
4
|
-
extendStatics = Object.setPrototypeOf ||
|
|
5
|
-
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
6
|
-
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
7
|
-
return extendStatics(d, b);
|
|
8
|
-
};
|
|
9
|
-
return function (d, b) {
|
|
10
|
-
if (typeof b !== "function" && b !== null)
|
|
11
|
-
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
12
|
-
extendStatics(d, b);
|
|
13
|
-
function __() { this.constructor = d; }
|
|
14
|
-
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
15
|
-
};
|
|
16
|
-
})();
|
|
17
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
-
exports.PlayerTurnRule = void 0;
|
|
19
|
-
var MaterialStepRules_1 = require("./MaterialStepRules");
|
|
20
|
-
var PlayerTurnRule = /** @class */ (function (_super) {
|
|
21
|
-
__extends(PlayerTurnRule, _super);
|
|
22
|
-
function PlayerTurnRule() {
|
|
23
|
-
return _super !== null && _super.apply(this, arguments) || this;
|
|
24
|
-
}
|
|
25
|
-
Object.defineProperty(PlayerTurnRule.prototype, "player", {
|
|
26
|
-
get: function () {
|
|
27
|
-
// TODO: use generic to type state ?
|
|
28
|
-
return this.game.rule.player;
|
|
29
|
-
},
|
|
30
|
-
enumerable: false,
|
|
31
|
-
configurable: true
|
|
32
|
-
});
|
|
33
|
-
Object.defineProperty(PlayerTurnRule.prototype, "nextPlayer", {
|
|
34
|
-
get: function () {
|
|
35
|
-
return this.game.players[(this.game.players.indexOf(this.player) + 1) % this.game.players.length];
|
|
36
|
-
},
|
|
37
|
-
enumerable: false,
|
|
38
|
-
configurable: true
|
|
39
|
-
});
|
|
40
|
-
PlayerTurnRule.prototype.getActivePlayer = function () {
|
|
41
|
-
return this.player;
|
|
42
|
-
};
|
|
43
|
-
PlayerTurnRule.prototype.initializeMoves = function () {
|
|
44
|
-
return [];
|
|
45
|
-
};
|
|
46
|
-
PlayerTurnRule.prototype.getLegalMoves = function (player) {
|
|
47
|
-
if (player !== this.getActivePlayer())
|
|
48
|
-
return [];
|
|
49
|
-
return this.getPlayerMoves();
|
|
50
|
-
};
|
|
51
|
-
return PlayerTurnRule;
|
|
52
|
-
}(MaterialStepRules_1.MaterialStepRules));
|
|
53
|
-
exports.PlayerTurnRule = PlayerTurnRule;
|
|
54
|
-
//# sourceMappingURL=PlayerTurnRule.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"PlayerTurnRule.js","sourceRoot":"","sources":["../../src/material/PlayerTurnRule.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,yDAAuD;AAGvD;IACU,kCAAqD;IAD/D;;IA8BA,CAAC;IA3BC,sBAAI,kCAAM;aAAV;YACE,oCAAoC;YACpC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAK,CAAC,MAAO,CAAA;QAChC,CAAC;;;OAAA;IAED,sBAAI,sCAAU;aAAd;YACE,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;QACnG,CAAC;;;OAAA;IAED,wCAAe,GAAf;QACE,OAAO,IAAI,CAAC,MAAM,CAAA;IACpB,CAAC;IAED,wCAAe,GAAf;QACE,OAAO,EAAE,CAAA;IACX,CAAC;IAED,sCAAa,GAAb,UACE,MAAc;QAEd,IAAI,MAAM,KAAK,IAAI,CAAC,eAAe,EAAE;YAAE,OAAO,EAAE,CAAA;QAChD,OAAO,IAAI,CAAC,cAAc,EAAE,CAAA;IAC9B,CAAC;IAKH,qBAAC;AAAD,CAAC,AA9BD,CACU,qCAAiB,GA6B1B;AA9BqB,wCAAc"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { MaterialGame } from '../MaterialGame';
|
|
2
|
-
import { 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
|
-
}
|
|
@@ -1,26 +0,0 @@
|
|
|
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
|
-
return MaterialRulesMovesBuilder;
|
|
24
|
-
}());
|
|
25
|
-
exports.MaterialRulesMovesBuilder = MaterialRulesMovesBuilder;
|
|
26
|
-
//# sourceMappingURL=MaterialRulesMovesBuilder.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"MaterialRulesMovesBuilder.js","sourceRoot":"","sources":["../../../src/material/helper/MaterialRulesMovesBuilder.ts"],"names":[],"mappings":";;;AACA,kCAA6E;AAE7E;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;IACH,gCAAC;AAAD,CAAC,AArBD,IAqBC;AArBY,8DAAyB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CustomMoves.js","sourceRoot":"","sources":["../../../src/material/moves/CustomMoves.ts"],"names":[],"mappings":""}
|
|
@@ -1,10 +0,0 @@
|
|
|
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
|
-
};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"RulesMoves.js","sourceRoot":"","sources":["../../../src/material/moves/RulesMoves.ts"],"names":[],"mappings":""}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { MaterialGame } from '../../MaterialGame';
|
|
2
|
-
import { StartPlayerTurn, StartRule } from '../index';
|
|
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
|
-
}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.MaterialRulesMovesBuilder = void 0;
|
|
4
|
-
var index_1 = require("../index");
|
|
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: index_1.MoveKind.RulesMove, type: index_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: index_1.MoveKind.RulesMove, type: index_1.RuleMoveType.StartRule, id: id };
|
|
17
|
-
if (player)
|
|
18
|
-
move.player = player;
|
|
19
|
-
if (memory)
|
|
20
|
-
move.memory = memory;
|
|
21
|
-
return move;
|
|
22
|
-
};
|
|
23
|
-
return MaterialRulesMovesBuilder;
|
|
24
|
-
}());
|
|
25
|
-
exports.MaterialRulesMovesBuilder = MaterialRulesMovesBuilder;
|
|
26
|
-
//# sourceMappingURL=MaterialRulesMovesBuilder.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"MaterialRulesMovesBuilder.js","sourceRoot":"","sources":["../../../../src/material/moves/rules/MaterialRulesMovesBuilder.ts"],"names":[],"mappings":";;;AACA,kCAA6E;AAE7E;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;IACH,gCAAC;AAAD,CAAC,AArBD,IAqBC;AArBY,8DAAyB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Memorize.js","sourceRoot":"","sources":["../../../../src/material/moves/rules/Memorize.ts"],"names":[],"mappings":""}
|