@gamepark/rules-api 6.38.5 → 7.0.0-beta.1

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 (253) 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 -9
  5. package/dist/Competitive.js.map +1 -1
  6. package/dist/Eliminations.js +2 -6
  7. package/dist/Eliminations.js.map +1 -1
  8. package/dist/GameSetup.js +1 -2
  9. package/dist/HiddenInformation.js +2 -6
  10. package/dist/HiddenInformation.js.map +1 -1
  11. package/dist/LocalMovePreview.js +1 -5
  12. package/dist/LocalMovePreview.js.map +1 -1
  13. package/dist/RandomMove.js +1 -2
  14. package/dist/Rules.js +49 -59
  15. package/dist/Rules.js.map +1 -1
  16. package/dist/SecretInformation.d.ts +11 -0
  17. package/dist/SecretInformation.js +2 -6
  18. package/dist/SecretInformation.js.map +1 -1
  19. package/dist/TimeLimit.js +1 -5
  20. package/dist/TimeLimit.js.map +1 -1
  21. package/dist/Undo.js +2 -6
  22. package/dist/Undo.js.map +1 -1
  23. package/dist/UnpredictableMove.js +1 -5
  24. package/dist/UnpredictableMove.js.map +1 -1
  25. package/dist/index.js +16 -32
  26. package/dist/index.js.map +1 -1
  27. package/dist/material/HiddenMaterialRules.d.ts +1 -1
  28. package/dist/material/HiddenMaterialRules.js +125 -189
  29. package/dist/material/HiddenMaterialRules.js.map +1 -1
  30. package/dist/material/MaterialGame.js +1 -2
  31. package/dist/material/MaterialGameSetup.js +52 -70
  32. package/dist/material/MaterialGameSetup.js.map +1 -1
  33. package/dist/material/MaterialRules.d.ts +1 -1
  34. package/dist/material/MaterialRules.js +186 -255
  35. package/dist/material/MaterialRules.js.map +1 -1
  36. package/dist/material/SecretMaterialRules.js +9 -35
  37. package/dist/material/SecretMaterialRules.js.map +1 -1
  38. package/dist/material/index.js +11 -27
  39. package/dist/material/index.js.map +1 -1
  40. package/dist/material/items/Material.js +177 -268
  41. package/dist/material/items/Material.js.map +1 -1
  42. package/dist/material/items/MaterialDeck.js +10 -36
  43. package/dist/material/items/MaterialDeck.js.map +1 -1
  44. package/dist/material/items/MaterialItem.js +1 -2
  45. package/dist/material/items/MaterialMoney.js +89 -147
  46. package/dist/material/items/MaterialMoney.js.map +1 -1
  47. package/dist/material/items/MaterialMutator.js +108 -149
  48. package/dist/material/items/MaterialMutator.js.map +1 -1
  49. package/dist/material/items/index.js +5 -21
  50. package/dist/material/items/index.js.map +1 -1
  51. package/dist/material/location/Location.js +1 -14
  52. package/dist/material/location/Location.js.map +1 -1
  53. package/dist/material/location/LocationBuilder.js +26 -41
  54. package/dist/material/location/LocationBuilder.js.map +1 -1
  55. package/dist/material/location/index.js +3 -19
  56. package/dist/material/location/index.js.map +1 -1
  57. package/dist/material/location/strategy/FillGapStrategy.js +9 -16
  58. package/dist/material/location/strategy/FillGapStrategy.js.map +1 -1
  59. package/dist/material/location/strategy/LocationStrategy.js +1 -2
  60. package/dist/material/location/strategy/PositiveSequenceStrategy.js +26 -35
  61. package/dist/material/location/strategy/PositiveSequenceStrategy.js.map +1 -1
  62. package/dist/material/location/strategy/StackingStrategy.js +15 -22
  63. package/dist/material/location/strategy/StackingStrategy.js.map +1 -1
  64. package/dist/material/location/strategy/index.js +5 -23
  65. package/dist/material/location/strategy/index.js.map +1 -1
  66. package/dist/material/memory/GameMemory.js +10 -14
  67. package/dist/material/memory/GameMemory.js.map +1 -1
  68. package/dist/material/memory/PlayerMemory.js +13 -18
  69. package/dist/material/memory/PlayerMemory.js.map +1 -1
  70. package/dist/material/memory/index.js +2 -18
  71. package/dist/material/memory/index.js.map +1 -1
  72. package/dist/material/moves/CustomMove.js +4 -9
  73. package/dist/material/moves/CustomMove.js.map +1 -1
  74. package/dist/material/moves/MaterialMove.js +1 -2
  75. package/dist/material/moves/MaterialMoveBuilder.js +16 -32
  76. package/dist/material/moves/MaterialMoveBuilder.js.map +1 -1
  77. package/dist/material/moves/MoveKind.js +2 -5
  78. package/dist/material/moves/MoveKind.js.map +1 -1
  79. package/dist/material/moves/index.js +7 -23
  80. package/dist/material/moves/index.js.map +1 -1
  81. package/dist/material/moves/items/CreateItem.js +6 -13
  82. package/dist/material/moves/items/CreateItem.js.map +1 -1
  83. package/dist/material/moves/items/CreateItemsAtOnce.js +6 -13
  84. package/dist/material/moves/items/CreateItemsAtOnce.js.map +1 -1
  85. package/dist/material/moves/items/DeleteItem.js +6 -13
  86. package/dist/material/moves/items/DeleteItem.js.map +1 -1
  87. package/dist/material/moves/items/DeleteItemsAtOnce.js +6 -13
  88. package/dist/material/moves/items/DeleteItemsAtOnce.js.map +1 -1
  89. package/dist/material/moves/items/ItemMove.js +1 -2
  90. package/dist/material/moves/items/ItemMoveType.js +2 -5
  91. package/dist/material/moves/items/ItemMoveType.js.map +1 -1
  92. package/dist/material/moves/items/MoveItem.js +6 -13
  93. package/dist/material/moves/items/MoveItem.js.map +1 -1
  94. package/dist/material/moves/items/MoveItemsAtOnce.js +6 -13
  95. package/dist/material/moves/items/MoveItemsAtOnce.js.map +1 -1
  96. package/dist/material/moves/items/RollItem.js +6 -13
  97. package/dist/material/moves/items/RollItem.js.map +1 -1
  98. package/dist/material/moves/items/SelectItem.js +6 -13
  99. package/dist/material/moves/items/SelectItem.js.map +1 -1
  100. package/dist/material/moves/items/Shuffle.js +7 -15
  101. package/dist/material/moves/items/Shuffle.js.map +1 -1
  102. package/dist/material/moves/items/index.js +11 -27
  103. package/dist/material/moves/items/index.js.map +1 -1
  104. package/dist/material/moves/local/CloseTutorialPopup.js +4 -8
  105. package/dist/material/moves/local/CloseTutorialPopup.js.map +1 -1
  106. package/dist/material/moves/local/DisplayHelp.js +2 -5
  107. package/dist/material/moves/local/DisplayHelp.js.map +1 -1
  108. package/dist/material/moves/local/DropItem.js +1 -2
  109. package/dist/material/moves/local/LocalMove.js +2 -5
  110. package/dist/material/moves/local/LocalMove.js.map +1 -1
  111. package/dist/material/moves/local/SetTutorialStep.js +4 -8
  112. package/dist/material/moves/local/SetTutorialStep.js.map +1 -1
  113. package/dist/material/moves/local/index.js +5 -21
  114. package/dist/material/moves/local/index.js.map +1 -1
  115. package/dist/material/moves/rules/EndGame.js +4 -8
  116. package/dist/material/moves/rules/EndGame.js.map +1 -1
  117. package/dist/material/moves/rules/EndPlayerTurn.js +4 -8
  118. package/dist/material/moves/rules/EndPlayerTurn.js.map +1 -1
  119. package/dist/material/moves/rules/RuleMove.js +3 -7
  120. package/dist/material/moves/rules/RuleMove.js.map +1 -1
  121. package/dist/material/moves/rules/StartPlayerTurn.js +4 -8
  122. package/dist/material/moves/rules/StartPlayerTurn.js.map +1 -1
  123. package/dist/material/moves/rules/StartRule.js +4 -8
  124. package/dist/material/moves/rules/StartRule.js.map +1 -1
  125. package/dist/material/moves/rules/StartSimultaneousRule.js +4 -8
  126. package/dist/material/moves/rules/StartSimultaneousRule.js.map +1 -1
  127. package/dist/material/moves/rules/index.js +6 -22
  128. package/dist/material/moves/rules/index.js.map +1 -1
  129. package/dist/material/rules/MaterialRulesPart.d.ts +1 -1
  130. package/dist/material/rules/MaterialRulesPart.js +38 -63
  131. package/dist/material/rules/MaterialRulesPart.js.map +1 -1
  132. package/dist/material/rules/PlayerTurnRule.js +20 -52
  133. package/dist/material/rules/PlayerTurnRule.js.map +1 -1
  134. package/dist/material/rules/RuleStep.js +1 -2
  135. package/dist/material/rules/SimultaneousRule.js +19 -51
  136. package/dist/material/rules/SimultaneousRule.js.map +1 -1
  137. package/dist/material/rules/index.js +4 -20
  138. package/dist/material/rules/index.js.map +1 -1
  139. package/dist/material/tutorial/TutorialState.js +1 -2
  140. package/dist/material/tutorial/index.js +1 -17
  141. package/dist/material/tutorial/index.js.map +1 -1
  142. package/dist/options/EnumArrayOption.js +3 -7
  143. package/dist/options/EnumArrayOption.js.map +1 -1
  144. package/dist/options/EnumOption.js +1 -5
  145. package/dist/options/EnumOption.js.map +1 -1
  146. package/dist/options/Option.js +1 -2
  147. package/dist/options/OptionSpecOf.js +1 -2
  148. package/dist/options/OptionsSpec.js +1 -2
  149. package/dist/options/OptionsValidationError.js +6 -28
  150. package/dist/options/OptionsValidationError.js.map +1 -1
  151. package/dist/options/PlayerEnumOption.js +19 -33
  152. package/dist/options/PlayerEnumOption.js.map +1 -1
  153. package/dist/options/PlayersOptionsSpec.js +1 -2
  154. package/dist/options/WithIdOption.js +1 -2
  155. package/dist/options/WithPlayerOptionsSpec.js +1 -5
  156. package/dist/options/WithPlayerOptionsSpec.js.map +1 -1
  157. package/dist/options/WithPlayersOptions.js +1 -2
  158. package/dist/options/index.js +12 -28
  159. package/dist/options/index.js.map +1 -1
  160. package/dist/options/isWithPlayerIdOptions.js +3 -7
  161. package/dist/options/isWithPlayerIdOptions.js.map +1 -1
  162. package/dist/utils/action-view.util.js +18 -26
  163. package/dist/utils/action-view.util.js.map +1 -1
  164. package/dist/utils/action.util.js +11 -17
  165. package/dist/utils/action.util.js.map +1 -1
  166. package/dist/utils/adjacent-groups.util.js +33 -42
  167. package/dist/utils/adjacent-groups.util.js.map +1 -1
  168. package/dist/utils/automatic-moves.util.js +10 -16
  169. package/dist/utils/automatic-moves.util.js.map +1 -1
  170. package/dist/utils/enum.util.js +7 -14
  171. package/dist/utils/enum.util.js.map +1 -1
  172. package/dist/utils/game-view.util.js +5 -9
  173. package/dist/utils/game-view.util.js.map +1 -1
  174. package/dist/utils/grid.hex.util.js +36 -88
  175. package/dist/utils/grid.hex.util.js.map +1 -1
  176. package/dist/utils/grid.squares.util.js +8 -19
  177. package/dist/utils/grid.squares.util.js.map +1 -1
  178. package/dist/utils/grid.util.js +1 -5
  179. package/dist/utils/grid.util.js.map +1 -1
  180. package/dist/utils/index.js +16 -32
  181. package/dist/utils/index.js.map +1 -1
  182. package/dist/utils/listing.util.js +8 -14
  183. package/dist/utils/listing.util.js.map +1 -1
  184. package/dist/utils/loops.util.js +3 -7
  185. package/dist/utils/loops.util.js.map +1 -1
  186. package/dist/utils/money.util.js +54 -79
  187. package/dist/utils/money.util.js.map +1 -1
  188. package/dist/utils/neighbors.util.js +6 -11
  189. package/dist/utils/neighbors.util.js.map +1 -1
  190. package/dist/utils/polyhex.util.js +36 -56
  191. package/dist/utils/polyhex.util.js.map +1 -1
  192. package/dist/utils/random.util.js +2 -6
  193. package/dist/utils/random.util.js.map +1 -1
  194. package/dist/utils/rank.util.js +9 -13
  195. package/dist/utils/rank.util.js.map +1 -1
  196. package/package.json +38 -38
  197. package/dist/ApplyAutomaticMoves.d.ts +0 -2
  198. package/dist/ApplyAutomaticMoves.js +0 -25
  199. package/dist/ApplyAutomaticMoves.js.map +0 -1
  200. package/dist/DefaultGameSetup.d.ts +0 -7
  201. package/dist/DefaultGameSetup.js +0 -15
  202. package/dist/DefaultGameSetup.js.map +0 -1
  203. package/dist/Dummy.d.ts +0 -7
  204. package/dist/Dummy.js +0 -27
  205. package/dist/Dummy.js.map +0 -1
  206. package/dist/GameSetupCreator.d.ts +0 -4
  207. package/dist/GameSetupCreator.js +0 -3
  208. package/dist/GameSetupCreator.js.map +0 -1
  209. package/dist/IncompleteInformation.d.ts +0 -14
  210. package/dist/IncompleteInformation.js +0 -38
  211. package/dist/IncompleteInformation.js.map +0 -1
  212. package/dist/LoopWithFuse.d.ts +0 -4
  213. package/dist/LoopWithFuse.js +0 -15
  214. package/dist/LoopWithFuse.js.map +0 -1
  215. package/dist/Robot.d.ts +0 -1
  216. package/dist/Robot.js +0 -3
  217. package/dist/Robot.js.map +0 -1
  218. package/dist/RulesCreator.d.ts +0 -7
  219. package/dist/RulesCreator.js +0 -3
  220. package/dist/RulesCreator.js.map +0 -1
  221. package/dist/material/location/strategy/StakingStrategy.d.ts +0 -12
  222. package/dist/material/location/strategy/StakingStrategy.js +0 -32
  223. package/dist/material/location/strategy/StakingStrategy.js.map +0 -1
  224. package/dist/material/moves/items/ItemMovesBuilder.d.ts +0 -8
  225. package/dist/material/moves/items/ItemMovesBuilder.js +0 -34
  226. package/dist/material/moves/items/ItemMovesBuilder.js.map +0 -1
  227. package/dist/material/rules/MaterialMoveBuilder.d.ts +0 -9
  228. package/dist/material/rules/MaterialMoveBuilder.js +0 -28
  229. package/dist/material/rules/MaterialMoveBuilder.js.map +0 -1
  230. package/dist/material/rules/MaterialRulesMovesBuilder.d.ts +0 -12
  231. package/dist/material/rules/MaterialRulesMovesBuilder.js +0 -36
  232. package/dist/material/rules/MaterialRulesMovesBuilder.js.map +0 -1
  233. package/dist/setup/DefaultGameSetup.d.ts +0 -7
  234. package/dist/setup/DefaultGameSetup.js +0 -15
  235. package/dist/setup/DefaultGameSetup.js.map +0 -1
  236. package/dist/setup/GameSetup.d.ts +0 -3
  237. package/dist/setup/GameSetup.js +0 -3
  238. package/dist/setup/GameSetup.js.map +0 -1
  239. package/dist/setup/GameSetupCreator.d.ts +0 -4
  240. package/dist/setup/GameSetupCreator.js +0 -3
  241. package/dist/setup/GameSetupCreator.js.map +0 -1
  242. package/dist/setup/index.d.ts +0 -2
  243. package/dist/setup/index.js +0 -19
  244. package/dist/setup/index.js.map +0 -1
  245. package/dist/utils/EnumUtils.d.ts +0 -1
  246. package/dist/utils/EnumUtils.js +0 -8
  247. package/dist/utils/EnumUtils.js.map +0 -1
  248. package/dist/utils/coordinates.util.d.ts +0 -5
  249. package/dist/utils/coordinates.util.js +0 -16
  250. package/dist/utils/coordinates.util.js.map +0 -1
  251. package/dist/utils/isDeadEndMove.util.d.ts +0 -2
  252. package/dist/utils/isDeadEndMove.util.js +0 -19
  253. package/dist/utils/isDeadEndMove.util.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"action.util.js","sourceRoot":"","sources":["../../src/utils/action.util.ts"],"names":[],"mappings":";;;AAEA,+DAA4D;AAC5D,6CAA6C;AAE7C,SAAgB,UAAU,CAAuB,KAAkC,EAAE,IAAU,EAAE,QAAkB;IACjH,IAAI,IAAA,2BAAa,EAAC,KAAK,CAAC,EAAE,CAAC;QACzB,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;IACxC,CAAC;IAED,IAAM,MAAM,GAA2B,EAAE,QAAQ,UAAA,EAAE,IAAI,MAAA,EAAE,YAAY,EAAE,EAAE,EAAE,CAAA;IAE3E,IAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IAEjE,IAAA,0CAAmB,EAAC,KAAK,EAAE,YAAY,EAAE,UAAA,IAAI,IAAI,OAAA,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAA9B,CAA8B,CAAC,CAAA;IAEhF,OAAO,MAAM,CAAA;AACf,CAAC;AAZD,gCAYC;AAED,SAAgB,YAAY,CAAuB,KAAkC,EAAE,MAA8B;IACnH,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACnD,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,UAAA,IAAI,IAAI,OAAA,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAA5C,CAA4C,CAAC,CAAA;AACnF,CAAC;AAHD,oCAGC;AAED,SAAgB,aAAa,CAAuB,KAAkC,EAAE,OAAiC;IACvH,OAAO,CAAC,OAAO,CAAC,UAAA,MAAM,IAAI,OAAA,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,EAA3B,CAA2B,CAAC,CAAA;AACxD,CAAC;AAFD,sCAEC"}
1
+ {"version":3,"file":"action.util.js","sourceRoot":"","sources":["../../src/utils/action.util.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAA;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAE7C,MAAM,UAAU,UAAU,CAAuB,KAAkC,EAAE,IAAU,EAAE,QAAkB;IACjH,IAAI,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;IACxC,CAAC;IAED,MAAM,MAAM,GAA2B,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,CAAA;IAE3E,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IAEjE,mBAAmB,CAAC,KAAK,EAAE,YAAY,EAAE,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;IAEhF,OAAO,MAAM,CAAA;AACf,CAAC;AAED,MAAM,UAAU,YAAY,CAAuB,KAAkC,EAAE,MAA8B;IACnH,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACnD,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;AACnF,CAAC;AAED,MAAM,UAAU,aAAa,CAAuB,KAAkC,EAAE,OAAiC;IACvH,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAA;AACxD,CAAC"}
@@ -1,37 +1,33 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createAdjacentGroups = void 0;
4
- var grid_hex_util_1 = require("./grid.hex.util");
5
- function getPreviousAdjacentCoordinates(_a, hexGridSystem) {
6
- var x = _a.x, y = _a.y;
7
- var adjacentCoordinates = [];
1
+ import { HexGridSystem } from './grid.hex.util';
2
+ function getPreviousAdjacentCoordinates({ x, y }, hexGridSystem) {
3
+ const adjacentCoordinates = [];
8
4
  if (hexGridSystem === undefined) {
9
5
  if (x > 0)
10
- adjacentCoordinates.push({ x: x - 1, y: y });
6
+ adjacentCoordinates.push({ x: x - 1, y });
11
7
  if (y > 0)
12
- adjacentCoordinates.push({ x: x, y: y - 1 });
8
+ adjacentCoordinates.push({ x, y: y - 1 });
13
9
  return adjacentCoordinates;
14
10
  }
15
11
  switch (hexGridSystem) {
16
- case grid_hex_util_1.HexGridSystem.Axial:
12
+ case HexGridSystem.Axial:
17
13
  if (x > 0)
18
- adjacentCoordinates.push({ x: x - 1, y: y });
14
+ adjacentCoordinates.push({ x: x - 1, y });
19
15
  if (y > 0)
20
- adjacentCoordinates.push({ x: x, y: y - 1 }, { x: x + 1, y: y - 1 });
16
+ adjacentCoordinates.push({ x, y: y - 1 }, { x: x + 1, y: y - 1 });
21
17
  return adjacentCoordinates;
22
- case grid_hex_util_1.HexGridSystem.OddQ:
23
- case grid_hex_util_1.HexGridSystem.EvenQ:
18
+ case HexGridSystem.OddQ:
19
+ case HexGridSystem.EvenQ:
24
20
  if (x > 0)
25
- adjacentCoordinates.push({ x: x - 1, y: y });
21
+ adjacentCoordinates.push({ x: x - 1, y });
26
22
  if (y > 0) {
27
- if (hexGridSystem === (x % 2 ? grid_hex_util_1.HexGridSystem.OddQ : grid_hex_util_1.HexGridSystem.EvenQ)) {
28
- adjacentCoordinates.push({ x: x, y: y - 1 });
23
+ if (hexGridSystem === (x % 2 ? HexGridSystem.OddQ : HexGridSystem.EvenQ)) {
24
+ adjacentCoordinates.push({ x, y: y - 1 });
29
25
  }
30
26
  else {
31
27
  if (x > 0) {
32
28
  adjacentCoordinates.push({ x: x - 1, y: y - 1 });
33
29
  }
34
- adjacentCoordinates.push({ x: x, y: y - 1 }, { x: x + 1, y: y - 1 });
30
+ adjacentCoordinates.push({ x, y: y - 1 }, { x: x + 1, y: y - 1 });
35
31
  }
36
32
  }
37
33
  return adjacentCoordinates;
@@ -39,44 +35,40 @@ function getPreviousAdjacentCoordinates(_a, hexGridSystem) {
39
35
  throw new Error('Not implemented');
40
36
  }
41
37
  }
42
- function createAdjacentGroups(map, options) {
43
- var _a;
44
- var _b, _c, _d;
45
- var isEmpty = (_b = options === null || options === void 0 ? void 0 : options.isEmpty) !== null && _b !== void 0 ? _b : (function (value) { return !value; });
46
- var groups = [];
47
- for (var y = 0; y < map.length; y++) {
38
+ export function createAdjacentGroups(map, options) {
39
+ const isEmpty = options?.isEmpty ?? ((value) => !value);
40
+ const groups = [];
41
+ for (let y = 0; y < map.length; y++) {
48
42
  groups.push([]);
49
- for (var x = 0; x < map[y].length; x++) {
50
- var value = map[y][x];
43
+ for (let x = 0; x < map[y].length; x++) {
44
+ const value = map[y][x];
51
45
  if (isEmpty(value)) {
52
46
  groups[y][x] = { values: [], coordinates: [] };
53
47
  }
54
48
  else {
55
- var previousAdjacentCoordinates = getPreviousAdjacentCoordinates({ x: x, y: y }, options === null || options === void 0 ? void 0 : options.hexGridSystem);
56
- var adjacentGroups = [];
57
- for (var _i = 0, previousAdjacentCoordinates_1 = previousAdjacentCoordinates; _i < previousAdjacentCoordinates_1.length; _i++) {
58
- var _e = previousAdjacentCoordinates_1[_i], x_1 = _e.x, y_1 = _e.y;
59
- if (((_d = (_c = groups[y_1]) === null || _c === void 0 ? void 0 : _c[x_1]) === null || _d === void 0 ? void 0 : _d.values.length) && !adjacentGroups.includes(groups[y_1][x_1])) {
60
- adjacentGroups.push(groups[y_1][x_1]);
49
+ const previousAdjacentCoordinates = getPreviousAdjacentCoordinates({ x, y }, options?.hexGridSystem);
50
+ const adjacentGroups = [];
51
+ for (const { x, y } of previousAdjacentCoordinates) {
52
+ if (groups[y]?.[x]?.values.length && !adjacentGroups.includes(groups[y][x])) {
53
+ adjacentGroups.push(groups[y][x]);
61
54
  }
62
55
  }
63
56
  if (!adjacentGroups.length) {
64
- groups[y][x] = { values: [value], coordinates: [{ x: x, y: y }] };
57
+ groups[y][x] = { values: [value], coordinates: [{ x, y }] };
65
58
  }
66
59
  else if (adjacentGroups.length === 1) {
67
60
  adjacentGroups[0].values.push(value);
68
- adjacentGroups[0].coordinates.push({ x: x, y: y });
61
+ adjacentGroups[0].coordinates.push({ x, y });
69
62
  groups[y][x] = adjacentGroups[0];
70
63
  }
71
64
  else {
72
- var fusionGroup = { values: [value], coordinates: [{ x: x, y: y }] };
65
+ const fusionGroup = { values: [value], coordinates: [{ x, y }] };
73
66
  groups[y][x] = fusionGroup;
74
- for (var i = 0; i < adjacentGroups.length; i++) {
75
- (_a = fusionGroup.values).push.apply(_a, adjacentGroups[i].values);
76
- for (var _f = 0, _g = adjacentGroups[i].coordinates; _f < _g.length; _f++) {
77
- var _h = _g[_f], x_2 = _h.x, y_2 = _h.y;
78
- fusionGroup.coordinates.push({ x: x_2, y: y_2 });
79
- groups[y_2][x_2] = fusionGroup;
67
+ for (let i = 0; i < adjacentGroups.length; i++) {
68
+ fusionGroup.values.push(...adjacentGroups[i].values);
69
+ for (const { x, y } of adjacentGroups[i].coordinates) {
70
+ fusionGroup.coordinates.push({ x, y });
71
+ groups[y][x] = fusionGroup;
80
72
  }
81
73
  }
82
74
  }
@@ -85,5 +77,4 @@ function createAdjacentGroups(map, options) {
85
77
  }
86
78
  return groups;
87
79
  }
88
- exports.createAdjacentGroups = createAdjacentGroups;
89
80
  //# sourceMappingURL=adjacent-groups.util.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"adjacent-groups.util.js","sourceRoot":"","sources":["../../src/utils/adjacent-groups.util.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"adjacent-groups.util.js","sourceRoot":"","sources":["../../src/utils/adjacent-groups.util.ts"],"names":[],"mappings":"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"}
@@ -1,25 +1,19 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.applyAutomaticMoves = void 0;
4
- var loops_util_1 = require("./loops.util");
5
- var random_util_1 = require("./random.util");
6
- function applyAutomaticMoves(rules, moves, preprocessMove) {
7
- if (moves === void 0) { moves = []; }
8
- (0, loops_util_1.loopWithFuse)(function () {
9
- var _a;
1
+ import { loopWithFuse } from './loops.util';
2
+ import { hasRandomMove } from './random.util';
3
+ export function applyAutomaticMoves(rules, moves = [], preprocessMove) {
4
+ loopWithFuse(() => {
10
5
  if (moves.length === 0 && rules.getAutomaticMoves) {
11
- moves.push.apply(moves, rules.getAutomaticMoves());
6
+ moves.push(...rules.getAutomaticMoves());
12
7
  }
13
- var move = moves.shift();
8
+ const move = moves.shift();
14
9
  if (!move)
15
10
  return false;
16
- var randomizedMove = (0, random_util_1.hasRandomMove)(rules) ? rules.randomize(move) : move;
11
+ const randomizedMove = hasRandomMove(rules) ? rules.randomize(move) : move;
17
12
  if (preprocessMove)
18
13
  preprocessMove(randomizedMove);
19
- var consequences = (_a = rules.play(JSON.parse(JSON.stringify(randomizedMove)))) !== null && _a !== void 0 ? _a : [];
20
- moves.unshift.apply(moves, consequences);
14
+ const consequences = rules.play(JSON.parse(JSON.stringify(randomizedMove))) ?? [];
15
+ moves.unshift(...consequences);
21
16
  return true;
22
- }, { errorFn: function () { return new Error("Infinite loop detected while applying move consequences: ".concat(JSON.stringify(moves), ")")); } });
17
+ }, { errorFn: () => new Error(`Infinite loop detected while applying move consequences: ${JSON.stringify(moves)})`) });
23
18
  }
24
- exports.applyAutomaticMoves = applyAutomaticMoves;
25
19
  //# sourceMappingURL=automatic-moves.util.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"automatic-moves.util.js","sourceRoot":"","sources":["../../src/utils/automatic-moves.util.ts"],"names":[],"mappings":";;;AACA,2CAA2C;AAC3C,6CAA6C;AAE7C,SAAgB,mBAAmB,CAAuB,KAAkC,EAAE,KAAkB,EAAE,cAAqC;IAAzD,sBAAA,EAAA,UAAkB;IAC9G,IAAA,yBAAY,EAAC;;QACX,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,iBAAiB,EAAE,CAAC;YAClD,KAAK,CAAC,IAAI,OAAV,KAAK,EAAS,KAAK,CAAC,iBAAiB,EAAE,EAAC;QAC1C,CAAC;QACD,IAAM,IAAI,GAAG,KAAK,CAAC,KAAK,EAAE,CAAA;QAC1B,IAAI,CAAC,IAAI;YAAE,OAAO,KAAK,CAAA;QACvB,IAAM,cAAc,GAAG,IAAA,2BAAa,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;QAC1E,IAAI,cAAc;YAAE,cAAc,CAAC,cAAc,CAAC,CAAA;QAClD,IAAM,YAAY,GAAG,MAAA,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC,mCAAI,EAAE,CAAA;QACjF,KAAK,CAAC,OAAO,OAAb,KAAK,EAAY,YAAY,EAAC;QAC9B,OAAO,IAAI,CAAA;IACb,CAAC,EAAE,EAAE,OAAO,EAAE,cAAM,OAAA,IAAI,KAAK,CAAC,mEAA4D,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAG,CAAC,EAA/F,CAA+F,EAAE,CAAC,CAAA;AACxH,CAAC;AAbD,kDAaC"}
1
+ {"version":3,"file":"automatic-moves.util.js","sourceRoot":"","sources":["../../src/utils/automatic-moves.util.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAE7C,MAAM,UAAU,mBAAmB,CAAuB,KAAkC,EAAE,QAAgB,EAAE,EAAE,cAAqC;IACrJ,YAAY,CAAC,GAAG,EAAE;QAChB,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,iBAAiB,EAAE,CAAC;YAClD,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,iBAAiB,EAAE,CAAC,CAAA;QAC1C,CAAC;QACD,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,EAAE,CAAA;QAC1B,IAAI,CAAC,IAAI;YAAE,OAAO,KAAK,CAAA;QACvB,MAAM,cAAc,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;QAC1E,IAAI,cAAc;YAAE,cAAc,CAAC,cAAc,CAAC,CAAA;QAClD,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;QACjF,KAAK,CAAC,OAAO,CAAC,GAAG,YAAY,CAAC,CAAA;QAC9B,OAAO,IAAI,CAAA;IACb,CAAC,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,KAAK,CAAC,4DAA4D,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;AACxH,CAAC"}
@@ -1,6 +1,3 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isEnumValue = exports.getEnumEntries = exports.getEnumValues = exports.getEnumKeys = void 0;
4
1
  /**
5
2
  * Get the keys of an enum at run time.
6
3
  * Credits to https://github.com/tranvansang/enum-for
@@ -8,10 +5,9 @@ exports.isEnumValue = exports.getEnumEntries = exports.getEnumValues = exports.g
8
5
  * @param enumType The enumeration
9
6
  * @returns returns the list of the keys of the enum
10
7
  */
11
- function getEnumKeys(enumType) {
12
- return Object.keys(enumType).filter(function (key) { return isNaN(Number(key)); });
8
+ export function getEnumKeys(enumType) {
9
+ return Object.keys(enumType).filter(key => isNaN(Number(key)));
13
10
  }
14
- exports.getEnumKeys = getEnumKeys;
15
11
  /**
16
12
  * Get the values of an enum at run time.
17
13
  * Credits to https://github.com/tranvansang/enum-for
@@ -19,10 +15,9 @@ exports.getEnumKeys = getEnumKeys;
19
15
  * @param enumType The enumeration
20
16
  * @returns returns the list of the values of the enum
21
17
  */
22
- function getEnumValues(enumType) {
23
- return getEnumKeys(enumType).map(function (key) { return enumType[key]; });
18
+ export function getEnumValues(enumType) {
19
+ return getEnumKeys(enumType).map(key => enumType[key]);
24
20
  }
25
- exports.getEnumValues = getEnumValues;
26
21
  /**
27
22
  * Get the entries of an enum at run time.
28
23
  * Credits to https://github.com/tranvansang/enum-for
@@ -30,15 +25,13 @@ exports.getEnumValues = getEnumValues;
30
25
  * @param enumType The enumeration
31
26
  * @returns returns the list of the entries of the enum
32
27
  */
33
- function getEnumEntries(enumType) {
34
- return getEnumKeys(enumType).map(function (key) { return [key, enumType[key]]; });
28
+ export function getEnumEntries(enumType) {
29
+ return getEnumKeys(enumType).map(key => [key, enumType[key]]);
35
30
  }
36
- exports.getEnumEntries = getEnumEntries;
37
31
  /**
38
32
  * @deprecated Use getEnumValues instead
39
33
  */
40
- function isEnumValue(value) {
34
+ export function isEnumValue(value) {
41
35
  return typeof value !== 'string';
42
36
  }
43
- exports.isEnumValue = isEnumValue;
44
37
  //# sourceMappingURL=enum.util.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"enum.util.js","sourceRoot":"","sources":["../../src/utils/enum.util.ts"],"names":[],"mappings":";;;AAKA;;;;;;GAMG;AACH,SAAgB,WAAW,CAAoB,QAAW;IACxD,OAAO,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,UAAA,GAAG,IAAI,OAAA,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAlB,CAAkB,CAAmB,CAAA;AAClF,CAAC;AAFD,kCAEC;AAED;;;;;;GAMG;AACH,SAAgB,aAAa,CAAoB,QAAW;IAC1D,OAAO,WAAW,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,UAAA,GAAG,IAAI,OAAA,QAAQ,CAAC,GAAG,CAAC,EAAb,CAAa,CAAC,CAAA;AACxD,CAAC;AAFD,sCAEC;AAED;;;;;;GAMG;AACH,SAAgB,cAAc,CAAoB,QAAW;IAC3D,OAAO,WAAW,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,UAAA,GAAG,IAAI,OAAA,CAAC,GAAG,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,EAApB,CAAoB,CAAC,CAAA;AAC/D,CAAC;AAFD,wCAEC;AAED;;GAEG;AACH,SAAgB,WAAW,CAAI,KAAiB;IAC9C,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAA;AAClC,CAAC;AAFD,kCAEC"}
1
+ {"version":3,"file":"enum.util.js","sourceRoot":"","sources":["../../src/utils/enum.util.ts"],"names":[],"mappings":"AAKA;;;;;;GAMG;AACH,MAAM,UAAU,WAAW,CAAoB,QAAW;IACxD,OAAO,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAmB,CAAA;AAClF,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,aAAa,CAAoB,QAAW;IAC1D,OAAO,WAAW,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAA;AACxD,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,cAAc,CAAoB,QAAW;IAC3D,OAAO,WAAW,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;AAC/D,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW,CAAI,KAAiB;IAC9C,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAA;AAClC,CAAC"}
@@ -1,18 +1,14 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getGameView = void 0;
4
- var HiddenInformation_1 = require("../HiddenInformation");
5
- var SecretInformation_1 = require("../SecretInformation");
6
- function getGameView(rules, playerId) {
7
- if ((0, SecretInformation_1.hasSecretInformation)(rules) && playerId !== undefined) {
1
+ import { hasHiddenInformation } from '../HiddenInformation';
2
+ import { hasSecretInformation } from '../SecretInformation';
3
+ export function getGameView(rules, playerId) {
4
+ if (hasSecretInformation(rules) && playerId !== undefined) {
8
5
  return rules.getPlayerView(playerId);
9
6
  }
10
- else if ((0, HiddenInformation_1.hasHiddenInformation)(rules)) {
7
+ else if (hasHiddenInformation(rules)) {
11
8
  return rules.getView();
12
9
  }
13
10
  else {
14
11
  return rules.game;
15
12
  }
16
13
  }
17
- exports.getGameView = getGameView;
18
14
  //# sourceMappingURL=game-view.util.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"game-view.util.js","sourceRoot":"","sources":["../../src/utils/game-view.util.ts"],"names":[],"mappings":";;;AAAA,0DAA2D;AAE3D,0DAA2D;AAE3D,SAAgB,WAAW,CAA2B,KAAiC,EAAE,QAAmB;IAC1G,IAAI,IAAA,wCAAoB,EAA+B,KAAK,CAAC,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QACxF,OAAO,KAAK,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAA;IACtC,CAAC;SAAM,IAAI,IAAA,wCAAoB,EAAW,KAAK,CAAC,EAAE,CAAC;QACjD,OAAO,KAAK,CAAC,OAAO,EAAE,CAAA;IACxB,CAAC;SAAM,CAAC;QACN,OAAO,KAAK,CAAC,IAAuB,CAAA;IACtC,CAAC;AACH,CAAC;AARD,kCAQC"}
1
+ {"version":3,"file":"game-view.util.js","sourceRoot":"","sources":["../../src/utils/game-view.util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAA;AAE3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAA;AAE3D,MAAM,UAAU,WAAW,CAA2B,KAAiC,EAAE,QAAmB;IAC1G,IAAI,oBAAoB,CAA+B,KAAK,CAAC,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QACxF,OAAO,KAAK,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAA;IACtC,CAAC;SAAM,IAAI,oBAAoB,CAAW,KAAK,CAAC,EAAE,CAAC;QACjD,OAAO,KAAK,CAAC,OAAO,EAAE,CAAA;IACxB,CAAC;SAAM,CAAC;QACN,OAAO,KAAK,CAAC,IAAuB,CAAA;IACtC,CAAC;AACH,CAAC"}
@@ -1,124 +1,87 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getAdjacentHexagons = exports.getPolyhexSpaces = exports.hexTranslate = exports.getHexagonsAtDistance = exports.getDistanceBetweenHex = exports.hexRotate = exports.hexFromAxial = exports.hexToAxial = exports.axialToEvenR = exports.evenRToAxial = exports.axialToOddR = exports.oddRToAxial = exports.axialToEvenQ = exports.evenQToAxial = exports.axialToOddQ = exports.oddQToAxial = exports.HexGridSystem = void 0;
4
1
  /**
5
2
  * The different coordinates systems available to describe a Hexagonal Grid.
6
3
  * See https://www.redblobgames.com/grids/hexagons/#coordinates
7
4
  */
8
- var HexGridSystem;
5
+ export var HexGridSystem;
9
6
  (function (HexGridSystem) {
10
7
  HexGridSystem[HexGridSystem["Axial"] = 0] = "Axial";
11
8
  HexGridSystem[HexGridSystem["OddQ"] = 1] = "OddQ";
12
9
  HexGridSystem[HexGridSystem["EvenQ"] = 2] = "EvenQ";
13
10
  HexGridSystem[HexGridSystem["OddR"] = 3] = "OddR";
14
11
  HexGridSystem[HexGridSystem["EvenR"] = 4] = "EvenR";
15
- })(HexGridSystem || (exports.HexGridSystem = HexGridSystem = {}));
12
+ })(HexGridSystem || (HexGridSystem = {}));
16
13
  /**
17
14
  * Converts {@link HexGridSystem.OddQ} coordinates into {@link HexGridSystem.Axial} coordinates
18
15
  */
19
- var oddQToAxial = function (_a) {
20
- var x = _a.x, y = _a.y;
21
- return ({ x: x, y: y - (x - (x & 1)) / 2 });
22
- };
23
- exports.oddQToAxial = oddQToAxial;
16
+ export const oddQToAxial = ({ x, y }) => ({ x, y: y - (x - (x & 1)) / 2 });
24
17
  /**
25
18
  * Converts {@link HexGridSystem.Axial} coordinates into {@link HexGridSystem.OddQ} coordinates
26
19
  */
27
- var axialToOddQ = function (_a) {
28
- var x = _a.x, y = _a.y;
29
- return ({ x: x, y: y + (x - (x & 1)) / 2 });
30
- };
31
- exports.axialToOddQ = axialToOddQ;
20
+ export const axialToOddQ = ({ x, y }) => ({ x, y: y + (x - (x & 1)) / 2 });
32
21
  /**
33
22
  * Converts {@link HexGridSystem.EvenQ} coordinates into {@link HexGridSystem.Axial} coordinates
34
23
  */
35
- var evenQToAxial = function (_a) {
36
- var x = _a.x, y = _a.y;
37
- return ({ x: x, y: y - (x + (x & 1)) / 2 });
38
- };
39
- exports.evenQToAxial = evenQToAxial;
24
+ export const evenQToAxial = ({ x, y }) => ({ x, y: y - (x + (x & 1)) / 2 });
40
25
  /**
41
26
  * Converts {@link HexGridSystem.Axial} coordinates into {@link HexGridSystem.EvenQ} coordinates
42
27
  */
43
- var axialToEvenQ = function (_a) {
44
- var x = _a.x, y = _a.y;
45
- return ({ x: x, y: y + (x + (x & 1)) / 2 });
46
- };
47
- exports.axialToEvenQ = axialToEvenQ;
28
+ export const axialToEvenQ = ({ x, y }) => ({ x, y: y + (x + (x & 1)) / 2 });
48
29
  /**
49
30
  * Converts {@link HexGridSystem.OddR} coordinates into {@link HexGridSystem.Axial} coordinates
50
31
  */
51
- var oddRToAxial = function (_a) {
52
- var x = _a.x, y = _a.y;
53
- return ({ y: y, x: x - (y - (y & 1)) / 2 });
54
- };
55
- exports.oddRToAxial = oddRToAxial;
32
+ export const oddRToAxial = ({ x, y }) => ({ y, x: x - (y - (y & 1)) / 2 });
56
33
  /**
57
34
  * Converts {@link HexGridSystem.Axial} coordinates into {@link HexGridSystem.OddR} coordinates
58
35
  */
59
- var axialToOddR = function (_a) {
60
- var x = _a.x, y = _a.y;
61
- return ({ y: y, x: x + (y - (y & 1)) / 2 });
62
- };
63
- exports.axialToOddR = axialToOddR;
36
+ export const axialToOddR = ({ x, y }) => ({ y, x: x + (y - (y & 1)) / 2 });
64
37
  /**
65
38
  * Converts {@link HexGridSystem.EvenR} coordinates into {@link HexGridSystem.Axial} coordinates
66
39
  */
67
- var evenRToAxial = function (_a) {
68
- var x = _a.x, y = _a.y;
69
- return ({ y: y, x: x - (y + (y & 1)) / 2 });
70
- };
71
- exports.evenRToAxial = evenRToAxial;
40
+ export const evenRToAxial = ({ x, y }) => ({ y, x: x - (y + (y & 1)) / 2 });
72
41
  /**
73
42
  * Converts {@link HexGridSystem.Axial} coordinates into {@link HexGridSystem.EvenR} coordinates
74
43
  */
75
- var axialToEvenR = function (_a) {
76
- var x = _a.x, y = _a.y;
77
- return ({ y: y, x: x + (y + (y & 1)) / 2 });
78
- };
79
- exports.axialToEvenR = axialToEvenR;
44
+ export const axialToEvenR = ({ x, y }) => ({ y, x: x + (y + (y & 1)) / 2 });
80
45
  /**
81
46
  * Convert any {@link HexGridSystem} coordinates to {@link HexGridSystem.Axial}
82
47
  * @param hex Coordinates to convert
83
48
  * @param system System of the coordinates
84
49
  * @return Coordinates in {@link HexGridSystem.Axial}
85
50
  */
86
- function hexToAxial(hex, system) {
51
+ export function hexToAxial(hex, system) {
87
52
  switch (system) {
88
53
  case HexGridSystem.OddQ:
89
- return (0, exports.oddQToAxial)(hex);
54
+ return oddQToAxial(hex);
90
55
  case HexGridSystem.EvenQ:
91
- return (0, exports.evenQToAxial)(hex);
56
+ return evenQToAxial(hex);
92
57
  case HexGridSystem.OddR:
93
- return (0, exports.oddRToAxial)(hex);
58
+ return oddRToAxial(hex);
94
59
  case HexGridSystem.EvenR:
95
- return (0, exports.evenRToAxial)(hex);
60
+ return evenRToAxial(hex);
96
61
  default:
97
62
  return hex;
98
63
  }
99
64
  }
100
- exports.hexToAxial = hexToAxial;
101
65
  /**
102
66
  * Convert {@link HexGridSystem.Axial} coordinates to any other {@link HexGridSystem}
103
67
  * @param hex Axial coordinates to convert
104
68
  * @param system Destination coordinates system
105
69
  * @return Coordinates converted in the description system
106
70
  */
107
- function hexFromAxial(hex, system) {
71
+ export function hexFromAxial(hex, system) {
108
72
  switch (system) {
109
73
  case HexGridSystem.OddQ:
110
- return (0, exports.axialToOddQ)(hex);
74
+ return axialToOddQ(hex);
111
75
  case HexGridSystem.EvenQ:
112
- return (0, exports.axialToEvenQ)(hex);
76
+ return axialToEvenQ(hex);
113
77
  case HexGridSystem.OddR:
114
- return (0, exports.axialToOddR)(hex);
78
+ return axialToOddR(hex);
115
79
  case HexGridSystem.EvenR:
116
- return (0, exports.axialToEvenR)(hex);
80
+ return axialToEvenR(hex);
117
81
  default:
118
82
  return hex;
119
83
  }
120
84
  }
121
- exports.hexFromAxial = hexFromAxial;
122
85
  /**
123
86
  * Rotate hexagonal coordinates.
124
87
  * @param vector Vector to rotate
@@ -126,9 +89,7 @@ exports.hexFromAxial = hexFromAxial;
126
89
  * @param system The coordinates system used
127
90
  * @return the rotated vector
128
91
  */
129
- function hexRotate(vector, rotation, system) {
130
- if (rotation === void 0) { rotation = 0; }
131
- if (system === void 0) { system = HexGridSystem.Axial; }
92
+ export function hexRotate(vector, rotation = 0, system = HexGridSystem.Axial) {
132
93
  if (system !== HexGridSystem.Axial)
133
94
  return hexFromAxial(hexRotate(hexToAxial(vector, system), rotation), system);
134
95
  switch (rotation % 6) {
@@ -148,7 +109,6 @@ function hexRotate(vector, rotation, system) {
148
109
  return vector;
149
110
  }
150
111
  }
151
- exports.hexRotate = hexRotate;
152
112
  /**
153
113
  * Get the distance between 2 hexagons, i.e. the minimum number of hexagons to cross to got from hex1 to hex2.
154
114
  * @param hex1 First hexagon coordinates
@@ -156,14 +116,12 @@ exports.hexRotate = hexRotate;
156
116
  * @param system The coordinates system used
157
117
  * @return the distance between the hexagons
158
118
  */
159
- function getDistanceBetweenHex(hex1, hex2, system) {
160
- if (system === void 0) { system = HexGridSystem.Axial; }
119
+ export function getDistanceBetweenHex(hex1, hex2, system = HexGridSystem.Axial) {
161
120
  if (system !== HexGridSystem.Axial) {
162
121
  return getDistanceBetweenHex(hexToAxial(hex1, system), hexToAxial(hex2, system));
163
122
  }
164
123
  return (Math.abs(hex1.x - hex2.x) + Math.abs(hex1.x - hex2.x + hex1.y - hex2.y) + Math.abs(hex1.y - hex2.y)) / 2;
165
124
  }
166
- exports.getDistanceBetweenHex = getDistanceBetweenHex;
167
125
  /**
168
126
  * Get all the hexagons that are exactly at a specific distance from a given hexagon.
169
127
  * @param hex Coordinates of the hexagon
@@ -171,26 +129,23 @@ exports.getDistanceBetweenHex = getDistanceBetweenHex;
171
129
  * @param system The coordinates system used
172
130
  * @return the list of the hexagons found at distance from given hex
173
131
  */
174
- function getHexagonsAtDistance(hex, distance, system) {
175
- if (system === void 0) { system = HexGridSystem.Axial; }
132
+ export function getHexagonsAtDistance(hex, distance, system = HexGridSystem.Axial) {
176
133
  if (system !== HexGridSystem.Axial) {
177
- return getHexagonsAtDistance(hexToAxial(hex, system), distance, HexGridSystem.Axial).map(function (hex) { return hexFromAxial(hex, system); });
134
+ return getHexagonsAtDistance(hexToAxial(hex, system), distance, HexGridSystem.Axial).map((hex) => hexFromAxial(hex, system));
178
135
  }
179
136
  if (distance <= 0)
180
137
  return [hex];
181
- var result = [];
182
- var currentHex = { x: hex.x - distance, y: hex.y };
183
- var vectors = [{ x: 1, y: -1 }, { x: 1, y: 0 }, { x: 0, y: 1 }, { x: -1, y: 1 }, { x: -1, y: 0 }, { x: 0, y: -1 }];
184
- for (var _i = 0, vectors_1 = vectors; _i < vectors_1.length; _i++) {
185
- var vector = vectors_1[_i];
186
- for (var j = 0; j < distance; j++) {
138
+ const result = [];
139
+ let currentHex = { x: hex.x - distance, y: hex.y };
140
+ const vectors = [{ x: 1, y: -1 }, { x: 1, y: 0 }, { x: 0, y: 1 }, { x: -1, y: 1 }, { x: -1, y: 0 }, { x: 0, y: -1 }];
141
+ for (const vector of vectors) {
142
+ for (let j = 0; j < distance; j++) {
187
143
  result.push(currentHex);
188
144
  currentHex = hexTranslate(currentHex, vector);
189
145
  }
190
146
  }
191
147
  return result;
192
148
  }
193
- exports.getHexagonsAtDistance = getHexagonsAtDistance;
194
149
  /**
195
150
  * Translate hexagonal coordinates by a vector.
196
151
  * @param hex Coordinates of the hexagon to translate
@@ -198,13 +153,11 @@ exports.getHexagonsAtDistance = getHexagonsAtDistance;
198
153
  * @param system The coordinates system used
199
154
  * @return The coordinates of the hexagon after the translation
200
155
  */
201
- function hexTranslate(hex, vector, system) {
202
- if (system === void 0) { system = HexGridSystem.Axial; }
156
+ export function hexTranslate(hex, vector, system = HexGridSystem.Axial) {
203
157
  if (system !== HexGridSystem.Axial)
204
158
  return hexFromAxial(hexTranslate(hexToAxial(hex, system), hexToAxial(vector, system)), system);
205
159
  return ({ x: hex.x + vector.x, y: hex.y + vector.y });
206
160
  }
207
- exports.hexTranslate = hexTranslate;
208
161
  /**
209
162
  * Get the coordinates that will be covered by a polyhex tile when at a specific grid location.
210
163
  * @param polyhex Coordinates occupied by the polyhex without any rotation in given coordinates system
@@ -212,24 +165,20 @@ exports.hexTranslate = hexTranslate;
212
165
  * @param system The coordinates system used for the polyhex description and the location
213
166
  * @return coordinates in the grid covered when the polyhex has this location
214
167
  */
215
- function getPolyhexSpaces(polyhex, location, system) {
216
- var _a, _b;
217
- if (system === void 0) { system = HexGridSystem.Axial; }
218
- var vector = { x: (_a = location.x) !== null && _a !== void 0 ? _a : 0, y: (_b = location.y) !== null && _b !== void 0 ? _b : 0 };
168
+ export function getPolyhexSpaces(polyhex, location, system = HexGridSystem.Axial) {
169
+ const vector = { x: location.x ?? 0, y: location.y ?? 0 };
219
170
  return polyhex
220
- .map(function (hex) { var _a; return hexRotate(hex, (_a = location.rotation) !== null && _a !== void 0 ? _a : 0, system); })
221
- .map(function (hex) { return hexTranslate(hex, vector, system); });
171
+ .map(hex => hexRotate(hex, location.rotation ?? 0, system))
172
+ .map(hex => hexTranslate(hex, vector, system));
222
173
  }
223
- exports.getPolyhexSpaces = getPolyhexSpaces;
224
174
  /**
225
175
  * Get the coordinates of the 6 hexagons adjacent to a given hexagon.
226
176
  * @param hex Coordinates of the hexagon
227
177
  * @param system Coordinates system
228
178
  */
229
- function getAdjacentHexagons(hex, system) {
230
- if (system === void 0) { system = HexGridSystem.Axial; }
179
+ export function getAdjacentHexagons(hex, system = HexGridSystem.Axial) {
231
180
  if (system !== HexGridSystem.Axial) {
232
- return getAdjacentHexagons(hexToAxial(hex, system)).map((function (hex) { return hexFromAxial(hex, system); }));
181
+ return getAdjacentHexagons(hexToAxial(hex, system)).map(((hex) => hexFromAxial(hex, system)));
233
182
  }
234
183
  return [
235
184
  { x: hex.x + 1, y: hex.y },
@@ -240,5 +189,4 @@ function getAdjacentHexagons(hex, system) {
240
189
  { x: hex.x + 1, y: hex.y - 1 }
241
190
  ];
242
191
  }
243
- exports.getAdjacentHexagons = getAdjacentHexagons;
244
192
  //# sourceMappingURL=grid.hex.util.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"grid.hex.util.js","sourceRoot":"","sources":["../../src/utils/grid.hex.util.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"grid.hex.util.js","sourceRoot":"","sources":["../../src/utils/grid.hex.util.ts"],"names":[],"mappings":"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"}