@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
package/dist/index.js CHANGED
@@ -1,37 +1,38 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./material"), exports);
18
- __exportStar(require("./options"), exports);
19
- __exportStar(require("./utils"), exports);
20
- __exportStar(require("./Action"), exports);
21
- __exportStar(require("./ApplyAutomaticMoves"), exports);
22
- __exportStar(require("./Competitive"), exports);
23
- __exportStar(require("./DefaultGameSetup"), exports);
24
- __exportStar(require("./Dummy"), exports);
25
- __exportStar(require("./Eliminations"), exports);
26
- __exportStar(require("./GameSetup"), exports);
27
- __exportStar(require("./GameSetupCreator"), exports);
28
- __exportStar(require("./IncompleteInformation"), exports);
29
- __exportStar(require("./LoopWithFuse"), exports);
30
- __exportStar(require("./RandomMove"), exports);
31
- __exportStar(require("./Robot"), exports);
32
- __exportStar(require("./Rules"), exports);
33
- __exportStar(require("./RulesCreator"), exports);
34
- __exportStar(require("./TimeLimit"), exports);
35
- __exportStar(require("./Undo"), exports);
36
- __exportStar(require("./UnpredictableMove"), exports);
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./material"), exports);
18
+ __exportStar(require("./options"), exports);
19
+ __exportStar(require("./utils"), exports);
20
+ __exportStar(require("./Action"), exports);
21
+ __exportStar(require("./ApplyAutomaticMoves"), exports);
22
+ __exportStar(require("./Competitive"), exports);
23
+ __exportStar(require("./DefaultGameSetup"), exports);
24
+ __exportStar(require("./Dummy"), exports);
25
+ __exportStar(require("./Eliminations"), exports);
26
+ __exportStar(require("./GameSetup"), exports);
27
+ __exportStar(require("./GameSetupCreator"), exports);
28
+ __exportStar(require("./IncompleteInformation"), exports);
29
+ __exportStar(require("./LocalMovePreview"), exports);
30
+ __exportStar(require("./LoopWithFuse"), exports);
31
+ __exportStar(require("./RandomMove"), exports);
32
+ __exportStar(require("./Robot"), exports);
33
+ __exportStar(require("./Rules"), exports);
34
+ __exportStar(require("./RulesCreator"), exports);
35
+ __exportStar(require("./TimeLimit"), exports);
36
+ __exportStar(require("./Undo"), exports);
37
+ __exportStar(require("./UnpredictableMove"), exports);
37
38
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6CAA0B;AAC1B,4CAAyB;AACzB,0CAAuB;AACvB,2CAAwB;AACxB,wDAAqC;AACrC,gDAA6B;AAC7B,qDAAkC;AAClC,0CAAuB;AACvB,iDAA8B;AAC9B,8CAA2B;AAC3B,qDAAkC;AAClC,0DAAuC;AACvC,iDAA8B;AAC9B,+CAA4B;AAC5B,0CAAuB;AACvB,0CAAuB;AACvB,iDAA8B;AAC9B,8CAA2B;AAC3B,yCAAsB;AACtB,sDAAmC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6CAA0B;AAC1B,4CAAyB;AACzB,0CAAuB;AACvB,2CAAwB;AACxB,wDAAqC;AACrC,gDAA6B;AAC7B,qDAAkC;AAClC,0CAAuB;AACvB,iDAA8B;AAC9B,8CAA2B;AAC3B,qDAAkC;AAClC,0DAAuC;AACvC,qDAAkC;AAClC,iDAA8B;AAC9B,+CAA4B;AAC5B,0CAAuB;AACvB,0CAAuB;AACvB,iDAA8B;AAC9B,8CAA2B;AAC3B,yCAAsB;AACtB,sDAAmC"}
@@ -1,35 +1,36 @@
1
- import { IncompleteInformation } from '../IncompleteInformation';
2
- import { MaterialItem } from './items';
3
- import { MaterialGame } from './MaterialGame';
4
- import { MaterialRules } from './MaterialRules';
5
- import { MaterialMove, MaterialMoveRandomized, MaterialMoveView, MoveItem, MoveItemsAtOnce } from './moves';
6
- export declare abstract class HiddenMaterialRules<P extends number = number, M extends number = number, L extends number = number> extends MaterialRules<P, M, L> implements IncompleteInformation<MaterialGame<P, M, L>, MaterialMove<P, M, L>, MaterialMove<P, M, L>> {
7
- private readonly client?;
8
- constructor(game: MaterialGame<P, M, L>, client?: {
9
- player?: P | undefined;
10
- } | undefined);
11
- abstract readonly hidingStrategies: Partial<Record<M, Partial<Record<L, HidingStrategy<P, L>>>>>;
12
- transformMoves(moves: MaterialMove<P, M, L>[]): MaterialMove<P, M, L>[];
13
- isRevealingItemMove(move: MaterialMove<P, M, L>): move is MoveItem<P, M, L> | MoveItemsAtOnce<P, M, L>;
14
- itemsCanMerge(type: M): boolean;
15
- isUnpredictableMove(move: MaterialMove<P, M, L>, player: P): boolean;
16
- protected moveBlocksUndo(move: MaterialMove<P, M, L>): boolean;
17
- protected moveRevealsSomething(move: MaterialMove<P, M, L>): boolean;
18
- getView(player?: P): MaterialGame<P, M, L>;
19
- private hideItem;
20
- private getItemHiddenPaths;
21
- private itemHasHiddenInformation;
22
- getMoveView(move: MaterialMoveRandomized<P, M, L>, player?: P): MaterialMove<P, M, L>;
23
- private getMoveItemView;
24
- private getMoveAtOnceView;
25
- private getMoveItemRevealedPath;
26
- private getMoveAtOnceRevealedPath;
27
- private moveItemWillRevealSomething;
28
- private moveAtOnceWillRevealSomething;
29
- private getShuffleItemsView;
30
- private canSeeShuffleResult;
31
- play(move: MaterialMoveRandomized<P, M, L> | MaterialMoveView<P, M, L>): MaterialMove<P, M, L>[];
32
- }
33
- export type HidingStrategy<P extends number = number, L extends number = number> = (item: MaterialItem<P, L>) => string[];
34
- export declare const hideItemId: HidingStrategy;
35
- export declare const hideFront: HidingStrategy;
1
+ import { IncompleteInformation } from '../IncompleteInformation';
2
+ import { PlayMoveContext } from '../Rules';
3
+ import { MaterialItem } from './items';
4
+ import { MaterialGame } from './MaterialGame';
5
+ import { MaterialRules } from './MaterialRules';
6
+ import { MaterialMove, MaterialMoveRandomized, MaterialMoveView, MoveItem, MoveItemsAtOnce } from './moves';
7
+ export declare abstract class HiddenMaterialRules<P extends number = number, M extends number = number, L extends number = number> extends MaterialRules<P, M, L> implements IncompleteInformation<MaterialGame<P, M, L>, MaterialMove<P, M, L>, MaterialMove<P, M, L>> {
8
+ private readonly client?;
9
+ constructor(game: MaterialGame<P, M, L>, client?: {
10
+ player?: P | undefined;
11
+ } | undefined);
12
+ abstract readonly hidingStrategies: Partial<Record<M, Partial<Record<L, HidingStrategy<P, L>>>>>;
13
+ transformMoves(moves: MaterialMove<P, M, L>[]): MaterialMove<P, M, L>[];
14
+ isRevealingItemMove(move: MaterialMove<P, M, L>): move is MoveItem<P, M, L> | MoveItemsAtOnce<P, M, L>;
15
+ itemsCanMerge(type: M): boolean;
16
+ isUnpredictableMove(move: MaterialMove<P, M, L>, player: P): boolean;
17
+ protected moveBlocksUndo(move: MaterialMove<P, M, L>): boolean;
18
+ protected moveRevealsSomething(move: MaterialMove<P, M, L>): boolean;
19
+ getView(player?: P): MaterialGame<P, M, L>;
20
+ private hideItem;
21
+ private getItemHiddenPaths;
22
+ private itemHasHiddenInformation;
23
+ getMoveView(move: MaterialMoveRandomized<P, M, L>, player?: P): MaterialMove<P, M, L>;
24
+ private getMoveItemView;
25
+ private getMoveAtOnceView;
26
+ private getMoveItemRevealedPath;
27
+ private getMoveAtOnceRevealedPath;
28
+ private moveItemWillRevealSomething;
29
+ private moveAtOnceWillRevealSomething;
30
+ private getShuffleItemsView;
31
+ private canSeeShuffleResult;
32
+ play(move: MaterialMoveRandomized<P, M, L> | MaterialMoveView<P, M, L>, context?: PlayMoveContext): MaterialMove<P, M, L>[];
33
+ }
34
+ export type HidingStrategy<P extends number = number, L extends number = number> = (item: MaterialItem<P, L>) => string[];
35
+ export declare const hideItemId: HidingStrategy;
36
+ export declare const hideFront: HidingStrategy;