@gamepark/rules-api 6.19.0 → 6.21.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.
Files changed (243) hide show
  1. package/dist/Action.d.ts +25 -25
  2. package/dist/Action.js +61 -61
  3. package/dist/Action.js.map +1 -1
  4. package/dist/ApplyAutomaticMoves.d.ts +2 -2
  5. package/dist/ApplyAutomaticMoves.js +24 -24
  6. package/dist/ApplyAutomaticMoves.js.map +1 -1
  7. package/dist/Competitive.d.ts +13 -13
  8. package/dist/Competitive.js +45 -45
  9. package/dist/Competitive.js.map +1 -1
  10. package/dist/DefaultGameSetup.d.ts +7 -7
  11. package/dist/DefaultGameSetup.js +14 -14
  12. package/dist/Dummy.d.ts +7 -7
  13. package/dist/Dummy.js +26 -26
  14. package/dist/Dummy.js.map +1 -1
  15. package/dist/Eliminations.d.ts +5 -5
  16. package/dist/Eliminations.js +8 -8
  17. package/dist/GameSetup.d.ts +3 -3
  18. package/dist/GameSetup.js +2 -2
  19. package/dist/GameSetupCreator.d.ts +4 -4
  20. package/dist/GameSetupCreator.js +2 -2
  21. package/dist/IncompleteInformation.d.ts +14 -14
  22. package/dist/IncompleteInformation.js +37 -37
  23. package/dist/IncompleteInformation.js.map +1 -1
  24. package/dist/LocalMovePreview.d.ts +4 -0
  25. package/dist/LocalMovePreview.js +8 -0
  26. package/dist/LocalMovePreview.js.map +1 -0
  27. package/dist/LoopWithFuse.d.ts +4 -4
  28. package/dist/LoopWithFuse.js +14 -14
  29. package/dist/LoopWithFuse.js.map +1 -1
  30. package/dist/RandomMove.d.ts +7 -7
  31. package/dist/RandomMove.js +14 -14
  32. package/dist/Robot.d.ts +1 -1
  33. package/dist/Robot.js +2 -2
  34. package/dist/Rules.d.ts +18 -17
  35. package/dist/Rules.js +78 -78
  36. package/dist/Rules.js.map +1 -1
  37. package/dist/RulesCreator.d.ts +7 -7
  38. package/dist/RulesCreator.js +2 -2
  39. package/dist/TimeLimit.d.ts +10 -10
  40. package/dist/TimeLimit.js +12 -12
  41. package/dist/TimeLimit.js.map +1 -1
  42. package/dist/Undo.d.ts +5 -6
  43. package/dist/Undo.js +8 -8
  44. package/dist/Undo.js.map +1 -1
  45. package/dist/UnpredictableMove.d.ts +5 -5
  46. package/dist/UnpredictableMove.js +5 -5
  47. package/dist/index.d.ts +21 -20
  48. package/dist/index.js +37 -36
  49. package/dist/index.js.map +1 -1
  50. package/dist/material/HiddenMaterialRules.d.ts +36 -35
  51. package/dist/material/HiddenMaterialRules.js +245 -245
  52. package/dist/material/HiddenMaterialRules.js.map +1 -1
  53. package/dist/material/MaterialGame.d.ts +15 -15
  54. package/dist/material/MaterialGame.js +2 -2
  55. package/dist/material/MaterialGameSetup.d.ts +21 -21
  56. package/dist/material/MaterialGameSetup.js +75 -75
  57. package/dist/material/MaterialGameSetup.js.map +1 -1
  58. package/dist/material/MaterialRules.d.ts +44 -44
  59. package/dist/material/MaterialRules.js +240 -242
  60. package/dist/material/MaterialRules.js.map +1 -1
  61. package/dist/material/SecretMaterialRules.d.ts +13 -13
  62. package/dist/material/SecretMaterialRules.js +37 -37
  63. package/dist/material/index.d.ts +10 -10
  64. package/dist/material/index.js +26 -26
  65. package/dist/material/items/Material.d.ts +59 -60
  66. package/dist/material/items/Material.js +406 -405
  67. package/dist/material/items/Material.js.map +1 -1
  68. package/dist/material/items/MaterialItem.d.ts +7 -7
  69. package/dist/material/items/MaterialItem.js +2 -2
  70. package/dist/material/items/MaterialMutator.d.ts +31 -31
  71. package/dist/material/items/MaterialMutator.js +277 -277
  72. package/dist/material/items/MaterialMutator.js.map +1 -1
  73. package/dist/material/items/index.d.ts +3 -3
  74. package/dist/material/items/index.js +19 -19
  75. package/dist/material/location/Location.d.ts +11 -11
  76. package/dist/material/location/Location.js +2 -2
  77. package/dist/material/location/LocationBuilder.d.ts +12 -12
  78. package/dist/material/location/LocationBuilder.js +40 -40
  79. package/dist/material/location/index.d.ts +3 -3
  80. package/dist/material/location/index.js +19 -19
  81. package/dist/material/location/strategy/FillGapStrategy.d.ts +7 -7
  82. package/dist/material/location/strategy/FillGapStrategy.js +23 -23
  83. package/dist/material/location/strategy/FillGapStrategy.js.map +1 -1
  84. package/dist/material/location/strategy/LocationStrategy.d.ts +6 -6
  85. package/dist/material/location/strategy/LocationStrategy.js +2 -2
  86. package/dist/material/location/strategy/PositiveSequenceStrategy.d.ts +9 -9
  87. package/dist/material/location/strategy/PositiveSequenceStrategy.js +65 -65
  88. package/dist/material/location/strategy/PositiveSequenceStrategy.js.map +1 -1
  89. package/dist/material/location/strategy/index.d.ts +3 -3
  90. package/dist/material/location/strategy/index.js +19 -19
  91. package/dist/material/memory/GameMemory.d.ts +8 -8
  92. package/dist/material/memory/GameMemory.js +27 -27
  93. package/dist/material/memory/GameMemory.js.map +1 -1
  94. package/dist/material/memory/PlayerMemory.d.ts +9 -9
  95. package/dist/material/memory/PlayerMemory.js +32 -32
  96. package/dist/material/memory/PlayerMemory.js.map +1 -1
  97. package/dist/material/memory/index.d.ts +2 -2
  98. package/dist/material/memory/index.js +18 -18
  99. package/dist/material/moves/CustomMove.d.ts +9 -9
  100. package/dist/material/moves/CustomMove.js +10 -10
  101. package/dist/material/moves/MaterialMove.d.ts +7 -7
  102. package/dist/material/moves/MaterialMove.js +2 -2
  103. package/dist/material/moves/MoveKind.d.ts +6 -6
  104. package/dist/material/moves/MoveKind.js +10 -10
  105. package/dist/material/moves/MoveKind.js.map +1 -1
  106. package/dist/material/moves/index.d.ts +6 -6
  107. package/dist/material/moves/index.js +22 -22
  108. package/dist/material/moves/items/CreateItem.d.ts +10 -10
  109. package/dist/material/moves/items/CreateItem.js +15 -15
  110. package/dist/material/moves/items/CreateItemsAtOnce.d.ts +10 -10
  111. package/dist/material/moves/items/CreateItemsAtOnce.js +15 -15
  112. package/dist/material/moves/items/DeleteItem.d.ts +10 -10
  113. package/dist/material/moves/items/DeleteItem.js +15 -15
  114. package/dist/material/moves/items/DeleteItemsAtOnce.d.ts +9 -9
  115. package/dist/material/moves/items/DeleteItemsAtOnce.js +15 -15
  116. package/dist/material/moves/items/ItemMove.d.ts +17 -17
  117. package/dist/material/moves/items/ItemMove.js +2 -2
  118. package/dist/material/moves/items/ItemMoveType.d.ts +11 -11
  119. package/dist/material/moves/items/ItemMoveType.js +15 -15
  120. package/dist/material/moves/items/ItemMoveType.js.map +1 -1
  121. package/dist/material/moves/items/ItemMovesBuilder.d.ts +8 -8
  122. package/dist/material/moves/items/ItemMovesBuilder.js +33 -33
  123. package/dist/material/moves/items/ItemMovesBuilder.js.map +1 -1
  124. package/dist/material/moves/items/MoveItem.d.ts +14 -14
  125. package/dist/material/moves/items/MoveItem.js +15 -15
  126. package/dist/material/moves/items/MoveItemsAtOnce.d.ts +13 -13
  127. package/dist/material/moves/items/MoveItemsAtOnce.js +15 -15
  128. package/dist/material/moves/items/RollItem.d.ts +11 -11
  129. package/dist/material/moves/items/RollItem.js +15 -15
  130. package/dist/material/moves/items/SelectItem.d.ts +11 -11
  131. package/dist/material/moves/items/SelectItem.js +15 -15
  132. package/dist/material/moves/items/Shuffle.d.ts +13 -13
  133. package/dist/material/moves/items/Shuffle.js +19 -19
  134. package/dist/material/moves/items/index.d.ts +12 -12
  135. package/dist/material/moves/items/index.js +28 -28
  136. package/dist/material/moves/local/CloseTutorialPopup.d.ts +8 -8
  137. package/dist/material/moves/local/CloseTutorialPopup.js +9 -9
  138. package/dist/material/moves/local/DisplayHelp.d.ts +34 -39
  139. package/dist/material/moves/local/DisplayHelp.js +28 -29
  140. package/dist/material/moves/local/DisplayHelp.js.map +1 -1
  141. package/dist/material/moves/local/DropItem.d.ts +13 -13
  142. package/dist/material/moves/local/DropItem.js +9 -9
  143. package/dist/material/moves/local/LocalMove.d.ts +11 -12
  144. package/dist/material/moves/local/LocalMove.js +10 -11
  145. package/dist/material/moves/local/LocalMove.js.map +1 -1
  146. package/dist/material/moves/local/SetTutorialStep.d.ts +9 -9
  147. package/dist/material/moves/local/SetTutorialStep.js +9 -9
  148. package/dist/material/moves/local/index.d.ts +5 -5
  149. package/dist/material/moves/local/index.js +21 -21
  150. package/dist/material/moves/rules/EndGame.d.ts +6 -6
  151. package/dist/material/moves/rules/EndGame.js +9 -9
  152. package/dist/material/moves/rules/EndPlayerTurn.d.ts +7 -7
  153. package/dist/material/moves/rules/EndPlayerTurn.js +9 -9
  154. package/dist/material/moves/rules/RuleMove.d.ts +18 -18
  155. package/dist/material/moves/rules/RuleMove.js +18 -18
  156. package/dist/material/moves/rules/RuleMove.js.map +1 -1
  157. package/dist/material/moves/rules/StartPlayerTurn.d.ts +8 -8
  158. package/dist/material/moves/rules/StartPlayerTurn.js +9 -9
  159. package/dist/material/moves/rules/StartRule.d.ts +7 -7
  160. package/dist/material/moves/rules/StartRule.js +9 -9
  161. package/dist/material/moves/rules/StartSimultaneousRule.d.ts +8 -8
  162. package/dist/material/moves/rules/StartSimultaneousRule.js +9 -9
  163. package/dist/material/moves/rules/index.d.ts +6 -6
  164. package/dist/material/moves/rules/index.js +22 -22
  165. package/dist/material/rules/MaterialRulesMovesBuilder.d.ts +12 -12
  166. package/dist/material/rules/MaterialRulesMovesBuilder.js +35 -35
  167. package/dist/material/rules/MaterialRulesPart.d.ts +23 -23
  168. package/dist/material/rules/MaterialRulesPart.js +64 -64
  169. package/dist/material/rules/MaterialRulesPart.js.map +1 -1
  170. package/dist/material/rules/PlayerTurnRule.d.ts +9 -9
  171. package/dist/material/rules/PlayerTurnRule.js +52 -52
  172. package/dist/material/rules/RuleStep.d.ts +5 -5
  173. package/dist/material/rules/RuleStep.js +2 -2
  174. package/dist/material/rules/SimultaneousRule.d.ts +9 -9
  175. package/dist/material/rules/SimultaneousRule.js +41 -41
  176. package/dist/material/rules/SimultaneousRule.js.map +1 -1
  177. package/dist/material/rules/index.d.ts +5 -5
  178. package/dist/material/rules/index.js +21 -21
  179. package/dist/options/EnumOption.d.ts +6 -6
  180. package/dist/options/EnumOption.js +7 -7
  181. package/dist/options/Option.d.ts +8 -8
  182. package/dist/options/Option.js +2 -2
  183. package/dist/options/OptionSpecOf.d.ts +5 -5
  184. package/dist/options/OptionSpecOf.js +2 -2
  185. package/dist/options/OptionsSpec.d.ts +9 -9
  186. package/dist/options/OptionsSpec.js +2 -2
  187. package/dist/options/OptionsValidationError.d.ts +4 -4
  188. package/dist/options/OptionsValidationError.js +29 -29
  189. package/dist/options/OptionsValidationError.js.map +1 -1
  190. package/dist/options/PlayerEnumOption.d.ts +14 -14
  191. package/dist/options/PlayerEnumOption.js +66 -66
  192. package/dist/options/PlayerEnumOption.js.map +1 -1
  193. package/dist/options/PlayersOptionsSpec.d.ts +7 -7
  194. package/dist/options/PlayersOptionsSpec.js +2 -2
  195. package/dist/options/WithIdOption.d.ts +3 -3
  196. package/dist/options/WithIdOption.js +2 -2
  197. package/dist/options/WithPlayerOptionsSpec.d.ts +6 -6
  198. package/dist/options/WithPlayerOptionsSpec.js +7 -7
  199. package/dist/options/WithPlayersOptions.d.ts +3 -3
  200. package/dist/options/WithPlayersOptions.js +2 -2
  201. package/dist/options/index.d.ts +11 -11
  202. package/dist/options/index.js +27 -27
  203. package/dist/options/isWithPlayerIdOptions.d.ts +4 -4
  204. package/dist/options/isWithPlayerIdOptions.js +11 -11
  205. package/dist/utils/EnumUtils.d.ts +1 -1
  206. package/dist/utils/EnumUtils.js +7 -7
  207. package/dist/utils/grid.squares.util.d.ts +11 -11
  208. package/dist/utils/grid.squares.util.js +30 -30
  209. package/dist/utils/grid.squares.util.js.map +1 -1
  210. package/dist/utils/grid.util.d.ts +5 -5
  211. package/dist/utils/grid.util.js +7 -7
  212. package/dist/utils/index.d.ts +5 -5
  213. package/dist/utils/index.js +21 -21
  214. package/dist/utils/isDeadEndMove.util.d.ts +2 -2
  215. package/dist/utils/isDeadEndMove.util.js +18 -18
  216. package/dist/utils/listing.util.d.ts +2 -2
  217. package/dist/utils/listing.util.js +23 -23
  218. package/dist/utils/listing.util.js.map +1 -1
  219. package/package.json +34 -33
  220. package/dist/material/items/MaterialDeck.d.ts +0 -7
  221. package/dist/material/items/MaterialDeck.js +0 -35
  222. package/dist/material/items/MaterialDeck.js.map +0 -1
  223. package/dist/material/moves/items/MoveAtOnce.d.ts +0 -13
  224. package/dist/material/moves/items/MoveAtOnce.js +0 -16
  225. package/dist/material/moves/items/MoveAtOnce.js.map +0 -1
  226. package/dist/material/moves/items/Roll.d.ts +0 -11
  227. package/dist/material/moves/items/Roll.js +0 -16
  228. package/dist/material/moves/items/Roll.js.map +0 -1
  229. package/dist/material/moves/local/DisplayRules.d.ts +0 -32
  230. package/dist/material/moves/local/DisplayRules.js +0 -25
  231. package/dist/material/moves/local/DisplayRules.js.map +0 -1
  232. package/dist/material/moves/rules/StartSimultanousRule.d.ts +0 -10
  233. package/dist/material/moves/rules/StartSimultanousRule.js +0 -10
  234. package/dist/material/moves/rules/StartSimultanousRule.js.map +0 -1
  235. package/dist/options/PlayerIdSpec.d.ts +0 -7
  236. package/dist/options/PlayerIdSpec.js +0 -18
  237. package/dist/options/PlayerIdSpec.js.map +0 -1
  238. package/dist/options/getFallbackPlayerName.d.ts +0 -4
  239. package/dist/options/getFallbackPlayerName.js +0 -14
  240. package/dist/options/getFallbackPlayerName.js.map +0 -1
  241. package/dist/options/providePlayerIds.d.ts +0 -6
  242. package/dist/options/providePlayerIds.js +0 -36
  243. package/dist/options/providePlayerIds.js.map +0 -1
@@ -1,76 +1,76 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.MaterialGameSetup = void 0;
4
- var Action_1 = require("../Action");
5
- var items_1 = require("./items");
6
- var memory_1 = require("./memory");
7
- var rules_1 = require("./rules");
8
- var MaterialGameSetup = (function () {
9
- function MaterialGameSetup() {
10
- this.game = { players: [], items: {}, memory: {} };
11
- }
12
- Object.defineProperty(MaterialGameSetup.prototype, "rules", {
13
- get: function () {
14
- return new this.Rules(this.game);
15
- },
16
- enumerable: false,
17
- configurable: true
18
- });
19
- MaterialGameSetup.prototype.setup = function (options) {
20
- this.game = { players: getPlayerIds(options), items: {}, memory: {} };
21
- this.setupMaterial(options);
22
- this.start(options);
23
- return this.game;
24
- };
25
- Object.defineProperty(MaterialGameSetup.prototype, "players", {
26
- get: function () {
27
- return this.game.players;
28
- },
29
- enumerable: false,
30
- configurable: true
31
- });
32
- MaterialGameSetup.prototype.setupMaterial = function (_options) {
33
- };
34
- MaterialGameSetup.prototype.material = function (type) {
35
- var _this = this;
36
- if (!this.game.items[type])
37
- this.game.items[type] = [];
38
- var items = this.game.items[type];
39
- return new items_1.Material(type, Array.from(items.entries()).filter(function (entry) { return entry[1].quantity !== 0; }), function (move) { return (0, Action_1.playMove)(_this.rules, move); });
40
- };
41
- MaterialGameSetup.prototype.getMemory = function (player) {
42
- return player === undefined ? new memory_1.GameMemory(this.game) : new memory_1.PlayerMemory(this.game, player);
43
- };
44
- MaterialGameSetup.prototype.memorize = function (key, value, player) {
45
- this.getMemory(player).memorize(key, value);
46
- };
47
- Object.defineProperty(MaterialGameSetup.prototype, "rulesMovesBuilder", {
48
- get: function () {
49
- return new rules_1.MaterialRulesMovesBuilder(this.game);
50
- },
51
- enumerable: false,
52
- configurable: true
53
- });
54
- MaterialGameSetup.prototype.startPlayerTurn = function (id, player) {
55
- (0, Action_1.playMove)(this.rules, this.rulesMovesBuilder.startPlayerTurn(id, player));
56
- };
57
- MaterialGameSetup.prototype.startSimultaneousRule = function (id, players) {
58
- (0, Action_1.playMove)(this.rules, this.rulesMovesBuilder.startSimultaneousRule(id, players));
59
- };
60
- MaterialGameSetup.prototype.startRule = function (id) {
61
- (0, Action_1.playMove)(this.rules, this.rulesMovesBuilder.startRule(id));
62
- };
63
- return MaterialGameSetup;
64
- }());
65
- exports.MaterialGameSetup = MaterialGameSetup;
66
- function getPlayerIds(options) {
67
- var _a;
68
- if (Array.isArray(options.players)) {
69
- return options.players.map(function (player, index) { var _a; return (_a = player.id) !== null && _a !== void 0 ? _a : index + 1; });
70
- }
71
- else {
72
- var numberOfPlayers = (_a = options.players) !== null && _a !== void 0 ? _a : 2;
73
- return Array.from(Array(numberOfPlayers).keys()).map(function (index) { return (index + 1); });
74
- }
75
- }
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MaterialGameSetup = void 0;
4
+ var Action_1 = require("../Action");
5
+ var items_1 = require("./items");
6
+ var memory_1 = require("./memory");
7
+ var rules_1 = require("./rules");
8
+ var MaterialGameSetup = (function () {
9
+ function MaterialGameSetup() {
10
+ this.game = { players: [], items: {}, memory: {} };
11
+ }
12
+ Object.defineProperty(MaterialGameSetup.prototype, "rules", {
13
+ get: function () {
14
+ return new this.Rules(this.game);
15
+ },
16
+ enumerable: false,
17
+ configurable: true
18
+ });
19
+ MaterialGameSetup.prototype.setup = function (options) {
20
+ this.game = { players: getPlayerIds(options), items: {}, memory: {} };
21
+ this.setupMaterial(options);
22
+ this.start(options);
23
+ return this.game;
24
+ };
25
+ Object.defineProperty(MaterialGameSetup.prototype, "players", {
26
+ get: function () {
27
+ return this.game.players;
28
+ },
29
+ enumerable: false,
30
+ configurable: true
31
+ });
32
+ MaterialGameSetup.prototype.setupMaterial = function (_options) {
33
+ };
34
+ MaterialGameSetup.prototype.material = function (type) {
35
+ var _this = this;
36
+ if (!this.game.items[type])
37
+ this.game.items[type] = [];
38
+ var items = this.game.items[type];
39
+ return new items_1.Material(type, Array.from(items.entries()).filter(function (entry) { return entry[1].quantity !== 0; }), function (move) { return (0, Action_1.playMove)(_this.rules, move); });
40
+ };
41
+ MaterialGameSetup.prototype.getMemory = function (player) {
42
+ return player === undefined ? new memory_1.GameMemory(this.game) : new memory_1.PlayerMemory(this.game, player);
43
+ };
44
+ MaterialGameSetup.prototype.memorize = function (key, value, player) {
45
+ this.getMemory(player).memorize(key, value);
46
+ };
47
+ Object.defineProperty(MaterialGameSetup.prototype, "rulesMovesBuilder", {
48
+ get: function () {
49
+ return new rules_1.MaterialRulesMovesBuilder(this.game);
50
+ },
51
+ enumerable: false,
52
+ configurable: true
53
+ });
54
+ MaterialGameSetup.prototype.startPlayerTurn = function (id, player) {
55
+ (0, Action_1.playMove)(this.rules, this.rulesMovesBuilder.startPlayerTurn(id, player));
56
+ };
57
+ MaterialGameSetup.prototype.startSimultaneousRule = function (id, players) {
58
+ (0, Action_1.playMove)(this.rules, this.rulesMovesBuilder.startSimultaneousRule(id, players));
59
+ };
60
+ MaterialGameSetup.prototype.startRule = function (id) {
61
+ (0, Action_1.playMove)(this.rules, this.rulesMovesBuilder.startRule(id));
62
+ };
63
+ return MaterialGameSetup;
64
+ }());
65
+ exports.MaterialGameSetup = MaterialGameSetup;
66
+ function getPlayerIds(options) {
67
+ var _a;
68
+ if (Array.isArray(options.players)) {
69
+ return options.players.map(function (player, index) { var _a; return (_a = player.id) !== null && _a !== void 0 ? _a : index + 1; });
70
+ }
71
+ else {
72
+ var numberOfPlayers = (_a = options.players) !== null && _a !== void 0 ? _a : 2;
73
+ return Array.from(Array(numberOfPlayers).keys()).map(function (index) { return (index + 1); });
74
+ }
75
+ }
76
76
  //# sourceMappingURL=MaterialGameSetup.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MaterialGameSetup.js","sourceRoot":"","sources":["../../src/material/MaterialGameSetup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MaterialGameSetup.js","sourceRoot":"","sources":["../../src/material/MaterialGameSetup.ts"],"names":[],"mappings":"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"}
@@ -1,44 +1,44 @@
1
- import { Action } from '../Action';
2
- import { RandomMove } from '../RandomMove';
3
- import { Rules } from '../Rules';
4
- import { Undo } from '../Undo';
5
- import { Material, MaterialMutator } from './items';
6
- import { LocationStrategy } from './location';
7
- import { MaterialGame } from './MaterialGame';
8
- import { GameMemory, PlayerMemory } from './memory';
9
- import { MaterialMove, MaterialMoveRandomized, MaterialMoveView, RollItem } from './moves';
10
- import { MaterialRulesPart, MaterialRulesPartCreator } from './rules';
11
- export declare abstract class MaterialRules<Player extends number = number, MaterialType extends number = number, LocationType extends number = number> extends Rules<MaterialGame<Player, MaterialType, LocationType>, MaterialMove<Player, MaterialType, LocationType>, Player> implements RandomMove<MaterialMove<Player, MaterialType, LocationType>, MaterialMoveRandomized<Player, MaterialType, LocationType>>, Undo<MaterialGame<Player, MaterialType, LocationType>, MaterialMove<Player, MaterialType, LocationType>, Player> {
12
- material(type: MaterialType): Material<Player, MaterialType, LocationType>;
13
- abstract readonly rules: Record<number, MaterialRulesPartCreator<Player, MaterialType, LocationType>>;
14
- readonly locationsStrategies: Partial<Record<MaterialType, Partial<Record<LocationType, LocationStrategy<Player, MaterialType, LocationType>>>>>;
15
- get players(): Player[];
16
- protected getMemory(player?: Player): GameMemory<Player> | PlayerMemory<Player>;
17
- remind<T = any>(key: keyof any, player?: Player): T;
18
- get rulesStep(): MaterialRulesPart<Player, MaterialType, LocationType> | undefined;
19
- mutator(type: MaterialType): MaterialMutator<Player, MaterialType, LocationType>;
20
- itemsCanMerge(_type: MaterialType): boolean;
21
- delegate(): Rules<MaterialGame<Player, MaterialType, LocationType>, MaterialMove<Player, MaterialType, LocationType>, Player> | undefined;
22
- transformMoves(moves: MaterialMove<Player, MaterialType, LocationType>[]): MaterialMove<Player, MaterialType, LocationType>[];
23
- getLegalMoves(playerId: Player): MaterialMove<Player, MaterialType, LocationType>[];
24
- getAutomaticMoves(): MaterialMove<Player, MaterialType, LocationType>[];
25
- randomize(move: MaterialMove<Player, MaterialType, LocationType>): MaterialMove<Player, MaterialType, LocationType> & MaterialMoveRandomized<Player, MaterialType, LocationType>;
26
- roll(_move: RollItem<Player, MaterialType, LocationType>): number;
27
- play(move: MaterialMoveRandomized<Player, MaterialType, LocationType> | MaterialMoveView<Player, MaterialType, LocationType>): MaterialMove<Player, MaterialType, LocationType>[];
28
- private changeRule;
29
- canUndo(action: Action<MaterialMove<Player, MaterialType, LocationType>, Player>, consecutiveActions: Action<MaterialMove<Player, MaterialType, LocationType>, Player>[]): boolean;
30
- consecutiveActionBlocksUndo(action: Action<MaterialMove<Player, MaterialType, LocationType>, Player>, consecutiveAction: Action<MaterialMove<Player, MaterialType, LocationType>, Player>): boolean;
31
- protected actionBlocksUndo(action: Action<MaterialMove<Player, MaterialType, LocationType>, Player>): boolean;
32
- protected actionActivatesPlayer(action: Action<MaterialMove<Player, MaterialType, LocationType>, Player>): boolean;
33
- protected moveBlocksUndo(move: MaterialMove<Player, MaterialType, LocationType>): boolean;
34
- protected moveActivatesPlayer(move: MaterialMove<Player, MaterialType, LocationType>): boolean;
35
- isUnpredictableMove(move: MaterialMove<Player, MaterialType, LocationType>, _player: Player): boolean;
36
- protected isRandomMove(move: MaterialMove<Player, MaterialType, LocationType>): boolean;
37
- restoreLocalMoves(game: MaterialGame<Player, MaterialType, LocationType>): void;
38
- isOver(): boolean;
39
- }
40
- export interface MaterialRulesCreator<P extends number = number, M extends number = number, L extends number = number> {
41
- new (state: MaterialGame<P, M, L>, client?: {
42
- player?: P;
43
- }): MaterialRules<P, M, L>;
44
- }
1
+ import { Action } from '../Action';
2
+ import { RandomMove } from '../RandomMove';
3
+ import { PlayMoveContext, Rules } from '../Rules';
4
+ import { Undo } from '../Undo';
5
+ import { Material, MaterialMutator } from './items';
6
+ import { LocationStrategy } from './location';
7
+ import { MaterialGame } from './MaterialGame';
8
+ import { GameMemory, PlayerMemory } from './memory';
9
+ import { MaterialMove, MaterialMoveRandomized, MaterialMoveView, RollItem } from './moves';
10
+ import { MaterialRulesPart, MaterialRulesPartCreator } from './rules';
11
+ export declare abstract class MaterialRules<Player extends number = number, MaterialType extends number = number, LocationType extends number = number> extends Rules<MaterialGame<Player, MaterialType, LocationType>, MaterialMove<Player, MaterialType, LocationType>, Player> implements RandomMove<MaterialMove<Player, MaterialType, LocationType>, MaterialMoveRandomized<Player, MaterialType, LocationType>>, Undo<MaterialMove<Player, MaterialType, LocationType>, Player> {
12
+ material(type: MaterialType): Material<Player, MaterialType, LocationType>;
13
+ abstract readonly rules: Record<number, MaterialRulesPartCreator<Player, MaterialType, LocationType>>;
14
+ readonly locationsStrategies: Partial<Record<MaterialType, Partial<Record<LocationType, LocationStrategy<Player, MaterialType, LocationType>>>>>;
15
+ get players(): Player[];
16
+ protected getMemory(player?: Player): GameMemory<Player> | PlayerMemory<Player>;
17
+ remind<T = any>(key: keyof any, player?: Player): T;
18
+ get rulesStep(): MaterialRulesPart<Player, MaterialType, LocationType> | undefined;
19
+ mutator(type: MaterialType): MaterialMutator<Player, MaterialType, LocationType>;
20
+ itemsCanMerge(_type: MaterialType): boolean;
21
+ delegate(): Rules<MaterialGame<Player, MaterialType, LocationType>, MaterialMove<Player, MaterialType, LocationType>, Player> | undefined;
22
+ transformMoves(moves: MaterialMove<Player, MaterialType, LocationType>[]): MaterialMove<Player, MaterialType, LocationType>[];
23
+ isLegalMove(playerId: Player, move: MaterialMove<Player, MaterialType, LocationType>): boolean;
24
+ getLegalMoves(playerId: Player): MaterialMove<Player, MaterialType, LocationType>[];
25
+ getAutomaticMoves(): MaterialMove<Player, MaterialType, LocationType>[];
26
+ randomize(move: MaterialMove<Player, MaterialType, LocationType>): MaterialMove<Player, MaterialType, LocationType> & MaterialMoveRandomized<Player, MaterialType, LocationType>;
27
+ roll(_move: RollItem<Player, MaterialType, LocationType>): number;
28
+ play(move: MaterialMoveRandomized<Player, MaterialType, LocationType> | MaterialMoveView<Player, MaterialType, LocationType>, context?: PlayMoveContext): MaterialMove<Player, MaterialType, LocationType>[];
29
+ private changeRule;
30
+ canUndo(action: Action<MaterialMove<Player, MaterialType, LocationType>, Player>, consecutiveActions: Action<MaterialMove<Player, MaterialType, LocationType>, Player>[]): boolean;
31
+ consecutiveActionBlocksUndo(action: Action<MaterialMove<Player, MaterialType, LocationType>, Player>, consecutiveAction: Action<MaterialMove<Player, MaterialType, LocationType>, Player>): boolean;
32
+ protected actionBlocksUndo(action: Action<MaterialMove<Player, MaterialType, LocationType>, Player>): boolean;
33
+ protected actionActivatesPlayer(action: Action<MaterialMove<Player, MaterialType, LocationType>, Player>): boolean;
34
+ protected moveBlocksUndo(move: MaterialMove<Player, MaterialType, LocationType>): boolean;
35
+ protected moveActivatesPlayer(move: MaterialMove<Player, MaterialType, LocationType>): boolean;
36
+ isUnpredictableMove(move: MaterialMove<Player, MaterialType, LocationType>, _player: Player): boolean;
37
+ protected isRandomMove(move: MaterialMove<Player, MaterialType, LocationType>): boolean;
38
+ isOver(): boolean;
39
+ }
40
+ export interface MaterialRulesCreator<P extends number = number, M extends number = number, L extends number = number> {
41
+ new (state: MaterialGame<P, M, L>, client?: {
42
+ player?: P;
43
+ }): MaterialRules<P, M, L>;
44
+ }