@gamepark/rules-api 7.1.0 → 7.4.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 (49) hide show
  1. package/dist/Rules.d.ts +4 -0
  2. package/dist/material/HiddenMaterialRules.d.ts +1 -14
  3. package/dist/material/HiddenMaterialRules.js +0 -8
  4. package/dist/material/HiddenMaterialRules.js.map +1 -1
  5. package/dist/material/HidingStrategies.d.ts +33 -0
  6. package/dist/material/HidingStrategies.js +22 -0
  7. package/dist/material/HidingStrategies.js.map +1 -0
  8. package/dist/material/MaterialRules.d.ts +11 -1
  9. package/dist/material/MaterialRules.js +58 -11
  10. package/dist/material/MaterialRules.js.map +1 -1
  11. package/dist/material/SecretMaterialRules.d.ts +2 -21
  12. package/dist/material/SecretMaterialRules.js +0 -13
  13. package/dist/material/SecretMaterialRules.js.map +1 -1
  14. package/dist/material/index.d.ts +1 -0
  15. package/dist/material/index.js +1 -0
  16. package/dist/material/index.js.map +1 -1
  17. package/dist/material/items/MaterialMutator.d.ts +16 -1
  18. package/dist/material/items/MaterialMutator.js +47 -6
  19. package/dist/material/items/MaterialMutator.js.map +1 -1
  20. package/dist/material/moves/items/CreateItem.d.ts +1 -1
  21. package/dist/material/moves/items/CreateItem.js.map +1 -1
  22. package/dist/material/moves/items/CreateItemsAtOnce.d.ts +1 -1
  23. package/dist/material/moves/items/CreateItemsAtOnce.js.map +1 -1
  24. package/dist/material/moves/items/DeleteItem.d.ts +1 -1
  25. package/dist/material/moves/items/DeleteItem.js.map +1 -1
  26. package/dist/material/moves/items/DeleteItemsAtOnce.d.ts +1 -1
  27. package/dist/material/moves/items/DeleteItemsAtOnce.js.map +1 -1
  28. package/dist/material/moves/items/MoveItem.d.ts +1 -1
  29. package/dist/material/moves/items/MoveItem.js.map +1 -1
  30. package/dist/material/moves/items/MoveItemsAtOnce.d.ts +1 -1
  31. package/dist/material/moves/items/MoveItemsAtOnce.js.map +1 -1
  32. package/dist/material/moves/items/RollItem.d.ts +1 -1
  33. package/dist/material/moves/items/RollItem.js.map +1 -1
  34. package/dist/material/moves/items/SelectItem.d.ts +1 -1
  35. package/dist/material/moves/items/SelectItem.js.map +1 -1
  36. package/dist/material/moves/items/Shuffle.d.ts +1 -1
  37. package/dist/material/moves/items/Shuffle.js.map +1 -1
  38. package/dist/material/rules/RuleStep.d.ts +4 -0
  39. package/dist/utils/action-view.util.js +3 -2
  40. package/dist/utils/action-view.util.js.map +1 -1
  41. package/dist/utils/action.util.js +6 -4
  42. package/dist/utils/action.util.js.map +1 -1
  43. package/dist/utils/automatic-moves.util.d.ts +2 -2
  44. package/dist/utils/automatic-moves.util.js +2 -2
  45. package/dist/utils/automatic-moves.util.js.map +1 -1
  46. package/dist/utils/polyhex.util.d.ts +1 -1
  47. package/dist/utils/polyhex.util.js +8 -4
  48. package/dist/utils/polyhex.util.js.map +1 -1
  49. package/package.json +40 -38
package/dist/Rules.d.ts CHANGED
@@ -140,4 +140,8 @@ export type PlayMoveContext = {
140
140
  * True if the move will not be kept in the game's history
141
141
  */
142
142
  transient?: boolean;
143
+ /**
144
+ * The player who initiated the action (used for interleaving during simultaneous phases)
145
+ */
146
+ player?: number;
143
147
  };
@@ -1,9 +1,9 @@
1
1
  import { HiddenInformation } from '../HiddenInformation';
2
2
  import { PlayMoveContext } from '../Rules';
3
- import { MaterialItem } from './items';
4
3
  import { MaterialGame } from './MaterialGame';
5
4
  import { MaterialRules } from './MaterialRules';
6
5
  import { MaterialMove, MaterialMoveRandomized, MaterialMoveView } from './moves';
6
+ import type { HidingStrategy } from './HidingStrategies';
7
7
  /**
8
8
  * Implement HiddenMaterialRules when you want to use the {@link MaterialRules} approach with {@link HiddenInformation}.
9
9
  * Using some {@link HidingStrategy} allows to enforce the security of a game with hidden information easily.
@@ -70,16 +70,3 @@ export declare abstract class HiddenMaterialRules<P extends number = number, M e
70
70
  */
71
71
  play(move: MaterialMoveRandomized<P, M, L, R> | MaterialMoveView<P, M, L, R>, context?: PlayMoveContext): MaterialMove<P, M, L, R>[];
72
72
  }
73
- /**
74
- * A Hiding Strategy is a function that takes an item and returns a list of path to hide in the item object.
75
- * See {@link hideItemId} and {@link hideFront} for 2 hiding strategy frequently used.
76
- */
77
- export type HidingStrategy<P extends number = number, L extends number = number> = (item: MaterialItem<P, L>) => string[];
78
- /**
79
- * Hiding strategy that removes the item id
80
- */
81
- export declare const hideItemId: HidingStrategy;
82
- /**
83
- * Hiding strategy that removes "id.front" from the item (when we have cards with composite ids, back & front)
84
- */
85
- export declare const hideFront: HidingStrategy;
@@ -230,12 +230,4 @@ export class HiddenMaterialRules extends MaterialRules {
230
230
  return result;
231
231
  }
232
232
  }
233
- /**
234
- * Hiding strategy that removes the item id
235
- */
236
- export const hideItemId = () => ['id'];
237
- /**
238
- * Hiding strategy that removes "id.front" from the item (when we have cards with composite ids, back & front)
239
- */
240
- export const hideFront = () => ['id.front'];
241
233
  //# sourceMappingURL=HiddenMaterialRules.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"HiddenMaterialRules.js","sourceRoot":"","sources":["../../src/material/HiddenMaterialRules.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HiddenMaterialRules.js","sourceRoot":"","sources":["../../src/material/HiddenMaterialRules.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ import { MaterialItem } from './items';
2
+ /**
3
+ * A Hiding Strategy is a function that takes an item and returns a list of path to hide in the item object.
4
+ * See {@link hideItemId} and {@link hideFront} for 2 hiding strategy frequently used.
5
+ */
6
+ export type HidingStrategy<P extends number = number, L extends number = number> = (item: MaterialItem<P, L>) => string[];
7
+ /**
8
+ * A Hiding Strategy is a function that takes an item and a player and returns a list of path to hide in the item object.
9
+ * If the player parameter is undefined, the function must return the information to hide from the spectators.
10
+ * See {@link hideItemIdToOthers} and {@link hideFrontToOthers} for 2 HidingSecretsStrategy frequently used.
11
+ */
12
+ export type HidingSecretsStrategy<P extends number = number, L extends number = number> = (item: MaterialItem<P, L>, player?: P) => string[];
13
+ /**
14
+ * Hiding strategy that removes the item id
15
+ */
16
+ export declare const hideItemId: HidingStrategy;
17
+ /**
18
+ * Hiding strategy that removes "id.front" from the item (when we have cards with composite ids, back & front)
19
+ */
20
+ export declare const hideFront: HidingStrategy;
21
+ /**
22
+ * Hide the item id to all players except the player that is equal to item.location.player.
23
+ * Used to hide cards in a player's hand from others for instance.
24
+ * @param item The item to hide information from
25
+ * @param player The player to hide information to (or the spectator)
26
+ */
27
+ export declare const hideItemIdToOthers: <P extends number = number, L extends number = number>(item: MaterialItem<P, L>, player?: P) => string[];
28
+ /**
29
+ * Hide the item.id.front to all players except the player that is equal to item.location.player.
30
+ * @param item The item to hide information from
31
+ * @param player The player to hide information to (or the spectator)
32
+ */
33
+ export declare const hideFrontToOthers: HidingStrategy;
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Hiding strategy that removes the item id
3
+ */
4
+ export const hideItemId = () => ['id'];
5
+ /**
6
+ * Hiding strategy that removes "id.front" from the item (when we have cards with composite ids, back & front)
7
+ */
8
+ export const hideFront = () => ['id.front'];
9
+ /**
10
+ * Hide the item id to all players except the player that is equal to item.location.player.
11
+ * Used to hide cards in a player's hand from others for instance.
12
+ * @param item The item to hide information from
13
+ * @param player The player to hide information to (or the spectator)
14
+ */
15
+ export const hideItemIdToOthers = (item, player) => item.location.player === player ? [] : ['id'];
16
+ /**
17
+ * Hide the item.id.front to all players except the player that is equal to item.location.player.
18
+ * @param item The item to hide information from
19
+ * @param player The player to hide information to (or the spectator)
20
+ */
21
+ export const hideFrontToOthers = (item, player) => item.location.player === player ? [] : ['id.front'];
22
+ //# sourceMappingURL=HidingStrategies.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HidingStrategies.js","sourceRoot":"","sources":["../../src/material/HidingStrategies.ts"],"names":[],"mappings":"AAeA;;GAEG;AACH,MAAM,CAAC,MAAM,UAAU,GAAmB,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,CAAA;AAEtD;;GAEG;AACH,MAAM,CAAC,MAAM,SAAS,GAAmB,GAAG,EAAE,CAAC,CAAC,UAAU,CAAC,CAAA;AAE3D;;;;;GAKG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAChC,IAAwB,EAAE,MAAU,EAC1B,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;AAE5D;;;;GAIG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAmB,CAC/C,IAAwB,EAAE,MAAU,EAC1B,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAA"}
@@ -35,7 +35,7 @@ export declare abstract class MaterialRules<Player extends number = number, Mate
35
35
  * the rule once and for all. If we want to create a "river" of card we can use a {@link FillGapStrategy}.
36
36
  * Games with more complex use cases can implement their own {@link LocationStrategy}.
37
37
  */
38
- readonly locationsStrategies: Partial<Record<MaterialType, Partial<Record<LocationType, LocationStrategy<Player, MaterialType, LocationType>>>>>;
38
+ abstract readonly locationsStrategies: Partial<Record<MaterialType, Partial<Record<LocationType, LocationStrategy<Player, MaterialType, LocationType>>>>>;
39
39
  /**
40
40
  * Helper function to manipulate the material items of the game. See {@link Material}.
41
41
  *
@@ -106,6 +106,11 @@ export declare abstract class MaterialRules<Player extends number = number, Mate
106
106
  * @returns a MaterialMutator to change the state of the items
107
107
  */
108
108
  mutator(type: MaterialType): MaterialMutator<Player, MaterialType, LocationType>;
109
+ /**
110
+ * Returns a mutator with interleaving context for a specific player during simultaneous phases.
111
+ * Outside simultaneous phases or without a player, falls back to the standard mutator.
112
+ */
113
+ mutatorForPlayer(type: MaterialType, player?: number): MaterialMutator<Player, MaterialType, LocationType>;
109
114
  /**
110
115
  * Items can sometime be stored with a quantity (for example, coins).
111
116
  * By default, if you create or move similar items to the exact same location, they will merge into one item with a quantity.
@@ -159,6 +164,11 @@ export declare abstract class MaterialRules<Player extends number = number, Mate
159
164
  canUndo(action: Action<MaterialMove<Player, MaterialType, LocationType, RuleId>, Player>, consecutiveActions: Action<MaterialMove<Player, MaterialType, LocationType, RuleId>, Player>[]): boolean;
160
165
  private consecutiveActionBlocksUndo;
161
166
  private actionBlocksUndo;
167
+ /**
168
+ * A player should never be able to undo an action that ended a simultaneous phase,
169
+ * because going back into a simultaneous phase after a rule change is not allowed.
170
+ */
171
+ private actionEndedSimultaneousPhase;
162
172
  private actionActivatesPlayer;
163
173
  /**
164
174
  * @protected
@@ -3,7 +3,7 @@ import { Rules } from '../Rules';
3
3
  import { hasTimeLimit } from '../TimeLimit';
4
4
  import { Material, MaterialMutator } from './items';
5
5
  import { GameMemory, PlayerMemory } from './memory';
6
- import { isEndGame, isRoll, isSelectItem, isShuffle, isStartPlayerTurn, isStartSimultaneousRule, ItemMoveType, LocalMoveType, MaterialMoveBuilder, MoveKind, RuleMoveType } from './moves';
6
+ import { isEndGame, isEndPlayerTurn, isRoll, isSelectItem, isShuffle, isStartPlayerTurn, isStartSimultaneousRule, ItemMoveType, LocalMoveType, MaterialMoveBuilder, MoveKind, RuleMoveType } from './moves';
7
7
  import { isSimultaneousRule } from './rules';
8
8
  /**
9
9
  * The MaterialRules class is the main class to implement the rules of a board game with the "Material oriented" approach.
@@ -17,13 +17,6 @@ import { isSimultaneousRule } from './rules';
17
17
  * @typeparam LocationType - Numeric enum of the types of location in the game where the material can be located
18
18
  */
19
19
  export class MaterialRules extends Rules {
20
- /**
21
- * The "location strategies" are global rules that always apply in a game when we want to maintain a consistency in the position of the material.
22
- * For example, we usually want the cards in a player hand to always go from x=0 to x=n without a gap, so we use a {@link PositiveSequenceStrategy} to enforce
23
- * the rule once and for all. If we want to create a "river" of card we can use a {@link FillGapStrategy}.
24
- * Games with more complex use cases can implement their own {@link LocationStrategy}.
25
- */
26
- locationsStrategies = {};
27
20
  /**
28
21
  * Helper function to manipulate the material items of the game. See {@link Material}.
29
22
  *
@@ -123,6 +116,37 @@ export class MaterialRules extends Rules {
123
116
  this.game.items[type] = [];
124
117
  return new MaterialMutator(type, this.game.items[type], this.locationsStrategies[type], this.itemsCanMerge(type));
125
118
  }
119
+ /**
120
+ * Returns a mutator with interleaving context for a specific player during simultaneous phases.
121
+ * Outside simultaneous phases or without a player, falls back to the standard mutator.
122
+ */
123
+ mutatorForPlayer(type, player) {
124
+ const interleaving = this.game.rule?.interleaving;
125
+ if (interleaving && player !== undefined) {
126
+ const playerRank = interleaving.players.indexOf(player);
127
+ if (playerRank !== -1) {
128
+ if (!this.game.items[type])
129
+ this.game.items[type] = [];
130
+ if (!(type in interleaving.availableIndexes)) {
131
+ const items = this.game.items[type];
132
+ const available = [];
133
+ for (let i = 0; i < items.length; i++) {
134
+ if (items[i].quantity === 0)
135
+ available.push(i);
136
+ }
137
+ available.push(items.length);
138
+ interleaving.availableIndexes[type] = available;
139
+ }
140
+ const simultaneousContext = {
141
+ availableIndexes: interleaving.availableIndexes[type],
142
+ playerRank,
143
+ numPlayers: interleaving.players.length
144
+ };
145
+ return new MaterialMutator(type, this.game.items[type], this.locationsStrategies[type], this.itemsCanMerge(type), this.constructor.name, simultaneousContext);
146
+ }
147
+ }
148
+ return this.mutator(type);
149
+ }
126
150
  /**
127
151
  * Items can sometime be stored with a quantity (for example, coins).
128
152
  * By default, if you create or move similar items to the exact same location, they will merge into one item with a quantity.
@@ -221,7 +245,7 @@ export class MaterialRules extends Rules {
221
245
  }
222
246
  if (!this.game.items[move.itemType])
223
247
  this.game.items[move.itemType] = [];
224
- const mutator = this.mutator(move.itemType);
248
+ const mutator = this.mutatorForPlayer(move.itemType, context?.player);
225
249
  mutator.applyMove(move);
226
250
  if (this.game.droppedItems) {
227
251
  this.game.droppedItems = this.game.droppedItems.filter((droppedItem) => {
@@ -289,9 +313,15 @@ export class MaterialRules extends Rules {
289
313
  case RuleMoveType.StartPlayerTurn:
290
314
  this.game.rule = { id: move.id, player: move.player };
291
315
  break;
292
- case RuleMoveType.StartSimultaneousRule:
293
- this.game.rule = { id: move.id, players: move.players ?? this.game.players };
316
+ case RuleMoveType.StartSimultaneousRule: {
317
+ const players = move.players ?? this.game.players;
318
+ this.game.rule = {
319
+ id: move.id,
320
+ players: [...players],
321
+ interleaving: { players: [...players].sort((a, b) => a - b), availableIndexes: {} }
322
+ };
294
323
  break;
324
+ }
295
325
  case RuleMoveType.StartRule:
296
326
  this.game.rule = { id: move.id, player: this.game.rule?.player };
297
327
  break;
@@ -329,6 +359,8 @@ export class MaterialRules extends Rules {
329
359
  return false;
330
360
  }
331
361
  actionBlocksUndo(action) {
362
+ if (this.actionEndedSimultaneousPhase(action))
363
+ return true;
332
364
  for (let i = action.consequences.length - 1; i >= 0; i--) {
333
365
  if (this.moveBlocksUndo(action.consequences[i], action.playerId)) {
334
366
  return true;
@@ -336,6 +368,18 @@ export class MaterialRules extends Rules {
336
368
  }
337
369
  return this.moveBlocksUndo(action.move, action.playerId);
338
370
  }
371
+ /**
372
+ * A player should never be able to undo an action that ended a simultaneous phase,
373
+ * because going back into a simultaneous phase after a rule change is not allowed.
374
+ */
375
+ actionEndedSimultaneousPhase(action) {
376
+ const { move, consequences } = action;
377
+ const hasEndTurn = (isEndPlayerTurn(move) && move.player === action.playerId)
378
+ || consequences.some(c => isEndPlayerTurn(c) && c.player === action.playerId);
379
+ if (!hasEndTurn)
380
+ return false;
381
+ return consequences.some(c => c.kind === MoveKind.RulesMove && !isEndPlayerTurn(c));
382
+ }
339
383
  actionActivatesPlayer(action) {
340
384
  for (let i = action.consequences.length - 1; i >= 0; i--) {
341
385
  if (this.moveActivatesPlayer(action.consequences[i])) {
@@ -366,6 +410,7 @@ export class MaterialRules extends Rules {
366
410
  restoreTransientState(previousState) {
367
411
  this.game.helpDisplay = previousState.helpDisplay;
368
412
  this.game.transientItems = previousState.transientItems;
413
+ this.game.view = previousState.view;
369
414
  for (const type in previousState.transientItems) {
370
415
  previousState.transientItems[type].forEach(index => this.game.items[type][index] = previousState.items[type][index]);
371
416
  }
@@ -380,6 +425,8 @@ export class MaterialRules extends Rules {
380
425
  * @returns true if the move outcome cannot be predicted on client side
381
426
  */
382
427
  isUnpredictableMove(move, _player) {
428
+ if (this.game.rule?.interleaving && move.kind === MoveKind.RulesMove && move.type !== RuleMoveType.EndPlayerTurn)
429
+ return true;
383
430
  return isRoll(move);
384
431
  }
385
432
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"MaterialRules.js","sourceRoot":"","sources":["../../src/material/MaterialRules.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MaterialRules.js","sourceRoot":"","sources":["../../src/material/MaterialRules.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { SecretInformation } from '../SecretInformation';
2
- import { HiddenMaterialRules, HidingStrategy } from './HiddenMaterialRules';
3
- import { MaterialItem } from './items';
2
+ import { HiddenMaterialRules } from './HiddenMaterialRules';
3
+ import type { HidingSecretsStrategy } from './HidingStrategies';
4
4
  import { MaterialGame } from './MaterialGame';
5
5
  import { MaterialMove, MaterialMoveRandomized } from './moves';
6
6
  /**
@@ -23,22 +23,3 @@ export declare abstract class SecretMaterialRules<Player extends number = number
23
23
  */
24
24
  getPlayerMoveView(move: MaterialMoveRandomized<Player, MaterialType, LocationType, RuleId>, player: Player): MaterialMove<Player, MaterialType, LocationType, RuleId>;
25
25
  }
26
- /**
27
- * A Hiding Strategy is a function that takes an item and a player and returns a list of path to hide in the item object.
28
- * If the player parameter is undefined, the function must return the information to hide from the spectators.
29
- * See {@link hideItemIdToOthers} and {@link hideFrontToOthers} for 2 HidingSecretsStrategy frequently used.
30
- */
31
- export type HidingSecretsStrategy<P extends number = number, L extends number = number> = (item: MaterialItem<P, L>, player?: P) => string[];
32
- /**
33
- * Hide the item id to all players except the player that is equal to item.location.player.
34
- * Used to hide cards in a player's hand from others for instance.
35
- * @param item The item to hide information from
36
- * @param player The player to hide information to (or the spectator)
37
- */
38
- export declare const hideItemIdToOthers: <P extends number = number, L extends number = number>(item: MaterialItem<P, L>, player?: P) => string[];
39
- /**
40
- * Hide the item.id.front to all players except the player that is equal to item.location.player.
41
- * @param item The item to hide information from
42
- * @param player The player to hide information to (or the spectator)
43
- */
44
- export declare const hideFrontToOthers: HidingStrategy;
@@ -18,17 +18,4 @@ export class SecretMaterialRules extends HiddenMaterialRules {
18
18
  return this.getMoveView(move, player);
19
19
  }
20
20
  }
21
- /**
22
- * Hide the item id to all players except the player that is equal to item.location.player.
23
- * Used to hide cards in a player's hand from others for instance.
24
- * @param item The item to hide information from
25
- * @param player The player to hide information to (or the spectator)
26
- */
27
- export const hideItemIdToOthers = (item, player) => item.location.player === player ? [] : ['id'];
28
- /**
29
- * Hide the item.id.front to all players except the player that is equal to item.location.player.
30
- * @param item The item to hide information from
31
- * @param player The player to hide information to (or the spectator)
32
- */
33
- export const hideFrontToOthers = (item, player) => item.location.player === player ? [] : ['id.front'];
34
21
  //# sourceMappingURL=SecretMaterialRules.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SecretMaterialRules.js","sourceRoot":"","sources":["../../src/material/SecretMaterialRules.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAkB,MAAM,uBAAuB,CAAA;AAK3E;;;;GAIG;AACH,MAAM,OAAgB,mBACpB,SAAQ,mBAA+D;IASvE;;OAEG;IACH,aAAa,CAAC,MAAc;QAC1B,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;IAC7B,CAAC;IAED;;OAEG;IACH,iBAAiB,CAAC,IAAwE,EAAE,MAAc;QACxG,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;IACvC,CAAC;CACF;AASD;;;;;GAKG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAChC,IAAwB,EAAE,MAAU,EAC1B,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;AAE5D;;;;GAIG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAmB,CAC/C,IAAwB,EAAE,MAAU,EAC1B,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAA"}
1
+ {"version":3,"file":"SecretMaterialRules.js","sourceRoot":"","sources":["../../src/material/SecretMaterialRules.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAK3D;;;;GAIG;AACH,MAAM,OAAgB,mBACpB,SAAQ,mBAA+D;IASvE;;OAEG;IACH,aAAa,CAAC,MAAc;QAC1B,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;IAC7B,CAAC;IAED;;OAEG;IACH,iBAAiB,CAAC,IAAwE,EAAE,MAAc;QACxG,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;IACvC,CAAC;CACF"}
@@ -4,6 +4,7 @@ export * from './memory';
4
4
  export * from './moves';
5
5
  export * from './rules';
6
6
  export * from './tutorial';
7
+ export * from './HidingStrategies';
7
8
  export * from './HiddenMaterialRules';
8
9
  export * from './MaterialGame';
9
10
  export * from './MaterialRules';
@@ -4,6 +4,7 @@ export * from './memory';
4
4
  export * from './moves';
5
5
  export * from './rules';
6
6
  export * from './tutorial';
7
+ export * from './HidingStrategies';
7
8
  export * from './HiddenMaterialRules';
8
9
  export * from './MaterialGame';
9
10
  export * from './MaterialRules';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/material/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAA;AACvB,cAAc,YAAY,CAAA;AAC1B,cAAc,UAAU,CAAA;AACxB,cAAc,SAAS,CAAA;AACvB,cAAc,SAAS,CAAA;AACvB,cAAc,YAAY,CAAA;AAC1B,cAAc,uBAAuB,CAAA;AACrC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,qBAAqB,CAAA;AACnC,cAAc,uBAAuB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/material/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAA;AACvB,cAAc,YAAY,CAAA;AAC1B,cAAc,UAAU,CAAA;AACxB,cAAc,SAAS,CAAA;AACvB,cAAc,SAAS,CAAA;AACvB,cAAc,YAAY,CAAA;AAC1B,cAAc,oBAAoB,CAAA;AAClC,cAAc,uBAAuB,CAAA;AACrC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,qBAAqB,CAAA;AACnC,cAAc,uBAAuB,CAAA"}
@@ -1,6 +1,18 @@
1
1
  import { LocationStrategy } from '../location';
2
2
  import { ItemMoveRandomized, ItemMoveView, MoveItem, MoveItemsAtOnce } from '../moves';
3
3
  import { MaterialItem } from './index';
4
+ /**
5
+ * Context for interleaving item creation during simultaneous phases.
6
+ * Each player gets non-overlapping slots to ensure commutativity.
7
+ * availableIndexes lists all free indexes (tombstones with quantity===0) followed by items.length.
8
+ * The list is conceptually infinite: beyond stored entries, it continues sequentially.
9
+ * Player with rank r gets positions r, r+n, r+2n, ... in this list.
10
+ */
11
+ export type SimultaneousContext = {
12
+ availableIndexes: number[];
13
+ playerRank: number;
14
+ numPlayers: number;
15
+ };
4
16
  /**
5
17
  * Helper class to change the state of any {@link MaterialItem} in a game implemented with {@link MaterialRules}.
6
18
  *
@@ -14,14 +26,16 @@ export declare class MaterialMutator<P extends number = number, M extends number
14
26
  private readonly locationsStrategies;
15
27
  private readonly canMerge;
16
28
  private readonly rulesClassName;
29
+ private readonly simultaneousContext?;
17
30
  /**
18
31
  * @param type Type of items this mutator will work on
19
32
  * @param items Items to work with
20
33
  * @param locationsStrategies The strategies that these items must follow
21
34
  * @param canMerge Whether to items at the exact same location can merge into one item with a quantity
22
35
  * @param rulesClassName Constructor name of the main rules class for logging
36
+ * @param simultaneousContext Optional context for interleaving during simultaneous phases
23
37
  */
24
- constructor(type: M, items: MaterialItem<P, L>[], locationsStrategies?: Partial<Record<L, LocationStrategy<P, M, L>>>, canMerge?: boolean, rulesClassName?: string);
38
+ constructor(type: M, items: MaterialItem<P, L>[], locationsStrategies?: Partial<Record<L, LocationStrategy<P, M, L>>>, canMerge?: boolean, rulesClassName?: string, simultaneousContext?: SimultaneousContext | undefined);
25
39
  /**
26
40
  * Executes a move on the game items
27
41
  * @param move
@@ -41,6 +55,7 @@ export declare class MaterialMutator<P extends number = number, M extends number
41
55
  * @returns {number} the future index of that item
42
56
  */
43
57
  getItemCreationIndex(newItem: MaterialItem<P, L>): number;
58
+ private getAvailableIndex;
44
59
  private applyAddItemStrategy;
45
60
  private applyMoveItemStrategy;
46
61
  private removeItem;
@@ -15,19 +15,22 @@ export class MaterialMutator {
15
15
  locationsStrategies;
16
16
  canMerge;
17
17
  rulesClassName;
18
+ simultaneousContext;
18
19
  /**
19
20
  * @param type Type of items this mutator will work on
20
21
  * @param items Items to work with
21
22
  * @param locationsStrategies The strategies that these items must follow
22
23
  * @param canMerge Whether to items at the exact same location can merge into one item with a quantity
23
24
  * @param rulesClassName Constructor name of the main rules class for logging
25
+ * @param simultaneousContext Optional context for interleaving during simultaneous phases
24
26
  */
25
- constructor(type, items, locationsStrategies = {}, canMerge = true, rulesClassName = '') {
27
+ constructor(type, items, locationsStrategies = {}, canMerge = true, rulesClassName = '', simultaneousContext) {
26
28
  this.type = type;
27
29
  this.items = items;
28
30
  this.locationsStrategies = locationsStrategies;
29
31
  this.canMerge = canMerge;
30
32
  this.rulesClassName = rulesClassName;
33
+ this.simultaneousContext = simultaneousContext;
31
34
  }
32
35
  /**
33
36
  * Executes a move on the game items
@@ -82,12 +85,27 @@ export class MaterialMutator {
82
85
  }
83
86
  addItem(item) {
84
87
  this.applyAddItemStrategy(item);
85
- const availableIndex = this.items.findIndex(item => item.quantity === 0);
86
- if (availableIndex !== -1) {
87
- this.items[availableIndex] = item;
88
+ if (this.simultaneousContext) {
89
+ const { playerRank, numPlayers } = this.simultaneousContext;
90
+ let k = 0;
91
+ let targetIndex;
92
+ do {
93
+ targetIndex = this.getAvailableIndex(playerRank + k * numPlayers);
94
+ k++;
95
+ } while (targetIndex < this.items.length && this.items[targetIndex].quantity !== 0);
96
+ while (this.items.length <= targetIndex) {
97
+ this.items.push({ quantity: 0, location: {} });
98
+ }
99
+ this.items[targetIndex] = item;
88
100
  }
89
101
  else {
90
- this.items.push(item);
102
+ const availableIndex = this.items.findIndex(item => item.quantity === 0);
103
+ if (availableIndex !== -1) {
104
+ this.items[availableIndex] = item;
105
+ }
106
+ else {
107
+ this.items.push(item);
108
+ }
91
109
  }
92
110
  }
93
111
  /**
@@ -99,11 +117,27 @@ export class MaterialMutator {
99
117
  const mergeIndex = this.findMergeIndex(newItem);
100
118
  if (mergeIndex !== -1)
101
119
  return mergeIndex;
120
+ if (this.simultaneousContext) {
121
+ const { playerRank, numPlayers } = this.simultaneousContext;
122
+ let k = 0;
123
+ let targetIndex;
124
+ do {
125
+ targetIndex = this.getAvailableIndex(playerRank + k * numPlayers);
126
+ k++;
127
+ } while (targetIndex < this.items.length && this.items[targetIndex].quantity !== 0);
128
+ return targetIndex;
129
+ }
102
130
  const availableIndex = this.items.findIndex(item => item.quantity === 0);
103
131
  if (availableIndex !== -1)
104
132
  return availableIndex;
105
133
  return this.items.length;
106
134
  }
135
+ getAvailableIndex(position) {
136
+ const { availableIndexes } = this.simultaneousContext;
137
+ if (position < availableIndexes.length)
138
+ return availableIndexes[position];
139
+ return availableIndexes[availableIndexes.length - 1] + (position - availableIndexes.length + 1);
140
+ }
107
141
  applyAddItemStrategy(item) {
108
142
  if (item.location.type in this.locationsStrategies) {
109
143
  const strategy = this.locationsStrategies[item.location.type];
@@ -156,6 +190,9 @@ export class MaterialMutator {
156
190
  move(move) {
157
191
  const quantity = move.quantity ?? 1;
158
192
  const sourceItem = this.items[move.itemIndex];
193
+ if (sourceItem.quantity === 0) {
194
+ throw new Error(`${this.rulesClassName}: cannot move item with index ${move.itemIndex} for type ${this.type}: item has quantity 0`);
195
+ }
159
196
  const itemAfterMove = this.getItemAfterMove(move);
160
197
  const mergeIndex = this.findMergeIndex(itemAfterMove);
161
198
  if (mergeIndex !== -1) {
@@ -247,7 +284,11 @@ export class MaterialMutator {
247
284
  return { ...actualItem, location: newLocation };
248
285
  }
249
286
  delete(move) {
250
- return this.removeItem(this.items[move.itemIndex], move.quantity);
287
+ const item = this.items[move.itemIndex];
288
+ if (item.quantity === 0) {
289
+ throw new Error(`${this.rulesClassName}: cannot delete item with index ${move.itemIndex} for type ${this.type}: item has quantity 0`);
290
+ }
291
+ return this.removeItem(item, move.quantity);
251
292
  }
252
293
  shuffle(move) {
253
294
  if (!isShuffleRandomized(move))
@@ -1 +1 @@
1
- {"version":3,"file":"MaterialMutator.js","sourceRoot":"","sources":["../../../src/material/items/MaterialMutator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MaterialMutator.js","sourceRoot":"","sources":["../../../src/material/items/MaterialMutator.ts"],"names":[],"mappings":"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"}
@@ -20,4 +20,4 @@ export declare function isCreateItem<P extends number, M extends number, L exten
20
20
  * @param type Item type to test
21
21
  * @returns a type guard similar as {@link isCreateItem} but that also verify the item type.
22
22
  */
23
- export declare function isCreateItemType<P extends number, M extends number, L extends number>(type: M): (move: MaterialMove<P, M, L>) => move is CreateItem<P, M, L>;
23
+ export declare function isCreateItemType<T extends number>(type: T): <P extends number, L extends number>(move: MaterialMove<P, number, L>) => move is CreateItem<P, T, L>;
@@ -1 +1 @@
1
- {"version":3,"file":"CreateItem.js","sourceRoot":"","sources":["../../../../src/material/moves/items/CreateItem.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAG7C,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAUtC;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAAuD,IAA2B;IAC5G,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,QAAQ,IAAI,IAAI,CAAC,IAAI,KAAK,YAAY,CAAC,MAAM,CAAA;AAC7E,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAC9B,IAAO;IAEP,OAAO,CAAC,IAA2B,EAA+B,EAAE,CAClE,YAAY,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAA;AAChD,CAAC"}
1
+ {"version":3,"file":"CreateItem.js","sourceRoot":"","sources":["../../../../src/material/moves/items/CreateItem.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAG7C,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAUtC;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAAuD,IAA2B;IAC5G,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,QAAQ,IAAI,IAAI,CAAC,IAAI,KAAK,YAAY,CAAC,MAAM,CAAA;AAC7E,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAC9B,IAAO;IAEP,OAAO,CAAqC,IAAgC,EAA+B,EAAE,CAC3G,YAAY,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAA;AAChD,CAAC"}
@@ -21,4 +21,4 @@ export declare function isCreateItemsAtOnce<P extends number, M extends number,
21
21
  * @param type Item type to test
22
22
  * @returns a type guard similar as {@link isCreateItemsAtOnce} but that also verify the item type.
23
23
  */
24
- export declare function isCreateItemTypeAtOnce<P extends number, M extends number, L extends number>(type: M): (move: MaterialMove<P, M, L>) => move is CreateItemsAtOnce<P, M, L>;
24
+ export declare function isCreateItemTypeAtOnce(type: number): <P extends number, M extends number, L extends number>(move: MaterialMove<P, M, L>) => move is CreateItemsAtOnce<P, M, L>;
@@ -1 +1 @@
1
- {"version":3,"file":"CreateItemsAtOnce.js","sourceRoot":"","sources":["../../../../src/material/moves/items/CreateItemsAtOnce.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAG7C,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAWtC;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAAuD,IAA2B;IACnH,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,QAAQ,IAAI,IAAI,CAAC,IAAI,KAAK,YAAY,CAAC,YAAY,CAAA;AACnF,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CACpC,IAAO;IAEP,OAAO,CAAC,IAA2B,EAAsC,EAAE,CACzE,mBAAmB,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAA;AACvD,CAAC"}
1
+ {"version":3,"file":"CreateItemsAtOnce.js","sourceRoot":"","sources":["../../../../src/material/moves/items/CreateItemsAtOnce.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAG7C,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAWtC;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAAuD,IAA2B;IACnH,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,QAAQ,IAAI,IAAI,CAAC,IAAI,KAAK,YAAY,CAAC,YAAY,CAAA;AACnF,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CACpC,IAAY;IAEZ,OAAO,CAAuD,IAA2B,EAAsC,EAAE,CAC/H,mBAAmB,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAA;AACvD,CAAC"}
@@ -25,4 +25,4 @@ export declare function isDeleteItem<P extends number, M extends number, L exten
25
25
  * @param index Optional itemIndex to test along the item type
26
26
  * @returns a type guard similar as {@link isDeleteItem} but that also verify the item type.
27
27
  */
28
- export declare function isDeleteItemType<P extends number, M extends number, L extends number>(type: M, index?: number): (move: MaterialMove<P, M, L>) => move is DeleteItem<M>;
28
+ export declare function isDeleteItemType<T extends number>(type: T, index?: number): <P extends number, L extends number>(move: MaterialMove<P, number, L>) => move is DeleteItem<T>;
@@ -1 +1 @@
1
- {"version":3,"file":"DeleteItem.js","sourceRoot":"","sources":["../../../../src/material/moves/items/DeleteItem.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAG7C,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAetC;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAAuD,IAA2B;IAC5G,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,QAAQ,IAAI,IAAI,CAAC,IAAI,KAAK,YAAY,CAAC,MAAM,CAAA;AAC7E,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAC9B,IAAO,EAAE,KAAc;IAEvB,OAAO,CAAC,IAA2B,EAAyB,EAAE,CAC5D,YAAY,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,SAAS,KAAK,KAAK,CAAC,CAAA;AACrG,CAAC"}
1
+ {"version":3,"file":"DeleteItem.js","sourceRoot":"","sources":["../../../../src/material/moves/items/DeleteItem.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAG7C,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAetC;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAAuD,IAA2B;IAC5G,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,QAAQ,IAAI,IAAI,CAAC,IAAI,KAAK,YAAY,CAAC,MAAM,CAAA;AAC7E,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAC9B,IAAO,EAAE,KAAc;IAEvB,OAAO,CAAqC,IAAgC,EAAyB,EAAE,CACrG,YAAY,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,SAAS,KAAK,KAAK,CAAC,CAAA;AACrG,CAAC"}
@@ -23,4 +23,4 @@ export declare function isDeleteItemsAtOnce<P extends number, M extends number,
23
23
  * @param type Item type to test
24
24
  * @returns a type guard similar as {@link isDeleteItemsAtOnce} but that also verify the item type.
25
25
  */
26
- export declare function isDeleteItemTypeAtOnce<P extends number, M extends number, L extends number>(type: M): (move: MaterialMove<P, M, L>) => move is DeleteItemsAtOnce<M>;
26
+ export declare function isDeleteItemTypeAtOnce<T extends number>(type: T): <P extends number, L extends number>(move: MaterialMove<P, number, L>) => move is DeleteItemsAtOnce<T>;
@@ -1 +1 @@
1
- {"version":3,"file":"DeleteItemsAtOnce.js","sourceRoot":"","sources":["../../../../src/material/moves/items/DeleteItemsAtOnce.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAEtC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAc7C;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAAuD,IAA2B;IACnH,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,QAAQ,IAAI,IAAI,CAAC,IAAI,KAAK,YAAY,CAAC,YAAY,CAAA;AACnF,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CACpC,IAAO;IAEP,OAAO,CAAC,IAA2B,EAAgC,EAAE,CACnE,mBAAmB,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAA;AACvD,CAAC"}
1
+ {"version":3,"file":"DeleteItemsAtOnce.js","sourceRoot":"","sources":["../../../../src/material/moves/items/DeleteItemsAtOnce.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAEtC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAc7C;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAAuD,IAA2B;IACnH,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,QAAQ,IAAI,IAAI,CAAC,IAAI,KAAK,YAAY,CAAC,YAAY,CAAA;AACnF,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CACpC,IAAO;IAEP,OAAO,CAAqC,IAAgC,EAAgC,EAAE,CAC5G,mBAAmB,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAA;AACvD,CAAC"}
@@ -31,4 +31,4 @@ export declare function isMoveItem<P extends number, M extends number, L extends
31
31
  * @param index Optional itemIndex to test along the item type
32
32
  * @returns a type guard similar as {@link isMoveItem} but that also verify the item type.
33
33
  */
34
- export declare function isMoveItemType<P extends number, M extends number, L extends number>(type: M, index?: number): (move: MaterialMove<P, M, L>) => move is MoveItem<P, M, L>;
34
+ export declare function isMoveItemType<T extends number>(type: T, index?: number): <P extends number, L extends number>(move: MaterialMove<P, number, L>) => move is MoveItem<P, T, L>;
@@ -1 +1 @@
1
- {"version":3,"file":"MoveItem.js","sourceRoot":"","sources":["../../../../src/material/moves/items/MoveItem.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAEtC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAoB7C;;;;GAIG;AACH,MAAM,UAAU,UAAU,CAAuD,IAA2B;IAC1G,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,QAAQ,IAAI,IAAI,CAAC,IAAI,KAAK,YAAY,CAAC,IAAI,CAAA;AAC3E,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAC5B,IAAO,EAAE,KAAc;IAEvB,OAAO,CAAC,IAA2B,EAA6B,EAAE,CAChE,UAAU,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,SAAS,KAAK,KAAK,CAAC,CAAA;AACnG,CAAC"}
1
+ {"version":3,"file":"MoveItem.js","sourceRoot":"","sources":["../../../../src/material/moves/items/MoveItem.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAEtC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAoB7C;;;;GAIG;AACH,MAAM,UAAU,UAAU,CAAuD,IAA2B;IAC1G,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,QAAQ,IAAI,IAAI,CAAC,IAAI,KAAK,YAAY,CAAC,IAAI,CAAA;AAC3E,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAC5B,IAAO,EAAE,KAAc;IAEvB,OAAO,CAAqC,IAAgC,EAA6B,EAAE,CACzG,UAAU,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,SAAS,KAAK,KAAK,CAAC,CAAA;AACnG,CAAC"}
@@ -30,4 +30,4 @@ export declare function isMoveItemsAtOnce<P extends number, M extends number, L
30
30
  * @param type Item type to test
31
31
  * @returns a type guard similar as {@link isMoveItemsAtOnce} but that also verify the item type.
32
32
  */
33
- export declare function isMoveItemTypeAtOnce<P extends number, M extends number, L extends number>(type: M): (move: MaterialMove<P, M, L>) => move is MoveItemsAtOnce<P, M, L>;
33
+ export declare function isMoveItemTypeAtOnce<T extends number>(type: T): <P extends number, L extends number>(move: MaterialMove<P, number, L>) => move is MoveItemsAtOnce<P, T, L>;
@@ -1 +1 @@
1
- {"version":3,"file":"MoveItemsAtOnce.js","sourceRoot":"","sources":["../../../../src/material/moves/items/MoveItemsAtOnce.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAEtC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAoB7C;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAAuD,IAA2B;IACjH,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,QAAQ,IAAI,IAAI,CAAC,IAAI,KAAK,YAAY,CAAC,UAAU,CAAA;AACjF,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAClC,IAAO;IAEP,OAAO,CAAC,IAA2B,EAAoC,EAAE,CACvE,iBAAiB,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAA;AACrD,CAAC"}
1
+ {"version":3,"file":"MoveItemsAtOnce.js","sourceRoot":"","sources":["../../../../src/material/moves/items/MoveItemsAtOnce.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAEtC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAoB7C;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAAuD,IAA2B;IACjH,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,QAAQ,IAAI,IAAI,CAAC,IAAI,KAAK,YAAY,CAAC,UAAU,CAAA;AACjF,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAClC,IAAO;IAEP,OAAO,CAAqC,IAAgC,EAAoC,EAAE,CAChH,iBAAiB,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAA;AACrD,CAAC"}
@@ -27,4 +27,4 @@ export declare function isRoll<P extends number, M extends number, L extends num
27
27
  * @param type Item type to test
28
28
  * @returns a type guard similar as {@link isRoll} but that also verify the item type.
29
29
  */
30
- export declare function isRollItemType<P extends number, M extends number, L extends number>(type: M): (move: MaterialMove<P, M, L>) => move is RollItem<P, M, L>;
30
+ export declare function isRollItemType<T extends number>(type: T): <P extends number, L extends number>(move: MaterialMove<P, number, L>) => move is RollItem<P, T, L>;
@@ -1 +1 @@
1
- {"version":3,"file":"RollItem.js","sourceRoot":"","sources":["../../../../src/material/moves/items/RollItem.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAEtC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAiB7C;;;;GAIG;AACH,MAAM,UAAU,MAAM,CAAuD,IAA2B;IACtG,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,QAAQ,IAAI,IAAI,CAAC,IAAI,KAAK,YAAY,CAAC,IAAI,CAAA;AAC3E,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAC5B,IAAO;IAEP,OAAO,CAAC,IAA2B,EAA6B,EAAE,CAChE,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAA;AAC1C,CAAC"}
1
+ {"version":3,"file":"RollItem.js","sourceRoot":"","sources":["../../../../src/material/moves/items/RollItem.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAEtC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAiB7C;;;;GAIG;AACH,MAAM,UAAU,MAAM,CAAuD,IAA2B;IACtG,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,QAAQ,IAAI,IAAI,CAAC,IAAI,KAAK,YAAY,CAAC,IAAI,CAAA;AAC3E,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAC5B,IAAO;IAEP,OAAO,CAAqC,IAAgC,EAA6B,EAAE,CACzG,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAA;AAC1C,CAAC"}
@@ -28,4 +28,4 @@ export declare function isSelectItem<P extends number, M extends number, L exten
28
28
  * @param index Optional itemIndex to test along the item type
29
29
  * @returns a type guard similar as {@link isSelectItem} but that also verify the item type.
30
30
  */
31
- export declare function isSelectItemType<P extends number, M extends number, L extends number>(type: M, index?: number): (move: MaterialMove<P, M, L>) => move is SelectItem<M>;
31
+ export declare function isSelectItemType<T extends number>(type: T, index?: number): <P extends number, L extends number>(move: MaterialMove<P, number, L>) => move is SelectItem<T>;
@@ -1 +1 @@
1
- {"version":3,"file":"SelectItem.js","sourceRoot":"","sources":["../../../../src/material/moves/items/SelectItem.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAEtC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAkB7C;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAAuD,IAA2B;IAC5G,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,QAAQ,IAAI,IAAI,CAAC,IAAI,KAAK,YAAY,CAAC,MAAM,CAAA;AAC7E,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAC9B,IAAO,EAAE,KAAc;IAEvB,OAAO,CAAC,IAA2B,EAAyB,EAAE,CAC5D,YAAY,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,SAAS,KAAK,KAAK,CAAC,CAAA;AACrG,CAAC"}
1
+ {"version":3,"file":"SelectItem.js","sourceRoot":"","sources":["../../../../src/material/moves/items/SelectItem.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAEtC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAkB7C;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAAuD,IAA2B;IAC5G,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,QAAQ,IAAI,IAAI,CAAC,IAAI,KAAK,YAAY,CAAC,MAAM,CAAA;AAC7E,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAC9B,IAAO,EAAE,KAAc;IAEvB,OAAO,CAAqC,IAAgC,EAAyB,EAAE,CACrG,YAAY,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,SAAS,KAAK,KAAK,CAAC,CAAA;AACrG,CAAC"}
@@ -30,7 +30,7 @@ export declare function isShuffle<P extends number, M extends number, L extends
30
30
  * @param type Item type to test
31
31
  * @returns a type guard similar as {@link isShuffle} but that also verify the item type.
32
32
  */
33
- export declare function isShuffleItemType<P extends number, M extends number, L extends number>(type: M): (move: MaterialMove<P, M, L>) => move is Shuffle<M>;
33
+ export declare function isShuffleItemType<T extends number>(type: T): <P extends number, L extends number>(move: MaterialMove<P, number, L>) => move is Shuffle<T>;
34
34
  /**
35
35
  * Type guard to test if a {@link MaterialMove} is a {@link ShuffleRandomized} move
36
36
  * @param move Move to test
@@ -1 +1 @@
1
- {"version":3,"file":"Shuffle.js","sourceRoot":"","sources":["../../../../src/material/moves/items/Shuffle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAG7C,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAsBtC;;;;GAIG;AACH,MAAM,UAAU,SAAS,CAAuD,IAA2B;IACzG,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,QAAQ,IAAI,IAAI,CAAC,IAAI,KAAK,YAAY,CAAC,OAAO,CAAA;AAC9E,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAC/B,IAAO;IAEP,OAAO,CAAC,IAA2B,EAAsB,EAAE,CACzD,SAAS,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAA;AAC7C,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAAuD,IAA2B;IACnH,OAAO,SAAS,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,OAAO,CAAE,IAA6B,CAAC,UAAU,CAAC,CAAA;AACpF,CAAC"}
1
+ {"version":3,"file":"Shuffle.js","sourceRoot":"","sources":["../../../../src/material/moves/items/Shuffle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAG7C,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAsBtC;;;;GAIG;AACH,MAAM,UAAU,SAAS,CAAuD,IAA2B;IACzG,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,QAAQ,IAAI,IAAI,CAAC,IAAI,KAAK,YAAY,CAAC,OAAO,CAAA;AAC9E,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAC/B,IAAO;IAEP,OAAO,CAAqC,IAAgC,EAAsB,EAAE,CAClG,SAAS,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAA;AAC7C,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAAuD,IAA2B;IACnH,OAAO,SAAS,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,OAAO,CAAE,IAA6B,CAAC,UAAU,CAAC,CAAA;AACpF,CAAC"}
@@ -5,4 +5,8 @@ export type RuleStep<Player extends number = number, RuleId extends number = num
5
5
  id: RuleId;
6
6
  player?: Player;
7
7
  players?: Player[];
8
+ interleaving?: {
9
+ players: Player[];
10
+ availableIndexes: Record<number, number[]>;
11
+ };
8
12
  };
@@ -16,13 +16,14 @@ export function playActionWithViews(rules, move, playerId, recipients, id) {
16
16
  }
17
17
  // Prepare action view for spectators
18
18
  actionWithView.views.push({ action: { id, playerId, move: getMoveView(rules, move), consequences: [] } });
19
- const consequences = rules.play(JSON.parse(JSON.stringify(move)));
19
+ const context = { player: playerId };
20
+ const consequences = rules.play(JSON.parse(JSON.stringify(move)), context);
20
21
  applyAutomaticMoves(rules, consequences, move => {
21
22
  actionWithView.action.consequences.push(move);
22
23
  for (const view of actionWithView.views) {
23
24
  view.action.consequences.push(getMoveView(rules, move, view.recipient));
24
25
  }
25
- });
26
+ }, context);
26
27
  return actionWithView;
27
28
  }
28
29
  export function getMoveView(rules, move, playerId) {
@@ -1 +1 @@
1
- {"version":3,"file":"action-view.util.js","sourceRoot":"","sources":["../../src/utils/action-view.util.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAqB,MAAM,sBAAsB,CAAA;AAE9E,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAA;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAA;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAY7C,MAAM,UAAU,mBAAmB,CACjC,KAA4E,EAAE,IAAU,EAAE,QAAkB,EAAE,UAAsB,EAAE,EAAW;IAGjJ,IAAI,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;IACxC,CAAC;IAED,MAAM,cAAc,GAA8C;QAChE,MAAM,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE;QAChD,KAAK,EAAE,EAAE;KACV,CAAA;IAED,sCAAsC;IACtC,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,CAAC,KAAK,EAAE,IAAI,EAAE,SAAS,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE,CAAC,CAAA;IACjI,CAAC;IACD,qCAAqC;IACrC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE,CAAC,CAAA;IAEzG,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;QAC9C,cAAc,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAC7C,KAAK,MAAM,IAAI,IAAI,cAAc,CAAC,KAAK,EAAE,CAAC;YACxC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAA;QACzE,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,OAAO,cAAc,CAAA;AACvB,CAAC;AAED,MAAM,UAAU,WAAW,CAAqC,KAAiC,EAAE,IAAU,EAAE,QAAmB;IAChI,IAAI,oBAAoB,CAAqC,KAAK,CAAC,IAAI,KAAK,CAAC,iBAAiB,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QACzH,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAA;IAC5E,CAAC;SAAM,IAAI,oBAAoB,CAA2B,KAAK,CAAC,EAAE,CAAC;QACjE,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IAC5D,CAAC;SAAM,CAAC;QACN,OAAO,IAAuB,CAAA;IAChC,CAAC;AACH,CAAC;AAMD,MAAM,UAAU,cAAc,CAAC,MAAc;IAC3C,OAAO,KAAK,CAAC,OAAO,CAAE,MAAuB,CAAC,OAAO,CAAC,CAAA;AACxD,CAAC"}
1
+ {"version":3,"file":"action-view.util.js","sourceRoot":"","sources":["../../src/utils/action-view.util.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAqB,MAAM,sBAAsB,CAAA;AAE9E,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAA;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAA;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAY7C,MAAM,UAAU,mBAAmB,CACjC,KAA4E,EAAE,IAAU,EAAE,QAAkB,EAAE,UAAsB,EAAE,EAAW;IAGjJ,IAAI,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;IACxC,CAAC;IAED,MAAM,cAAc,GAA8C;QAChE,MAAM,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE;QAChD,KAAK,EAAE,EAAE;KACV,CAAA;IAED,sCAAsC;IACtC,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,CAAC,KAAK,EAAE,IAAI,EAAE,SAAS,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE,CAAC,CAAA;IACjI,CAAC;IACD,qCAAqC;IACrC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE,CAAC,CAAA;IAEzG,MAAM,OAAO,GAAG,EAAE,MAAM,EAAE,QAAkB,EAAE,CAAA;IAC9C,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC,CAAA;IAE1E,mBAAmB,CAAC,KAAK,EAAE,YAAY,EAAE,IAAI,CAAC,EAAE;QAC9C,cAAc,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAC7C,KAAK,MAAM,IAAI,IAAI,cAAc,CAAC,KAAK,EAAE,CAAC;YACxC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAA;QACzE,CAAC;IACH,CAAC,EAAE,OAAO,CAAC,CAAA;IAEX,OAAO,cAAc,CAAA;AACvB,CAAC;AAED,MAAM,UAAU,WAAW,CAAqC,KAAiC,EAAE,IAAU,EAAE,QAAmB;IAChI,IAAI,oBAAoB,CAAqC,KAAK,CAAC,IAAI,KAAK,CAAC,iBAAiB,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QACzH,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAA;IAC5E,CAAC;SAAM,IAAI,oBAAoB,CAA2B,KAAK,CAAC,EAAE,CAAC;QACjE,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IAC5D,CAAC;SAAM,CAAC;QACN,OAAO,IAAuB,CAAA;IAChC,CAAC;AACH,CAAC;AAMD,MAAM,UAAU,cAAc,CAAC,MAAc;IAC3C,OAAO,KAAK,CAAC,OAAO,CAAE,MAAuB,CAAC,OAAO,CAAC,CAAA;AACxD,CAAC"}
@@ -5,13 +5,15 @@ export function playAction(rules, move, playerId) {
5
5
  move = rules.randomize(move, playerId);
6
6
  }
7
7
  const action = { playerId, move, consequences: [] };
8
- const consequences = rules.play(JSON.parse(JSON.stringify(move)));
9
- applyAutomaticMoves(rules, consequences, move => action.consequences.push(move));
8
+ const context = { player: playerId };
9
+ const consequences = rules.play(JSON.parse(JSON.stringify(move)), context);
10
+ applyAutomaticMoves(rules, consequences, move => action.consequences.push(move), context);
10
11
  return action;
11
12
  }
12
13
  export function replayAction(rules, action) {
13
- rules.play(JSON.parse(JSON.stringify(action.move)));
14
- action.consequences.forEach(move => rules.play(JSON.parse(JSON.stringify(move))));
14
+ const context = { player: action.playerId };
15
+ rules.play(JSON.parse(JSON.stringify(action.move)), context);
16
+ action.consequences.forEach(move => rules.play(JSON.parse(JSON.stringify(move)), context));
15
17
  }
16
18
  export function replayActions(rules, actions) {
17
19
  actions.forEach(action => replayAction(rules, action));
@@ -1 +1 @@
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
+ {"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,OAAO,GAAG,EAAE,MAAM,EAAE,QAAkB,EAAE,CAAA;IAC9C,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC,CAAA;IAE1E,mBAAmB,CAAC,KAAK,EAAE,YAAY,EAAE,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAA;IAEzF,OAAO,MAAM,CAAA;AACf,CAAC;AAED,MAAM,UAAU,YAAY,CAAuB,KAAkC,EAAE,MAA8B;IACnH,MAAM,OAAO,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,QAAkB,EAAE,CAAA;IACrD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC,CAAA;IAC5D,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,EAAE,OAAO,CAAC,CAAC,CAAA;AAC5F,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,2 +1,2 @@
1
- import { Rules } from '../Rules';
2
- export declare function applyAutomaticMoves<Game, Move, PlayerId>(rules: Rules<Game, Move, PlayerId>, moves?: Move[], preprocessMove?: (move: Move) => void): void;
1
+ import { PlayMoveContext, Rules } from '../Rules';
2
+ export declare function applyAutomaticMoves<Game, Move, PlayerId>(rules: Rules<Game, Move, PlayerId>, moves?: Move[], preprocessMove?: (move: Move) => void, context?: PlayMoveContext): void;
@@ -1,6 +1,6 @@
1
1
  import { loopWithFuse } from './loops.util';
2
2
  import { hasRandomMove } from './random.util';
3
- export function applyAutomaticMoves(rules, moves = [], preprocessMove) {
3
+ export function applyAutomaticMoves(rules, moves = [], preprocessMove, context) {
4
4
  loopWithFuse(() => {
5
5
  if (moves.length === 0 && rules.getAutomaticMoves) {
6
6
  moves.push(...rules.getAutomaticMoves());
@@ -11,7 +11,7 @@ export function applyAutomaticMoves(rules, moves = [], preprocessMove) {
11
11
  const randomizedMove = hasRandomMove(rules) ? rules.randomize(move) : move;
12
12
  if (preprocessMove)
13
13
  preprocessMove(randomizedMove);
14
- const consequences = rules.play(JSON.parse(JSON.stringify(randomizedMove))) ?? [];
14
+ const consequences = rules.play(JSON.parse(JSON.stringify(randomizedMove)), context) ?? [];
15
15
  moves.unshift(...consequences);
16
16
  return true;
17
17
  }, { errorFn: () => new Error(`Infinite loop detected while applying move consequences: ${JSON.stringify(moves)})`) });
@@ -1 +1 @@
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
+ {"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,EAAE,OAAyB;IAChL,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,EAAE,OAAO,CAAC,IAAI,EAAE,CAAA;QAC1F,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"}
@@ -43,7 +43,7 @@ export declare class Polyhex<T = any> implements PolyhexConfig<T> {
43
43
  * @param location Location to merge the new polyhex in
44
44
  * @param onOverlap Callback function when a non-empty value is erased
45
45
  */
46
- merge(polyhex: (T | undefined)[][], location?: {
46
+ merge(polyhex: Polyhex, location?: {
47
47
  x?: number;
48
48
  y?: number;
49
49
  rotation?: number;
@@ -32,9 +32,13 @@ export class Polyhex {
32
32
  */
33
33
  merge(polyhex, location = {}, onOverlap = () => {
34
34
  }) {
35
- for (let y = 0; y < polyhex.length; y++) {
36
- for (let x = 0; x < polyhex[y].length; x++) {
37
- if (!this.isEmpty(polyhex[y][x])) {
35
+ if (polyhex.system !== this.system) {
36
+ throw new Error('Merging polyhex with different systems is not implemented yet');
37
+ }
38
+ for (let y = polyhex.yMin; y <= polyhex.yMax; y++) {
39
+ for (let x = polyhex.xMin; x <= polyhex.xMax; x++) {
40
+ const value = polyhex.getValue({ x, y });
41
+ if (!this.isEmpty(value)) {
38
42
  const rotatedCoordinates = hexRotate({ x, y }, location.rotation, this.system);
39
43
  const coordinates = hexTranslate(rotatedCoordinates, { x: location.x ?? 0, y: location.y ?? 0 }, this.system);
40
44
  while (coordinates.y < this.yMin) {
@@ -53,7 +57,7 @@ export class Polyhex {
53
57
  if (this.grid[coordinates.y - this.yMin][coordinates.x - this.xMin]) {
54
58
  onOverlap(x, y);
55
59
  }
56
- this.grid[coordinates.y - this.yMin][coordinates.x - this.xMin] = polyhex[y][x];
60
+ this.grid[coordinates.y - this.yMin][coordinates.x - this.xMin] = value;
57
61
  }
58
62
  }
59
63
  }
@@ -1 +1 @@
1
- {"version":3,"file":"polyhex.util.js","sourceRoot":"","sources":["../../src/utils/polyhex.util.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"polyhex.util.js","sourceRoot":"","sources":["../../src/utils/polyhex.util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,aAAa,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AA+B/F;;GAEG;AACH,MAAM,OAAO,OAAO;IAMC;IALnB,MAAM,GAAkB,aAAa,CAAC,KAAK,CAAA;IAC3C,IAAI,GAAW,CAAC,CAAA;IAChB,IAAI,GAAW,CAAC,CAAA;IAChB,OAAO,GAAG,CAAC,KAAsB,EAAE,EAAE,CAAC,KAAK,IAAI,IAAI,CAAA,CAAC,8BAA8B;IAElF,YAAmB,IAAyB,EAAE,MAA+B;QAA1D,SAAI,GAAJ,IAAI,CAAqB;QAC1C,IAAI,CAAC,MAAM,GAAG,MAAM,EAAE,MAAM,IAAI,IAAI,CAAC,MAAM,CAAA;QAC3C,IAAI,CAAC,IAAI,GAAG,MAAM,EAAE,IAAI,IAAI,IAAI,CAAC,IAAI,CAAA;QACrC,IAAI,CAAC,IAAI,GAAG,MAAM,EAAE,IAAI,IAAI,IAAI,CAAC,IAAI,CAAA;QACrC,IAAI,CAAC,OAAO,GAAG,MAAM,EAAE,OAAO,IAAI,IAAI,CAAC,OAAO,CAAA;IAChD,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,GAAG,CAAC,CAAA;IAC1E,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,GAAG,CAAC,CAAA;IACzC,CAAC;IAED,QAAQ,CAAC,WAA0B;QACjC,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAA;IAC1E,CAAC;IAED;;;;;OAKG;IACH,KAAK,CACH,OAAgB,EAChB,WAA0D,EAAE,EAC5D,YAA4C,GAAG,EAAE;IACjD,CAAC;QACD,IAAI,OAAO,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CAAC,+DAA+D,CAAC,CAAA;QAClF,CAAC;QACD,KAAK,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC;YAClD,KAAK,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC;gBAClD,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;gBACxC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;oBACzB,MAAM,kBAAkB,GAAG,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;oBAC9E,MAAM,WAAW,GAAG,YAAY,CAAC,kBAAkB,EAAE,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;oBAC7G,OAAO,WAAW,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;wBACjC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;wBACrB,IAAI,CAAC,IAAI,EAAE,CAAA;oBACb,CAAC;oBACD,OAAO,WAAW,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;wBACjC,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;4BAC9B,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;wBAC1B,CAAC;wBACD,IAAI,CAAC,IAAI,EAAE,CAAA;oBACb,CAAC;oBACD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;wBAC1C,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAA;oBAC3C,CAAC;oBACD,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;wBACpE,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;oBACjB,CAAC;oBACD,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,KAAK,CAAA;gBACzE,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,WAAW,CAAC,GAAkB,EAAE,YAAY,CAAC,KAAoB,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;QACxF,IAAI,QAAQ,GAAG,CAAC,CAAA;QAChB,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAA;QACjE,OAAO,QAAQ,GAAG,WAAW,EAAE,CAAC;YAC9B,MAAM,kBAAkB,GAAG,qBAAqB,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;YAC5E,IAAI,kBAAkB,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBACpE,OAAO,QAAQ,CAAA;YACjB,CAAC;iBAAM,CAAC;gBACN,QAAQ,EAAE,CAAA;YACZ,CAAC;QACH,CAAC;QACD,OAAO,QAAQ,CAAA;IACjB,CAAC;CACF"}
package/package.json CHANGED
@@ -1,38 +1,40 @@
1
- {
2
- "name": "@gamepark/rules-api",
3
- "version": "7.1.0",
4
- "description": "API to implement the rules of a board game",
5
- "type": "module",
6
- "main": "dist/index.js",
7
- "types": "dist/index.d.ts",
8
- "files": [
9
- "dist"
10
- ],
11
- "scripts": {
12
- "build": "tsc",
13
- "prepack": "yarn build"
14
- },
15
- "keywords": [
16
- "Game Park",
17
- "Board games",
18
- "Rules"
19
- ],
20
- "author": "Romain Fromi <romain@game-park.com> (https://game-park.com/)",
21
- "license": "ISC",
22
- "publishConfig": {
23
- "access": "public"
24
- },
25
- "devDependencies": {
26
- "@types/jest": "^30.0.0",
27
- "@types/node": "^24.5.1",
28
- "es-toolkit": "^1.39.10",
29
- "i18next": "^25.5.2",
30
- "jest": "^30.1.3",
31
- "ts-jest": "^29.4.2",
32
- "typescript": "^5.9.2"
33
- },
34
- "peerDependencies": {
35
- "es-toolkit": "^1.39.10"
36
- },
37
- "packageManager": "yarn@4.9.4"
38
- }
1
+ {
2
+ "name": "@gamepark/rules-api",
3
+ "version": "7.4.0",
4
+ "description": "API to implement the rules of a board game",
5
+ "type": "module",
6
+ "main": "dist/index.js",
7
+ "types": "dist/index.d.ts",
8
+ "files": [
9
+ "dist"
10
+ ],
11
+ "scripts": {
12
+ "build": "tsc",
13
+ "prepack": "yarn build",
14
+ "test": "vitest",
15
+ "test:watch": "vitest --watch",
16
+ "test:coverage": "vitest --coverage",
17
+ "publish": "npm version ${0:-patch} && npm publish && git push && git push --tags"
18
+ },
19
+ "keywords": [
20
+ "Game Park",
21
+ "Board games",
22
+ "Rules"
23
+ ],
24
+ "author": "Romain Fromi <romain@game-park.com> (https://game-park.com/)",
25
+ "license": "ISC",
26
+ "publishConfig": {
27
+ "access": "public"
28
+ },
29
+ "devDependencies": {
30
+ "@types/node": "^24.5.1",
31
+ "es-toolkit": "^1.39.10",
32
+ "i18next": "^25.5.2",
33
+ "typescript": "^5.9.2",
34
+ "vitest": "^4.0.10"
35
+ },
36
+ "peerDependencies": {
37
+ "es-toolkit": "^1.39.10"
38
+ },
39
+ "packageManager": "yarn@4.9.4"
40
+ }