@gamepark/rules-api 7.0.0-beta.0 → 7.0.0-beta.2

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 (249) hide show
  1. package/dist/Action.js +1 -2
  2. package/dist/Bot.js +15 -37
  3. package/dist/Bot.js.map +1 -1
  4. package/dist/Competitive.js +3 -8
  5. package/dist/Competitive.js.map +1 -1
  6. package/dist/Eliminations.js +2 -5
  7. package/dist/Eliminations.js.map +1 -1
  8. package/dist/GameSetup.js +1 -2
  9. package/dist/HiddenInformation.js +2 -5
  10. package/dist/HiddenInformation.js.map +1 -1
  11. package/dist/LocalMovePreview.js +1 -4
  12. package/dist/LocalMovePreview.js.map +1 -1
  13. package/dist/RandomMove.js +1 -2
  14. package/dist/Rules.js +49 -56
  15. package/dist/Rules.js.map +1 -1
  16. package/dist/SecretInformation.js +2 -5
  17. package/dist/SecretInformation.js.map +1 -1
  18. package/dist/TimeLimit.js +1 -4
  19. package/dist/TimeLimit.js.map +1 -1
  20. package/dist/Undo.js +2 -5
  21. package/dist/Undo.js.map +1 -1
  22. package/dist/UnpredictableMove.js +1 -5
  23. package/dist/UnpredictableMove.js.map +1 -1
  24. package/dist/index.js +16 -32
  25. package/dist/index.js.map +1 -1
  26. package/dist/material/HiddenMaterialRules.js +125 -180
  27. package/dist/material/HiddenMaterialRules.js.map +1 -1
  28. package/dist/material/MaterialGame.js +1 -2
  29. package/dist/material/MaterialGameSetup.js +52 -70
  30. package/dist/material/MaterialGameSetup.js.map +1 -1
  31. package/dist/material/MaterialRules.js +186 -250
  32. package/dist/material/MaterialRules.js.map +1 -1
  33. package/dist/material/SecretMaterialRules.js +9 -35
  34. package/dist/material/SecretMaterialRules.js.map +1 -1
  35. package/dist/material/index.js +11 -27
  36. package/dist/material/index.js.map +1 -1
  37. package/dist/material/items/Material.js +177 -262
  38. package/dist/material/items/Material.js.map +1 -1
  39. package/dist/material/items/MaterialDeck.js +10 -36
  40. package/dist/material/items/MaterialDeck.js.map +1 -1
  41. package/dist/material/items/MaterialItem.js +1 -2
  42. package/dist/material/items/MaterialMoney.js +89 -141
  43. package/dist/material/items/MaterialMoney.js.map +1 -1
  44. package/dist/material/items/MaterialMutator.js +108 -145
  45. package/dist/material/items/MaterialMutator.js.map +1 -1
  46. package/dist/material/items/index.js +5 -21
  47. package/dist/material/items/index.js.map +1 -1
  48. package/dist/material/location/Location.js +1 -14
  49. package/dist/material/location/Location.js.map +1 -1
  50. package/dist/material/location/LocationBuilder.js +26 -41
  51. package/dist/material/location/LocationBuilder.js.map +1 -1
  52. package/dist/material/location/index.js +3 -19
  53. package/dist/material/location/index.js.map +1 -1
  54. package/dist/material/location/strategy/FillGapStrategy.js +9 -16
  55. package/dist/material/location/strategy/FillGapStrategy.js.map +1 -1
  56. package/dist/material/location/strategy/LocationStrategy.js +1 -2
  57. package/dist/material/location/strategy/PositiveSequenceStrategy.js +26 -35
  58. package/dist/material/location/strategy/PositiveSequenceStrategy.js.map +1 -1
  59. package/dist/material/location/strategy/StackingStrategy.js +15 -22
  60. package/dist/material/location/strategy/StackingStrategy.js.map +1 -1
  61. package/dist/material/location/strategy/index.js +5 -23
  62. package/dist/material/location/strategy/index.js.map +1 -1
  63. package/dist/material/memory/GameMemory.js +10 -14
  64. package/dist/material/memory/GameMemory.js.map +1 -1
  65. package/dist/material/memory/PlayerMemory.js +13 -18
  66. package/dist/material/memory/PlayerMemory.js.map +1 -1
  67. package/dist/material/memory/index.js +2 -18
  68. package/dist/material/memory/index.js.map +1 -1
  69. package/dist/material/moves/CustomMove.js +4 -9
  70. package/dist/material/moves/CustomMove.js.map +1 -1
  71. package/dist/material/moves/MaterialMove.js +1 -2
  72. package/dist/material/moves/MaterialMoveBuilder.js +16 -32
  73. package/dist/material/moves/MaterialMoveBuilder.js.map +1 -1
  74. package/dist/material/moves/MoveKind.js +2 -5
  75. package/dist/material/moves/MoveKind.js.map +1 -1
  76. package/dist/material/moves/index.js +7 -23
  77. package/dist/material/moves/index.js.map +1 -1
  78. package/dist/material/moves/items/CreateItem.js +6 -12
  79. package/dist/material/moves/items/CreateItem.js.map +1 -1
  80. package/dist/material/moves/items/CreateItemsAtOnce.js +6 -12
  81. package/dist/material/moves/items/CreateItemsAtOnce.js.map +1 -1
  82. package/dist/material/moves/items/DeleteItem.js +6 -12
  83. package/dist/material/moves/items/DeleteItem.js.map +1 -1
  84. package/dist/material/moves/items/DeleteItemsAtOnce.js +6 -12
  85. package/dist/material/moves/items/DeleteItemsAtOnce.js.map +1 -1
  86. package/dist/material/moves/items/ItemMove.js +1 -2
  87. package/dist/material/moves/items/ItemMoveType.js +2 -5
  88. package/dist/material/moves/items/ItemMoveType.js.map +1 -1
  89. package/dist/material/moves/items/MoveItem.js +6 -12
  90. package/dist/material/moves/items/MoveItem.js.map +1 -1
  91. package/dist/material/moves/items/MoveItemsAtOnce.js +6 -12
  92. package/dist/material/moves/items/MoveItemsAtOnce.js.map +1 -1
  93. package/dist/material/moves/items/RollItem.js +6 -12
  94. package/dist/material/moves/items/RollItem.js.map +1 -1
  95. package/dist/material/moves/items/SelectItem.js +6 -12
  96. package/dist/material/moves/items/SelectItem.js.map +1 -1
  97. package/dist/material/moves/items/Shuffle.js +7 -14
  98. package/dist/material/moves/items/Shuffle.js.map +1 -1
  99. package/dist/material/moves/items/index.js +11 -27
  100. package/dist/material/moves/items/index.js.map +1 -1
  101. package/dist/material/moves/local/CloseTutorialPopup.js +4 -7
  102. package/dist/material/moves/local/CloseTutorialPopup.js.map +1 -1
  103. package/dist/material/moves/local/DisplayHelp.js +2 -5
  104. package/dist/material/moves/local/DisplayHelp.js.map +1 -1
  105. package/dist/material/moves/local/DropItem.js +1 -2
  106. package/dist/material/moves/local/LocalMove.js +2 -5
  107. package/dist/material/moves/local/LocalMove.js.map +1 -1
  108. package/dist/material/moves/local/SetTutorialStep.js +4 -7
  109. package/dist/material/moves/local/SetTutorialStep.js.map +1 -1
  110. package/dist/material/moves/local/index.js +5 -21
  111. package/dist/material/moves/local/index.js.map +1 -1
  112. package/dist/material/moves/rules/EndGame.js +4 -7
  113. package/dist/material/moves/rules/EndGame.js.map +1 -1
  114. package/dist/material/moves/rules/EndPlayerTurn.js +4 -7
  115. package/dist/material/moves/rules/EndPlayerTurn.js.map +1 -1
  116. package/dist/material/moves/rules/RuleMove.js +3 -7
  117. package/dist/material/moves/rules/RuleMove.js.map +1 -1
  118. package/dist/material/moves/rules/StartPlayerTurn.js +4 -7
  119. package/dist/material/moves/rules/StartPlayerTurn.js.map +1 -1
  120. package/dist/material/moves/rules/StartRule.js +4 -7
  121. package/dist/material/moves/rules/StartRule.js.map +1 -1
  122. package/dist/material/moves/rules/StartSimultaneousRule.js +4 -7
  123. package/dist/material/moves/rules/StartSimultaneousRule.js.map +1 -1
  124. package/dist/material/moves/rules/index.js +6 -22
  125. package/dist/material/moves/rules/index.js.map +1 -1
  126. package/dist/material/rules/MaterialRulesPart.js +38 -63
  127. package/dist/material/rules/MaterialRulesPart.js.map +1 -1
  128. package/dist/material/rules/PlayerTurnRule.js +20 -52
  129. package/dist/material/rules/PlayerTurnRule.js.map +1 -1
  130. package/dist/material/rules/RuleStep.js +1 -2
  131. package/dist/material/rules/SimultaneousRule.js +19 -51
  132. package/dist/material/rules/SimultaneousRule.js.map +1 -1
  133. package/dist/material/rules/index.js +4 -20
  134. package/dist/material/rules/index.js.map +1 -1
  135. package/dist/material/tutorial/TutorialState.js +1 -2
  136. package/dist/material/tutorial/index.js +1 -17
  137. package/dist/material/tutorial/index.js.map +1 -1
  138. package/dist/options/EnumArrayOption.js +3 -6
  139. package/dist/options/EnumArrayOption.js.map +1 -1
  140. package/dist/options/EnumOption.js +1 -4
  141. package/dist/options/EnumOption.js.map +1 -1
  142. package/dist/options/Option.js +1 -2
  143. package/dist/options/OptionSpecOf.js +1 -2
  144. package/dist/options/OptionsSpec.js +1 -2
  145. package/dist/options/OptionsValidationError.js +6 -28
  146. package/dist/options/OptionsValidationError.js.map +1 -1
  147. package/dist/options/PlayerEnumOption.js +19 -29
  148. package/dist/options/PlayerEnumOption.js.map +1 -1
  149. package/dist/options/PlayersOptionsSpec.js +1 -2
  150. package/dist/options/WithIdOption.js +1 -2
  151. package/dist/options/WithPlayerOptionsSpec.js +1 -4
  152. package/dist/options/WithPlayerOptionsSpec.js.map +1 -1
  153. package/dist/options/WithPlayersOptions.js +1 -2
  154. package/dist/options/index.js +12 -28
  155. package/dist/options/index.js.map +1 -1
  156. package/dist/options/isWithPlayerIdOptions.js +3 -6
  157. package/dist/options/isWithPlayerIdOptions.js.map +1 -1
  158. package/dist/utils/action-view.util.js +18 -25
  159. package/dist/utils/action-view.util.js.map +1 -1
  160. package/dist/utils/action.util.js +11 -16
  161. package/dist/utils/action.util.js.map +1 -1
  162. package/dist/utils/adjacent-groups.util.js +33 -41
  163. package/dist/utils/adjacent-groups.util.js.map +1 -1
  164. package/dist/utils/automatic-moves.util.js +10 -15
  165. package/dist/utils/automatic-moves.util.js.map +1 -1
  166. package/dist/utils/enum.util.js +7 -13
  167. package/dist/utils/enum.util.js.map +1 -1
  168. package/dist/utils/game-view.util.js +5 -8
  169. package/dist/utils/game-view.util.js.map +1 -1
  170. package/dist/utils/grid.hex.util.js +36 -88
  171. package/dist/utils/grid.hex.util.js.map +1 -1
  172. package/dist/utils/grid.squares.util.js +8 -19
  173. package/dist/utils/grid.squares.util.js.map +1 -1
  174. package/dist/utils/grid.util.js +1 -5
  175. package/dist/utils/grid.util.js.map +1 -1
  176. package/dist/utils/index.js +16 -32
  177. package/dist/utils/index.js.map +1 -1
  178. package/dist/utils/listing.util.js +8 -13
  179. package/dist/utils/listing.util.js.map +1 -1
  180. package/dist/utils/loops.util.js +3 -6
  181. package/dist/utils/loops.util.js.map +1 -1
  182. package/dist/utils/money.util.js +54 -73
  183. package/dist/utils/money.util.js.map +1 -1
  184. package/dist/utils/neighbors.util.js +6 -10
  185. package/dist/utils/neighbors.util.js.map +1 -1
  186. package/dist/utils/polyhex.util.js +36 -56
  187. package/dist/utils/polyhex.util.js.map +1 -1
  188. package/dist/utils/random.util.js +2 -5
  189. package/dist/utils/random.util.js.map +1 -1
  190. package/dist/utils/rank.util.js +9 -13
  191. package/dist/utils/rank.util.js.map +1 -1
  192. package/package.json +43 -37
  193. package/dist/ApplyAutomaticMoves.d.ts +0 -2
  194. package/dist/ApplyAutomaticMoves.js +0 -25
  195. package/dist/ApplyAutomaticMoves.js.map +0 -1
  196. package/dist/DefaultGameSetup.d.ts +0 -7
  197. package/dist/DefaultGameSetup.js +0 -15
  198. package/dist/DefaultGameSetup.js.map +0 -1
  199. package/dist/Dummy.d.ts +0 -7
  200. package/dist/Dummy.js +0 -27
  201. package/dist/Dummy.js.map +0 -1
  202. package/dist/GameSetupCreator.d.ts +0 -4
  203. package/dist/GameSetupCreator.js +0 -3
  204. package/dist/GameSetupCreator.js.map +0 -1
  205. package/dist/IncompleteInformation.d.ts +0 -14
  206. package/dist/IncompleteInformation.js +0 -38
  207. package/dist/IncompleteInformation.js.map +0 -1
  208. package/dist/LoopWithFuse.d.ts +0 -4
  209. package/dist/LoopWithFuse.js +0 -15
  210. package/dist/LoopWithFuse.js.map +0 -1
  211. package/dist/Robot.d.ts +0 -1
  212. package/dist/Robot.js +0 -3
  213. package/dist/Robot.js.map +0 -1
  214. package/dist/RulesCreator.d.ts +0 -7
  215. package/dist/RulesCreator.js +0 -3
  216. package/dist/RulesCreator.js.map +0 -1
  217. package/dist/material/location/strategy/StakingStrategy.d.ts +0 -12
  218. package/dist/material/location/strategy/StakingStrategy.js +0 -32
  219. package/dist/material/location/strategy/StakingStrategy.js.map +0 -1
  220. package/dist/material/moves/items/ItemMovesBuilder.d.ts +0 -8
  221. package/dist/material/moves/items/ItemMovesBuilder.js +0 -34
  222. package/dist/material/moves/items/ItemMovesBuilder.js.map +0 -1
  223. package/dist/material/rules/MaterialMoveBuilder.d.ts +0 -9
  224. package/dist/material/rules/MaterialMoveBuilder.js +0 -28
  225. package/dist/material/rules/MaterialMoveBuilder.js.map +0 -1
  226. package/dist/material/rules/MaterialRulesMovesBuilder.d.ts +0 -12
  227. package/dist/material/rules/MaterialRulesMovesBuilder.js +0 -36
  228. package/dist/material/rules/MaterialRulesMovesBuilder.js.map +0 -1
  229. package/dist/setup/DefaultGameSetup.d.ts +0 -7
  230. package/dist/setup/DefaultGameSetup.js +0 -15
  231. package/dist/setup/DefaultGameSetup.js.map +0 -1
  232. package/dist/setup/GameSetup.d.ts +0 -3
  233. package/dist/setup/GameSetup.js +0 -3
  234. package/dist/setup/GameSetup.js.map +0 -1
  235. package/dist/setup/GameSetupCreator.d.ts +0 -4
  236. package/dist/setup/GameSetupCreator.js +0 -3
  237. package/dist/setup/GameSetupCreator.js.map +0 -1
  238. package/dist/setup/index.d.ts +0 -2
  239. package/dist/setup/index.js +0 -19
  240. package/dist/setup/index.js.map +0 -1
  241. package/dist/utils/EnumUtils.d.ts +0 -1
  242. package/dist/utils/EnumUtils.js +0 -8
  243. package/dist/utils/EnumUtils.js.map +0 -1
  244. package/dist/utils/coordinates.util.d.ts +0 -5
  245. package/dist/utils/coordinates.util.js +0 -16
  246. package/dist/utils/coordinates.util.js.map +0 -1
  247. package/dist/utils/isDeadEndMove.util.d.ts +0 -2
  248. package/dist/utils/isDeadEndMove.util.js +0 -19
  249. package/dist/utils/isDeadEndMove.util.js.map +0 -1
@@ -1,22 +1,6 @@
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("./CloseTutorialPopup"), exports);
18
- __exportStar(require("./DisplayHelp"), exports);
19
- __exportStar(require("./DropItem"), exports);
20
- __exportStar(require("./LocalMove"), exports);
21
- __exportStar(require("./SetTutorialStep"), exports);
1
+ export * from './CloseTutorialPopup';
2
+ export * from './DisplayHelp';
3
+ export * from './DropItem';
4
+ export * from './LocalMove';
5
+ export * from './SetTutorialStep';
22
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/material/moves/local/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,uDAAoC;AACpC,gDAA6B;AAC7B,6CAA0B;AAC1B,8CAA2B;AAC3B,oDAAiC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/material/moves/local/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAA;AACpC,cAAc,eAAe,CAAA;AAC7B,cAAc,YAAY,CAAA;AAC1B,cAAc,aAAa,CAAA;AAC3B,cAAc,mBAAmB,CAAA"}
@@ -1,9 +1,6 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isEndGame = isEndGame;
4
- var RuleMove_1 = require("./RuleMove");
5
- var MoveKind_1 = require("../MoveKind");
6
- function isEndGame(move) {
7
- return move.kind === MoveKind_1.MoveKind.RulesMove && move.type === RuleMove_1.RuleMoveType.EndGame;
1
+ import { RuleMoveType } from './RuleMove';
2
+ import { MoveKind } from '../MoveKind';
3
+ export function isEndGame(move) {
4
+ return move.kind === MoveKind.RulesMove && move.type === RuleMoveType.EndGame;
8
5
  }
9
6
  //# sourceMappingURL=EndGame.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"EndGame.js","sourceRoot":"","sources":["../../../../src/material/moves/rules/EndGame.ts"],"names":[],"mappings":";;AAQA,8BAEC;AAVD,uCAAyD;AAEzD,wCAAsC;AAMtC,SAAgB,SAAS,CAAuD,IAA2B;IACzG,OAAO,IAAI,CAAC,IAAI,KAAK,mBAAQ,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,KAAK,uBAAY,CAAC,OAAO,CAAA;AAC/E,CAAC"}
1
+ {"version":3,"file":"EndGame.js","sourceRoot":"","sources":["../../../../src/material/moves/rules/EndGame.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,YAAY,EAAE,MAAM,YAAY,CAAA;AAEzD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAMtC,MAAM,UAAU,SAAS,CAAuD,IAA2B;IACzG,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,KAAK,YAAY,CAAC,OAAO,CAAA;AAC/E,CAAC"}
@@ -1,9 +1,6 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isEndPlayerTurn = isEndPlayerTurn;
4
- var RuleMove_1 = require("./RuleMove");
5
- var MoveKind_1 = require("../MoveKind");
6
- function isEndPlayerTurn(move) {
7
- return move.kind === MoveKind_1.MoveKind.RulesMove && move.type === RuleMove_1.RuleMoveType.EndPlayerTurn;
1
+ import { RuleMoveType } from './RuleMove';
2
+ import { MoveKind } from '../MoveKind';
3
+ export function isEndPlayerTurn(move) {
4
+ return move.kind === MoveKind.RulesMove && move.type === RuleMoveType.EndPlayerTurn;
8
5
  }
9
6
  //# sourceMappingURL=EndPlayerTurn.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"EndPlayerTurn.js","sourceRoot":"","sources":["../../../../src/material/moves/rules/EndPlayerTurn.ts"],"names":[],"mappings":";;AASA,0CAEC;AAXD,uCAAyD;AAEzD,wCAAsC;AAOtC,SAAgB,eAAe,CAAuD,IAA2B;IAC/G,OAAO,IAAI,CAAC,IAAI,KAAK,mBAAQ,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,KAAK,uBAAY,CAAC,aAAa,CAAA;AACrF,CAAC"}
1
+ {"version":3,"file":"EndPlayerTurn.js","sourceRoot":"","sources":["../../../../src/material/moves/rules/EndPlayerTurn.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,YAAY,EAAE,MAAM,YAAY,CAAA;AAEzD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAOtC,MAAM,UAAU,eAAe,CAAuD,IAA2B;IAC/G,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,KAAK,YAAY,CAAC,aAAa,CAAA;AACrF,CAAC"}
@@ -1,19 +1,15 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isRuleChange = exports.RuleMoveType = void 0;
4
- var RuleMoveType;
1
+ export var RuleMoveType;
5
2
  (function (RuleMoveType) {
6
3
  RuleMoveType[RuleMoveType["StartPlayerTurn"] = 0] = "StartPlayerTurn";
7
4
  RuleMoveType[RuleMoveType["StartSimultaneousRule"] = 1] = "StartSimultaneousRule";
8
5
  RuleMoveType[RuleMoveType["EndPlayerTurn"] = 2] = "EndPlayerTurn";
9
6
  RuleMoveType[RuleMoveType["StartRule"] = 3] = "StartRule";
10
7
  RuleMoveType[RuleMoveType["EndGame"] = 4] = "EndGame";
11
- })(RuleMoveType || (exports.RuleMoveType = RuleMoveType = {}));
12
- var isRuleChange = function (move) {
8
+ })(RuleMoveType || (RuleMoveType = {}));
9
+ export const isRuleChange = (move) => {
13
10
  switch (move.type) {
14
11
  default:
15
12
  return true;
16
13
  }
17
14
  };
18
- exports.isRuleChange = isRuleChange;
19
15
  //# sourceMappingURL=RuleMove.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RuleMove.js","sourceRoot":"","sources":["../../../../src/material/moves/rules/RuleMove.ts"],"names":[],"mappings":";;;AAcA,IAAY,YAEX;AAFD,WAAY,YAAY;IACtB,qEAAe,CAAA;IAAE,iFAAqB,CAAA;IAAE,iEAAa,CAAA;IAAE,yDAAS,CAAA;IAAE,qDAAO,CAAA;AAC3E,CAAC,EAFW,YAAY,4BAAZ,YAAY,QAEvB;AAMM,IAAM,YAAY,GAAG,UAAuD,IAAoB;IACrG,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB;YACE,OAAO,IAAI,CAAA;IACf,CAAC;AACH,CAAC,CAAA;AALY,QAAA,YAAY,gBAKxB"}
1
+ {"version":3,"file":"RuleMove.js","sourceRoot":"","sources":["../../../../src/material/moves/rules/RuleMove.ts"],"names":[],"mappings":"AAcA,MAAM,CAAN,IAAY,YAEX;AAFD,WAAY,YAAY;IACtB,qEAAe,CAAA;IAAE,iFAAqB,CAAA;IAAE,iEAAa,CAAA;IAAE,yDAAS,CAAA;IAAE,qDAAO,CAAA;AAC3E,CAAC,EAFW,YAAY,KAAZ,YAAY,QAEvB;AAMD,MAAM,CAAC,MAAM,YAAY,GAAG,CAAuD,IAAoB,EAAW,EAAE;IAClH,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB;YACE,OAAO,IAAI,CAAA;IACf,CAAC;AACH,CAAC,CAAA"}
@@ -1,9 +1,6 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isStartPlayerTurn = isStartPlayerTurn;
4
- var RuleMove_1 = require("./RuleMove");
5
- var MoveKind_1 = require("../MoveKind");
6
- function isStartPlayerTurn(move) {
7
- return move.kind === MoveKind_1.MoveKind.RulesMove && move.type === RuleMove_1.RuleMoveType.StartPlayerTurn;
1
+ import { RuleMoveType } from './RuleMove';
2
+ import { MoveKind } from '../MoveKind';
3
+ export function isStartPlayerTurn(move) {
4
+ return move.kind === MoveKind.RulesMove && move.type === RuleMoveType.StartPlayerTurn;
8
5
  }
9
6
  //# sourceMappingURL=StartPlayerTurn.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"StartPlayerTurn.js","sourceRoot":"","sources":["../../../../src/material/moves/rules/StartPlayerTurn.ts"],"names":[],"mappings":";;AAUA,8CAEC;AAZD,uCAAyD;AAEzD,wCAAsC;AAQtC,SAAgB,iBAAiB,CAAyE,IAA8B;IACtI,OAAO,IAAI,CAAC,IAAI,KAAK,mBAAQ,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,KAAK,uBAAY,CAAC,eAAe,CAAA;AACvF,CAAC"}
1
+ {"version":3,"file":"StartPlayerTurn.js","sourceRoot":"","sources":["../../../../src/material/moves/rules/StartPlayerTurn.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,YAAY,EAAE,MAAM,YAAY,CAAA;AAEzD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAQtC,MAAM,UAAU,iBAAiB,CAAyE,IAA8B;IACtI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,KAAK,YAAY,CAAC,eAAe,CAAA;AACvF,CAAC"}
@@ -1,9 +1,6 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isStartRule = isStartRule;
4
- var RuleMove_1 = require("./RuleMove");
5
- var MoveKind_1 = require("../MoveKind");
6
- function isStartRule(move) {
7
- return move.kind === MoveKind_1.MoveKind.RulesMove && move.type === RuleMove_1.RuleMoveType.StartRule;
1
+ import { RuleMoveType } from './RuleMove';
2
+ import { MoveKind } from '../MoveKind';
3
+ export function isStartRule(move) {
4
+ return move.kind === MoveKind.RulesMove && move.type === RuleMoveType.StartRule;
8
5
  }
9
6
  //# sourceMappingURL=StartRule.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"StartRule.js","sourceRoot":"","sources":["../../../../src/material/moves/rules/StartRule.ts"],"names":[],"mappings":";;AASA,kCAEC;AAXD,uCAAyD;AAEzD,wCAAsC;AAOtC,SAAgB,WAAW,CAAyE,IAA8B;IAChI,OAAO,IAAI,CAAC,IAAI,KAAK,mBAAQ,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,KAAK,uBAAY,CAAC,SAAS,CAAA;AACjF,CAAC"}
1
+ {"version":3,"file":"StartRule.js","sourceRoot":"","sources":["../../../../src/material/moves/rules/StartRule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,YAAY,EAAE,MAAM,YAAY,CAAA;AAEzD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAOtC,MAAM,UAAU,WAAW,CAAyE,IAA8B;IAChI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,KAAK,YAAY,CAAC,SAAS,CAAA;AACjF,CAAC"}
@@ -1,9 +1,6 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isStartSimultaneousRule = isStartSimultaneousRule;
4
- var RuleMove_1 = require("./RuleMove");
5
- var MoveKind_1 = require("../MoveKind");
6
- function isStartSimultaneousRule(move) {
7
- return move.kind === MoveKind_1.MoveKind.RulesMove && move.type === RuleMove_1.RuleMoveType.StartSimultaneousRule;
1
+ import { RuleMoveType } from './RuleMove';
2
+ import { MoveKind } from '../MoveKind';
3
+ export function isStartSimultaneousRule(move) {
4
+ return move.kind === MoveKind.RulesMove && move.type === RuleMoveType.StartSimultaneousRule;
8
5
  }
9
6
  //# sourceMappingURL=StartSimultaneousRule.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"StartSimultaneousRule.js","sourceRoot":"","sources":["../../../../src/material/moves/rules/StartSimultaneousRule.ts"],"names":[],"mappings":";;AAUA,0DAEC;AAZD,uCAAyD;AAEzD,wCAAsC;AAQtC,SAAgB,uBAAuB,CAAyE,IAA8B;IAC5I,OAAO,IAAI,CAAC,IAAI,KAAK,mBAAQ,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,KAAK,uBAAY,CAAC,qBAAqB,CAAA;AAC7F,CAAC"}
1
+ {"version":3,"file":"StartSimultaneousRule.js","sourceRoot":"","sources":["../../../../src/material/moves/rules/StartSimultaneousRule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,YAAY,EAAE,MAAM,YAAY,CAAA;AAEzD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAQtC,MAAM,UAAU,uBAAuB,CAAyE,IAA8B;IAC5I,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,KAAK,YAAY,CAAC,qBAAqB,CAAA;AAC7F,CAAC"}
@@ -1,23 +1,7 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./EndGame"), exports);
18
- __exportStar(require("./EndPlayerTurn"), exports);
19
- __exportStar(require("./RuleMove"), exports);
20
- __exportStar(require("./StartPlayerTurn"), exports);
21
- __exportStar(require("./StartRule"), exports);
22
- __exportStar(require("./StartSimultaneousRule"), exports);
1
+ export * from './EndGame';
2
+ export * from './EndPlayerTurn';
3
+ export * from './RuleMove';
4
+ export * from './StartPlayerTurn';
5
+ export * from './StartRule';
6
+ export * from './StartSimultaneousRule';
23
7
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/material/moves/rules/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4CAAyB;AACzB,kDAA+B;AAC/B,6CAA0B;AAC1B,oDAAiC;AACjC,8CAA2B;AAC3B,0DAAuC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/material/moves/rules/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA;AACzB,cAAc,iBAAiB,CAAA;AAC/B,cAAc,YAAY,CAAA;AAC1B,cAAc,mBAAmB,CAAA;AACjC,cAAc,aAAa,CAAA;AAC3B,cAAc,yBAAyB,CAAA"}
@@ -1,67 +1,39 @@
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.MaterialRulesPart = void 0;
19
- var Rules_1 = require("../../Rules");
20
- var items_1 = require("../items");
21
- var memory_1 = require("../memory");
22
- var moves_1 = require("../moves");
1
+ import { Rules } from '../../Rules';
2
+ import { Material } from '../items';
3
+ import { GameMemory, PlayerMemory } from '../memory';
4
+ import { MaterialMoveBuilder } from '../moves';
23
5
  /**
24
6
  * When you implement the rules of a game using {@link MaterialRules}, the rules are split into small parts.
25
7
  * This is the base class to implement one part of the rules.
26
8
  * The constructor cannot be changed as the class is instantiated by {@link MaterialRules}.
27
9
  */
28
- var MaterialRulesPart = /** @class */ (function (_super) {
29
- __extends(MaterialRulesPart, _super);
30
- function MaterialRulesPart() {
31
- var _this = _super !== null && _super.apply(this, arguments) || this;
32
- _this.startPlayerTurn = moves_1.MaterialMoveBuilder.startPlayerTurn;
33
- _this.startSimultaneousRule = moves_1.MaterialMoveBuilder.startSimultaneousRule;
34
- _this.startRule = moves_1.MaterialMoveBuilder.startRule;
35
- _this.customMove = moves_1.MaterialMoveBuilder.customMove;
36
- _this.endGame = moves_1.MaterialMoveBuilder.endGame;
37
- return _this;
38
- }
10
+ export class MaterialRulesPart extends Rules {
39
11
  /**
40
12
  * Helper function to get a {@link Material} instance to work on some item type in the game.
41
13
  * @param type Type of material
42
14
  * @returns {Material} the material instance
43
15
  */
44
- MaterialRulesPart.prototype.material = function (type) {
45
- return new items_1.Material(type, this.game.items[type]);
46
- };
16
+ material(type) {
17
+ return new Material(type, this.game.items[type]);
18
+ }
47
19
  /**
48
20
  * This function is called immediately before an {@link ItemMove} is played.
49
21
  * @param _move The move which is going to be played
50
22
  * @param _context Context of execution
51
23
  * @returns {MaterialMove[]} Any consequences that should automatically be played after the move
52
24
  */
53
- MaterialRulesPart.prototype.beforeItemMove = function (_move, _context) {
25
+ beforeItemMove(_move, _context) {
54
26
  return [];
55
- };
27
+ }
56
28
  /**
57
29
  * This function is called immediately after an {@link ItemMove} is played.
58
30
  * @param _move The move which has just been played
59
31
  * @param _context Context of execution
60
32
  * @returns {MaterialMove[]} Any consequences that should automatically be played after the move
61
33
  */
62
- MaterialRulesPart.prototype.afterItemMove = function (_move, _context) {
34
+ afterItemMove(_move, _context) {
63
35
  return [];
64
- };
36
+ }
65
37
  /**
66
38
  * This function is called immediately after the {@link RuleMove} that started this rules step was played
67
39
  * @param _move The move which has just been played
@@ -69,9 +41,9 @@ var MaterialRulesPart = /** @class */ (function (_super) {
69
41
  * @param _context Context of execution
70
42
  * @returns {MaterialMove[]} Any consequences that should automatically be played after the move
71
43
  */
72
- MaterialRulesPart.prototype.onRuleStart = function (_move, _previousRule, _context) {
44
+ onRuleStart(_move, _previousRule, _context) {
73
45
  return [];
74
- };
46
+ }
75
47
  /**
76
48
  * This function is called just before a {@link RuleMove} that leave this rules step is played.
77
49
  *
@@ -81,24 +53,29 @@ var MaterialRulesPart = /** @class */ (function (_super) {
81
53
  * @param _context Context of execution
82
54
  * @returns {MaterialMove[]} Any consequences that should automatically be played after the move
83
55
  */
84
- MaterialRulesPart.prototype.onRuleEnd = function (_move, _context) {
56
+ onRuleEnd(_move, _context) {
85
57
  return [];
86
- };
58
+ }
87
59
  /**
88
60
  * This function is called when a {@link CustomMove} is played.
89
61
  * @param _move The move
90
62
  * @param _context Context of execution
91
63
  * @returns {MaterialMove[]} Any consequences that should automatically be played after the move
92
64
  */
93
- MaterialRulesPart.prototype.onCustomMove = function (_move, _context) {
65
+ onCustomMove(_move, _context) {
94
66
  return [];
95
- };
67
+ }
96
68
  /**
97
69
  * @deprecated replace this.rules().[the function] with: this.[the function]
98
70
  */
99
- MaterialRulesPart.prototype.rules = function () {
100
- return moves_1.MaterialMoveBuilder;
101
- };
71
+ rules() {
72
+ return MaterialMoveBuilder;
73
+ }
74
+ startPlayerTurn = MaterialMoveBuilder.startPlayerTurn;
75
+ startSimultaneousRule = MaterialMoveBuilder.startSimultaneousRule;
76
+ startRule = MaterialMoveBuilder.startRule;
77
+ customMove = MaterialMoveBuilder.customMove;
78
+ endGame = MaterialMoveBuilder.endGame;
102
79
  /**
103
80
  * Utility function to access the memory tool for the game or on player.
104
81
  * this.game.memory can be used to store any data that is not available through the state of the material, or current rule.
@@ -107,18 +84,18 @@ var MaterialRulesPart = /** @class */ (function (_super) {
107
84
  * @returns {@link GameMemory} or {@link PlayerMemory} utility
108
85
  * @protected
109
86
  */
110
- MaterialRulesPart.prototype.getMemory = function (player) {
111
- return player === undefined ? new memory_1.GameMemory(this.game) : new memory_1.PlayerMemory(this.game, player);
112
- };
87
+ getMemory(player) {
88
+ return player === undefined ? new GameMemory(this.game) : new PlayerMemory(this.game, player);
89
+ }
113
90
  /**
114
91
  * Save a new value inside the memory.
115
92
  * @param key The key to index the memorized value.
116
93
  * @param value Any JSON serializable value to store, or a function that takes previous stored value and returns the new value to store.
117
94
  * @param player optional, if we need to memorize a different value for each player.
118
95
  */
119
- MaterialRulesPart.prototype.memorize = function (key, value, player) {
96
+ memorize(key, value, player) {
120
97
  return this.getMemory(player).memorize(key, value);
121
- };
98
+ }
122
99
  /**
123
100
  * Retrieve the value memorized under a given key.
124
101
  * Shortcut for this.game.memory[key] or this.game.memory[key][player]
@@ -126,25 +103,23 @@ var MaterialRulesPart = /** @class */ (function (_super) {
126
103
  * @param key Key under which the memory is store. Usually a value of a numeric enum named "Memory".
127
104
  * @param player optional, if we need to memorize a different value for each player.
128
105
  */
129
- MaterialRulesPart.prototype.remind = function (key, player) {
106
+ remind(key, player) {
130
107
  return this.getMemory(player).remind(key);
131
- };
108
+ }
132
109
  /**
133
110
  * Delete a value from the memory
134
111
  * @param key Key of the value to delete
135
112
  * @param player optional, if we need to memorize a different value for each player.
136
113
  */
137
- MaterialRulesPart.prototype.forget = function (key, player) {
114
+ forget(key, player) {
138
115
  this.getMemory(player).forget(key);
139
- };
116
+ }
140
117
  /**
141
118
  * @deprecated because of the lifecycle of this method, the game state must never be modified inside it. However, it is a very common mistake, so
142
119
  * this method should not be used in the material rules parts: use {@link play} method to return the automatic moves.
143
120
  */
144
- MaterialRulesPart.prototype.getAutomaticMoves = function () {
121
+ getAutomaticMoves() {
145
122
  return [];
146
- };
147
- return MaterialRulesPart;
148
- }(Rules_1.Rules));
149
- exports.MaterialRulesPart = MaterialRulesPart;
123
+ }
124
+ }
150
125
  //# sourceMappingURL=MaterialRulesPart.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MaterialRulesPart.js","sourceRoot":"","sources":["../../../src/material/rules/MaterialRulesPart.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,qCAAoD;AACpD,kCAAmC;AAEnC,oCAAoD;AACpD,kCAA4F;AAG5F;;;;GAIG;AACH;IACU,qCAAiI;IAD3I;;QAyEE,qBAAe,GAAG,2BAAmB,CAAC,eAAe,CAAA;QACrD,2BAAqB,GAAG,2BAAmB,CAAC,qBAAqB,CAAA;QACjE,eAAS,GAAG,2BAAmB,CAAC,SAAS,CAAA;QACzC,gBAAU,GAAG,2BAAmB,CAAC,UAAU,CAAA;QAC3C,aAAO,GAAG,2BAAmB,CAAC,OAAO,CAAA;;IAmDvC,CAAC;IA7HC;;;;OAIG;IACH,oCAAQ,GAAR,UAAS,IAAkB;QACzB,OAAO,IAAI,gBAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAA;IAClD,CAAC;IAED;;;;;OAKG;IACH,0CAAc,GAAd,UAAe,KAAmD,EAAE,QAA0B;QAC5F,OAAO,EAAE,CAAA;IACX,CAAC;IAED;;;;;OAKG;IACH,yCAAa,GAAb,UAAc,KAAmD,EAAE,QAA0B;QAC3F,OAAO,EAAE,CAAA;IACX,CAAC;IAED;;;;;;OAMG;IACH,uCAAW,GAAX,UAAY,KAA+B,EAAE,aAAwB,EAAE,QAA0B;QAC/F,OAAO,EAAE,CAAA;IACX,CAAC;IAED;;;;;;;;OAQG;IACH,qCAAS,GAAT,UAAU,KAA+B,EAAE,QAA0B;QACnE,OAAO,EAAE,CAAA;IACX,CAAC;IAED;;;;;OAKG;IACH,wCAAY,GAAZ,UAAa,KAAiB,EAAE,QAA0B;QACxD,OAAO,EAAE,CAAA;IACX,CAAC;IAED;;OAEG;IACH,iCAAK,GAAL;QACE,OAAO,2BAAmB,CAAA;IAC5B,CAAC;IAQD;;;;;;;OAOG;IACO,qCAAS,GAAnB,UAAoB,MAAe;QACjC,OAAO,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,mBAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,qBAAY,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;IAC/F,CAAC;IAED;;;;;OAKG;IACH,oCAAQ,GAAR,UAAkB,GAAc,EAAE,KAAgC,EAAE,MAAe;QACjF,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;IACpD,CAAC;IAED;;;;;;OAMG;IACH,kCAAM,GAAN,UAAgB,GAAc,EAAE,MAAe;QAC7C,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;IAC3C,CAAC;IAED;;;;OAIG;IACH,kCAAM,GAAN,UAAO,GAAc,EAAE,MAAe;QACpC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;IACpC,CAAC;IAED;;;OAGG;IACH,6CAAiB,GAAjB;QACE,OAAO,EAAE,CAAA;IACX,CAAC;IACH,wBAAC;AAAD,CAAC,AAhID,CACU,aAAK,GA+Hd;AAhIqB,8CAAiB"}
1
+ {"version":3,"file":"MaterialRulesPart.js","sourceRoot":"","sources":["../../../src/material/rules/MaterialRulesPart.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,KAAK,EAAE,MAAM,aAAa,CAAA;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAA;AAEnC,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AACpD,OAAO,EAAsC,mBAAmB,EAAY,MAAM,UAAU,CAAA;AAG5F;;;;GAIG;AACH,MAAM,OAAgB,iBACpB,SAAQ,KAAiI;IAEzI;;;;OAIG;IACH,QAAQ,CAAC,IAAkB;QACzB,OAAO,IAAI,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAA;IAClD,CAAC;IAED;;;;;OAKG;IACH,cAAc,CAAC,KAAmD,EAAE,QAA0B;QAC5F,OAAO,EAAE,CAAA;IACX,CAAC;IAED;;;;;OAKG;IACH,aAAa,CAAC,KAAmD,EAAE,QAA0B;QAC3F,OAAO,EAAE,CAAA;IACX,CAAC;IAED;;;;;;OAMG;IACH,WAAW,CAAC,KAA+B,EAAE,aAAwB,EAAE,QAA0B;QAC/F,OAAO,EAAE,CAAA;IACX,CAAC;IAED;;;;;;;;OAQG;IACH,SAAS,CAAC,KAA+B,EAAE,QAA0B;QACnE,OAAO,EAAE,CAAA;IACX,CAAC;IAED;;;;;OAKG;IACH,YAAY,CAAC,KAAiB,EAAE,QAA0B;QACxD,OAAO,EAAE,CAAA;IACX,CAAC;IAED;;OAEG;IACH,KAAK;QACH,OAAO,mBAAmB,CAAA;IAC5B,CAAC;IAED,eAAe,GAAG,mBAAmB,CAAC,eAAe,CAAA;IACrD,qBAAqB,GAAG,mBAAmB,CAAC,qBAAqB,CAAA;IACjE,SAAS,GAAG,mBAAmB,CAAC,SAAS,CAAA;IACzC,UAAU,GAAG,mBAAmB,CAAC,UAAU,CAAA;IAC3C,OAAO,GAAG,mBAAmB,CAAC,OAAO,CAAA;IAErC;;;;;;;OAOG;IACO,SAAS,CAAC,MAAe;QACjC,OAAO,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;IAC/F,CAAC;IAED;;;;;OAKG;IACH,QAAQ,CAAU,GAAc,EAAE,KAAgC,EAAE,MAAe;QACjF,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;IACpD,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAU,GAAc,EAAE,MAAe;QAC7C,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;IAC3C,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,GAAc,EAAE,MAAe;QACpC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;IACpC,CAAC;IAED;;;OAGG;IACH,iBAAiB;QACf,OAAO,EAAE,CAAA;IACX,CAAC;CACF"}
@@ -1,72 +1,40 @@
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 MaterialRulesPart_1 = require("./MaterialRulesPart");
1
+ import { MaterialRulesPart } from './MaterialRulesPart';
20
2
  /**
21
3
  * Base class for any part of the rules where only one player has to do something.
22
4
  */
23
- var PlayerTurnRule = /** @class */ (function (_super) {
24
- __extends(PlayerTurnRule, _super);
25
- function PlayerTurnRule() {
26
- return _super !== null && _super.apply(this, arguments) || this;
5
+ export class PlayerTurnRule extends MaterialRulesPart {
6
+ /**
7
+ * Shortcut to get the awaited player (this.game.rule.player)
8
+ */
9
+ get player() {
10
+ return this.game.rule.player;
11
+ }
12
+ /**
13
+ * Utility function to get the id of the next player in the table order
14
+ */
15
+ get nextPlayer() {
16
+ return this.game.players[(this.game.players.indexOf(this.player) + 1) % this.game.players.length];
27
17
  }
28
- Object.defineProperty(PlayerTurnRule.prototype, "player", {
29
- /**
30
- * Shortcut to get the awaited player (this.game.rule.player)
31
- */
32
- get: function () {
33
- return this.game.rule.player;
34
- },
35
- enumerable: false,
36
- configurable: true
37
- });
38
- Object.defineProperty(PlayerTurnRule.prototype, "nextPlayer", {
39
- /**
40
- * Utility function to get the id of the next player in the table order
41
- */
42
- get: function () {
43
- return this.game.players[(this.game.players.indexOf(this.player) + 1) % this.game.players.length];
44
- },
45
- enumerable: false,
46
- configurable: true
47
- });
48
18
  /**
49
19
  * See {@link Rules.getActivePlayer}
50
20
  */
51
- PlayerTurnRule.prototype.getActivePlayer = function () {
21
+ getActivePlayer() {
52
22
  return this.player;
53
- };
23
+ }
54
24
  /**
55
25
  * See {@link Rules.getLegalMoves}
56
26
  */
57
- PlayerTurnRule.prototype.getLegalMoves = function (player) {
27
+ getLegalMoves(player) {
58
28
  if (player !== this.getActivePlayer())
59
29
  return [];
60
30
  return this.getPlayerMoves();
61
- };
31
+ }
62
32
  /**
63
33
  * Implement this to expose all the legal moves of the active player.
64
34
  * @returns All the {@link MaterialMove} that current active player can play
65
35
  */
66
- PlayerTurnRule.prototype.getPlayerMoves = function () {
36
+ getPlayerMoves() {
67
37
  return [];
68
- };
69
- return PlayerTurnRule;
70
- }(MaterialRulesPart_1.MaterialRulesPart));
71
- exports.PlayerTurnRule = PlayerTurnRule;
38
+ }
39
+ }
72
40
  //# sourceMappingURL=PlayerTurnRule.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PlayerTurnRule.js","sourceRoot":"","sources":["../../../src/material/rules/PlayerTurnRule.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AACA,yDAAuD;AAEvD;;GAEG;AACH;IACU,kCAA6D;IADvE;;IAuCA,CAAC;IAjCC,sBAAI,kCAAM;QAHV;;WAEG;aACH;YACE,OAAO,IAAI,CAAC,IAAI,CAAC,IAAK,CAAC,MAAO,CAAA;QAChC,CAAC;;;OAAA;IAKD,sBAAI,sCAAU;QAHd;;WAEG;aACH;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;;OAEG;IACH,wCAAe,GAAf;QACE,OAAO,IAAI,CAAC,MAAM,CAAA;IACpB,CAAC;IAED;;OAEG;IACH,sCAAa,GAAb,UAAc,MAAc;QAC1B,IAAI,MAAM,KAAK,IAAI,CAAC,eAAe,EAAE;YAAE,OAAO,EAAE,CAAA;QAChD,OAAO,IAAI,CAAC,cAAc,EAAE,CAAA;IAC9B,CAAC;IAED;;;OAGG;IACH,uCAAc,GAAd;QACE,OAAO,EAAE,CAAA;IACX,CAAC;IACH,qBAAC;AAAD,CAAC,AAvCD,CACU,qCAAiB,GAsC1B;AAvCqB,wCAAc"}
1
+ {"version":3,"file":"PlayerTurnRule.js","sourceRoot":"","sources":["../../../src/material/rules/PlayerTurnRule.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAEvD;;GAEG;AACH,MAAM,OAAgB,cACpB,SAAQ,iBAA6D;IAErE;;OAEG;IACH,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,IAAI,CAAC,IAAK,CAAC,MAAO,CAAA;IAChC,CAAC;IAED;;OAEG;IACH,IAAI,UAAU;QACZ,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;IACnG,CAAC;IAED;;OAEG;IACH,eAAe;QACb,OAAO,IAAI,CAAC,MAAM,CAAA;IACpB,CAAC;IAED;;OAEG;IACH,aAAa,CAAC,MAAc;QAC1B,IAAI,MAAM,KAAK,IAAI,CAAC,eAAe,EAAE;YAAE,OAAO,EAAE,CAAA;QAChD,OAAO,IAAI,CAAC,cAAc,EAAE,CAAA;IAC9B,CAAC;IAED;;;OAGG;IACH,cAAc;QACZ,OAAO,EAAE,CAAA;IACX,CAAC;CACF"}
@@ -1,3 +1,2 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ export {};
3
2
  //# sourceMappingURL=RuleStep.js.map
@@ -1,76 +1,44 @@
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.SimultaneousRule = void 0;
19
- exports.isSimultaneousRule = isSimultaneousRule;
20
- var moves_1 = require("../moves");
21
- var MaterialRulesPart_1 = require("./MaterialRulesPart");
1
+ import { MaterialMoveBuilder } from '../moves';
2
+ import { MaterialRulesPart } from './MaterialRulesPart';
22
3
  /**
23
4
  * Base class for any part of the rules where multiple players have to do something at the same time.
24
5
  */
25
- var SimultaneousRule = /** @class */ (function (_super) {
26
- __extends(SimultaneousRule, _super);
27
- function SimultaneousRule() {
28
- var _this = _super !== null && _super.apply(this, arguments) || this;
29
- _this.endPlayerTurn = moves_1.MaterialMoveBuilder.endPlayerTurn;
30
- return _this;
31
- }
6
+ export class SimultaneousRule extends MaterialRulesPart {
7
+ endPlayerTurn = MaterialMoveBuilder.endPlayerTurn;
32
8
  /**
33
9
  * See {@link Rules.isTurnToPlay}
34
10
  */
35
- SimultaneousRule.prototype.isTurnToPlay = function (player) {
36
- var _a, _b, _c;
37
- return (_c = (_b = (_a = this.game.rule) === null || _a === void 0 ? void 0 : _a.players) === null || _b === void 0 ? void 0 : _b.includes(player)) !== null && _c !== void 0 ? _c : false;
38
- };
39
- Object.defineProperty(SimultaneousRule.prototype, "activePlayers", {
40
- /**
41
- * @returns all the active players
42
- */
43
- get: function () {
44
- var _a, _b;
45
- return (_b = (_a = this.game.rule) === null || _a === void 0 ? void 0 : _a.players) !== null && _b !== void 0 ? _b : [];
46
- },
47
- enumerable: false,
48
- configurable: true
49
- });
11
+ isTurnToPlay(player) {
12
+ return this.game.rule?.players?.includes(player) ?? false;
13
+ }
14
+ /**
15
+ * @returns all the active players
16
+ */
17
+ get activePlayers() {
18
+ return this.game.rule?.players ?? [];
19
+ }
50
20
  /**
51
21
  * See {@link Rules.getLegalMoves}
52
22
  */
53
- SimultaneousRule.prototype.getLegalMoves = function (player) {
23
+ getLegalMoves(player) {
54
24
  return this.isTurnToPlay(player) ? this.getActivePlayerLegalMoves(player) : [];
55
- };
25
+ }
56
26
  /**
57
27
  * This function is called immediately after a {@link EndPlayerTurn} has been played.
58
28
  * @param _move The move which has just been played
59
29
  * @param _context Context of execution
60
30
  * @returns {MaterialMove[]} Any consequences that should automatically be played after the move
61
31
  */
62
- SimultaneousRule.prototype.onPlayerTurnEnd = function (_move, _context) {
32
+ onPlayerTurnEnd(_move, _context) {
63
33
  return [];
64
- };
65
- return SimultaneousRule;
66
- }(MaterialRulesPart_1.MaterialRulesPart));
67
- exports.SimultaneousRule = SimultaneousRule;
34
+ }
35
+ }
68
36
  /**
69
37
  * Type guard to know if a {@link MaterialRulesPart} is a {@link SimultaneousRule}
70
38
  * @param rule The rule
71
39
  * @returns true if the rule if a {@link SimultaneousRule}
72
40
  */
73
- function isSimultaneousRule(rule) {
41
+ export function isSimultaneousRule(rule) {
74
42
  return rule !== undefined && typeof rule.getMovesAfterPlayersDone === 'function';
75
43
  }
76
44
  //# sourceMappingURL=SimultaneousRule.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SimultaneousRule.js","sourceRoot":"","sources":["../../../src/material/rules/SimultaneousRule.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AA+DA,gDAIC;AAlED,kCAA2E;AAC3E,yDAAuD;AAEvD;;GAEG;AACH;IACU,oCAA6D;IADvE;;QAGE,mBAAa,GAAG,2BAAmB,CAAC,aAAa,CAAA;;IA8CnD,CAAC;IA5CC;;OAEG;IACH,uCAAY,GAAZ,UAAa,MAAc;;QACzB,OAAO,MAAA,MAAA,MAAA,IAAI,CAAC,IAAI,CAAC,IAAI,0CAAE,OAAO,0CAAE,QAAQ,CAAC,MAAM,CAAC,mCAAI,KAAK,CAAA;IAC3D,CAAC;IAKD,sBAAI,2CAAa;QAHjB;;WAEG;aACH;;YACE,OAAO,MAAA,MAAA,IAAI,CAAC,IAAI,CAAC,IAAI,0CAAE,OAAO,mCAAI,EAAE,CAAA;QACtC,CAAC;;;OAAA;IAED;;OAEG;IACH,wCAAa,GAAb,UAAc,MAAc;QAC1B,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,yBAAyB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IAChF,CAAC;IASD;;;;;OAKG;IACH,0CAAe,GAAf,UAAgB,KAA4B,EAAE,QAA0B;QACtE,OAAO,EAAE,CAAA;IACX,CAAC;IAQH,uBAAC;AAAD,CAAC,AAjDD,CACU,qCAAiB,GAgD1B;AAjDqB,4CAAgB;AAmDtC;;;;GAIG;AACH,SAAgB,kBAAkB,CAChC,IAAoC;IAEpC,OAAO,IAAI,KAAK,SAAS,IAAI,OAAQ,IAAqC,CAAC,wBAAwB,KAAK,UAAU,CAAA;AACpH,CAAC"}
1
+ {"version":3,"file":"SimultaneousRule.js","sourceRoot":"","sources":["../../../src/material/rules/SimultaneousRule.ts"],"names":[],"mappings":"AACA,OAAO,EAA+B,mBAAmB,EAAE,MAAM,UAAU,CAAA;AAC3E,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAEvD;;GAEG;AACH,MAAM,OAAgB,gBACpB,SAAQ,iBAA6D;IAErE,aAAa,GAAG,mBAAmB,CAAC,aAAa,CAAA;IAEjD;;OAEG;IACH,YAAY,CAAC,MAAc;QACzB,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,IAAI,KAAK,CAAA;IAC3D,CAAC;IAED;;OAEG;IACH,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,IAAI,EAAE,CAAA;IACtC,CAAC;IAED;;OAEG;IACH,aAAa,CAAC,MAAc;QAC1B,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,yBAAyB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IAChF,CAAC;IASD;;;;;OAKG;IACH,eAAe,CAAC,KAA4B,EAAE,QAA0B;QACtE,OAAO,EAAE,CAAA;IACX,CAAC;CAQF;AAED;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAChC,IAAoC;IAEpC,OAAO,IAAI,KAAK,SAAS,IAAI,OAAQ,IAAqC,CAAC,wBAAwB,KAAK,UAAU,CAAA;AACpH,CAAC"}