@gamepark/rules-api 6.23.0 → 6.24.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 (161) hide show
  1. package/dist/Action.d.ts +0 -19
  2. package/dist/Action.js +0 -59
  3. package/dist/Action.js.map +1 -1
  4. package/dist/Bot.d.ts +12 -0
  5. package/dist/Bot.js +51 -0
  6. package/dist/Bot.js.map +1 -0
  7. package/dist/Competitive.d.ts +0 -1
  8. package/dist/Competitive.js +1 -31
  9. package/dist/Competitive.js.map +1 -1
  10. package/dist/Eliminations.js.map +1 -1
  11. package/dist/GameSetup.d.ts +3 -0
  12. package/dist/HiddenInformation.d.ts +5 -0
  13. package/dist/HiddenInformation.js +9 -0
  14. package/dist/HiddenInformation.js.map +1 -0
  15. package/dist/LocalMovePreview.js.map +1 -1
  16. package/dist/RandomMove.d.ts +0 -3
  17. package/dist/RandomMove.js +0 -12
  18. package/dist/RandomMove.js.map +1 -1
  19. package/dist/Rules.d.ts +5 -0
  20. package/dist/SecretInformation.d.ts +9 -0
  21. package/dist/SecretInformation.js +9 -0
  22. package/dist/SecretInformation.js.map +1 -0
  23. package/dist/TimeLimit.d.ts +0 -4
  24. package/dist/TimeLimit.js +1 -6
  25. package/dist/TimeLimit.js.map +1 -1
  26. package/dist/Undo.js.map +1 -1
  27. package/dist/UnpredictableMove.d.ts +5 -4
  28. package/dist/UnpredictableMove.js.map +1 -1
  29. package/dist/index.d.ts +3 -8
  30. package/dist/index.js +3 -8
  31. package/dist/index.js.map +1 -1
  32. package/dist/material/HiddenMaterialRules.d.ts +3 -3
  33. package/dist/material/HiddenMaterialRules.js +7 -7
  34. package/dist/material/HiddenMaterialRules.js.map +1 -1
  35. package/dist/material/MaterialGame.d.ts +3 -5
  36. package/dist/material/MaterialGameSetup.d.ts +3 -1
  37. package/dist/material/MaterialGameSetup.js +14 -6
  38. package/dist/material/MaterialGameSetup.js.map +1 -1
  39. package/dist/material/MaterialRules.d.ts +7 -7
  40. package/dist/material/MaterialRules.js +13 -10
  41. package/dist/material/MaterialRules.js.map +1 -1
  42. package/dist/material/SecretMaterialRules.d.ts +1 -1
  43. package/dist/material/SecretMaterialRules.js.map +1 -1
  44. package/dist/material/index.d.ts +1 -0
  45. package/dist/material/index.js +1 -0
  46. package/dist/material/index.js.map +1 -1
  47. package/dist/material/items/Material.d.ts +9 -14
  48. package/dist/material/items/Material.js +66 -93
  49. package/dist/material/items/Material.js.map +1 -1
  50. package/dist/material/items/MaterialDeck.d.ts +9 -0
  51. package/dist/material/items/MaterialDeck.js +43 -0
  52. package/dist/material/items/MaterialDeck.js.map +1 -0
  53. package/dist/material/items/MaterialMutator.d.ts +3 -5
  54. package/dist/material/items/MaterialMutator.js +11 -23
  55. package/dist/material/items/MaterialMutator.js.map +1 -1
  56. package/dist/material/items/index.d.ts +1 -0
  57. package/dist/material/items/index.js +1 -0
  58. package/dist/material/items/index.js.map +1 -1
  59. package/dist/material/location/Location.d.ts +1 -0
  60. package/dist/material/location/Location.js +12 -0
  61. package/dist/material/location/Location.js.map +1 -1
  62. package/dist/material/location/strategy/FillGapStrategy.js.map +1 -1
  63. package/dist/material/location/strategy/PositiveSequenceStrategy.js.map +1 -1
  64. package/dist/material/memory/GameMemory.js.map +1 -1
  65. package/dist/material/memory/PlayerMemory.js.map +1 -1
  66. package/dist/material/moves/CustomMove.js.map +1 -1
  67. package/dist/material/moves/MaterialMoveBuilder.d.ts +16 -0
  68. package/dist/material/moves/MaterialMoveBuilder.js +45 -0
  69. package/dist/material/moves/MaterialMoveBuilder.js.map +1 -0
  70. package/dist/material/moves/MoveKind.js.map +1 -1
  71. package/dist/material/moves/index.d.ts +1 -0
  72. package/dist/material/moves/index.js +1 -0
  73. package/dist/material/moves/index.js.map +1 -1
  74. package/dist/material/moves/items/CreateItem.js.map +1 -1
  75. package/dist/material/moves/items/CreateItemsAtOnce.js.map +1 -1
  76. package/dist/material/moves/items/DeleteItem.js.map +1 -1
  77. package/dist/material/moves/items/DeleteItemsAtOnce.js.map +1 -1
  78. package/dist/material/moves/items/ItemMoveType.js.map +1 -1
  79. package/dist/material/moves/items/MoveItem.js.map +1 -1
  80. package/dist/material/moves/items/MoveItemsAtOnce.d.ts +1 -1
  81. package/dist/material/moves/items/MoveItemsAtOnce.js +2 -2
  82. package/dist/material/moves/items/MoveItemsAtOnce.js.map +1 -1
  83. package/dist/material/moves/items/RollItem.js.map +1 -1
  84. package/dist/material/moves/items/SelectItem.js.map +1 -1
  85. package/dist/material/moves/items/Shuffle.js.map +1 -1
  86. package/dist/material/moves/items/index.d.ts +0 -1
  87. package/dist/material/moves/items/index.js +0 -1
  88. package/dist/material/moves/items/index.js.map +1 -1
  89. package/dist/material/moves/local/CloseTutorialPopup.js.map +1 -1
  90. package/dist/material/moves/local/DisplayHelp.d.ts +0 -4
  91. package/dist/material/moves/local/DisplayHelp.js +1 -20
  92. package/dist/material/moves/local/DisplayHelp.js.map +1 -1
  93. package/dist/material/moves/local/DropItem.d.ts +0 -1
  94. package/dist/material/moves/local/DropItem.js +0 -7
  95. package/dist/material/moves/local/DropItem.js.map +1 -1
  96. package/dist/material/moves/local/LocalMove.js.map +1 -1
  97. package/dist/material/moves/local/SetTutorialStep.js.map +1 -1
  98. package/dist/material/rules/MaterialRulesPart.d.ts +2 -3
  99. package/dist/material/rules/MaterialRulesPart.js +7 -7
  100. package/dist/material/rules/MaterialRulesPart.js.map +1 -1
  101. package/dist/material/rules/PlayerTurnRule.js.map +1 -1
  102. package/dist/material/rules/SimultaneousRule.d.ts +5 -3
  103. package/dist/material/rules/SimultaneousRule.js +8 -8
  104. package/dist/material/rules/SimultaneousRule.js.map +1 -1
  105. package/dist/material/rules/index.d.ts +0 -1
  106. package/dist/material/rules/index.js +0 -1
  107. package/dist/material/rules/index.js.map +1 -1
  108. package/dist/material/tutorial/TutorialState.d.ts +7 -0
  109. package/dist/material/tutorial/TutorialState.js +3 -0
  110. package/dist/material/tutorial/TutorialState.js.map +1 -0
  111. package/dist/material/tutorial/index.d.ts +1 -0
  112. package/dist/material/tutorial/index.js +18 -0
  113. package/dist/material/tutorial/index.js.map +1 -0
  114. package/dist/setup/DefaultGameSetup.d.ts +7 -0
  115. package/dist/setup/DefaultGameSetup.js +15 -0
  116. package/dist/setup/DefaultGameSetup.js.map +1 -0
  117. package/dist/setup/GameSetup.d.ts +3 -0
  118. package/dist/setup/GameSetup.js +3 -0
  119. package/dist/setup/GameSetup.js.map +1 -0
  120. package/dist/setup/GameSetupCreator.d.ts +4 -0
  121. package/dist/setup/GameSetupCreator.js +3 -0
  122. package/dist/setup/GameSetupCreator.js.map +1 -0
  123. package/dist/setup/index.d.ts +2 -0
  124. package/dist/setup/index.js +19 -0
  125. package/dist/setup/index.js.map +1 -0
  126. package/dist/utils/action-view.util.d.ts +17 -0
  127. package/dist/utils/action-view.util.js +48 -0
  128. package/dist/utils/action-view.util.js.map +1 -0
  129. package/dist/utils/action.util.d.ts +5 -0
  130. package/dist/utils/action.util.js +25 -0
  131. package/dist/utils/action.util.js.map +1 -0
  132. package/dist/utils/automatic-moves.util.d.ts +2 -0
  133. package/dist/utils/automatic-moves.util.js +25 -0
  134. package/dist/utils/automatic-moves.util.js.map +1 -0
  135. package/dist/utils/coordinates.util.d.ts +5 -0
  136. package/dist/utils/coordinates.util.js +16 -0
  137. package/dist/utils/coordinates.util.js.map +1 -0
  138. package/dist/utils/enum.util.d.ts +7 -0
  139. package/dist/utils/enum.util.js +20 -0
  140. package/dist/utils/enum.util.js.map +1 -0
  141. package/dist/utils/game-view.util.d.ts +2 -0
  142. package/dist/utils/game-view.util.js +18 -0
  143. package/dist/utils/game-view.util.js.map +1 -0
  144. package/dist/utils/grid.squares.util.d.ts +1 -1
  145. package/dist/utils/grid.squares.util.js +6 -5
  146. package/dist/utils/grid.squares.util.js.map +1 -1
  147. package/dist/utils/grid.util.js.map +1 -1
  148. package/dist/utils/index.d.ts +8 -2
  149. package/dist/utils/index.js +8 -2
  150. package/dist/utils/index.js.map +1 -1
  151. package/dist/utils/listing.util.js.map +1 -1
  152. package/dist/utils/loops.util.d.ts +4 -0
  153. package/dist/utils/loops.util.js +15 -0
  154. package/dist/utils/loops.util.js.map +1 -0
  155. package/dist/utils/random.util.d.ts +4 -0
  156. package/dist/utils/random.util.js +18 -0
  157. package/dist/utils/random.util.js.map +1 -0
  158. package/dist/utils/rank.util.d.ts +2 -0
  159. package/dist/utils/rank.util.js +35 -0
  160. package/dist/utils/rank.util.js.map +1 -0
  161. package/package.json +1 -1
package/dist/Action.d.ts CHANGED
@@ -1,25 +1,6 @@
1
- import { Rules } from './Rules';
2
- import { IncompleteInformation } from './IncompleteInformation';
3
1
  export type Action<Move = any, PlayerId = any> = {
4
2
  id?: string;
5
3
  playerId: PlayerId;
6
4
  move: Move;
7
5
  consequences: Move[];
8
6
  };
9
- export declare function playMove<Game, Move, PlayerId>(rules: Rules<Game, Move, PlayerId>, move: Move): void;
10
- export declare function playAction<Game, Move, PlayerId>(rules: Rules<Game, Move, PlayerId>, move: Move, playerId: PlayerId): Action<Move, PlayerId>;
11
- export type ActionWithViews<Move = any, MoveView = Move, PlayerId = any> = {
12
- action: Action<Move, PlayerId>;
13
- views: ActionView<MoveView, PlayerId>[];
14
- };
15
- export type ActionView<MoveView = any, PlayerId = any> = {
16
- recipient?: PlayerId;
17
- action: Action<MoveView, PlayerId>;
18
- };
19
- export declare function playActionWithViews<Game, View, Move, MoveView, PlayerId>(rules: Rules<Game, Move, PlayerId> & IncompleteInformation<View, Move, MoveView>, move: Move, playerId: PlayerId, recipients: PlayerId[], id?: string): ActionWithViews<Move, MoveView, PlayerId>;
20
- export declare function replayAction<Game, Move, PlayerId>(rules: Rules<Game, Move, PlayerId>, action: Action<Move, PlayerId>): void;
21
- export declare function replayActions<Game, Move, PlayerId>(rules: Rules<Game, Move, PlayerId>, actions: Action<Move, PlayerId>[]): void;
22
- export type SecretAction<Move = any, MoveView = Move, PlayerId = any> = Action<Move, PlayerId> & {
23
- secrets: ActionView<MoveView, PlayerId>[];
24
- };
25
- export declare function isSecretAction(action: Action): action is SecretAction;
package/dist/Action.js CHANGED
@@ -1,62 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isSecretAction = exports.replayActions = exports.replayAction = exports.playActionWithViews = exports.playAction = exports.playMove = void 0;
4
- var RandomMove_1 = require("./RandomMove");
5
- var ApplyAutomaticMoves_1 = require("./ApplyAutomaticMoves");
6
- var IncompleteInformation_1 = require("./IncompleteInformation");
7
- function playMove(rules, move) {
8
- if ((0, RandomMove_1.hasRandomMove)(rules)) {
9
- move = rules.randomize(move);
10
- }
11
- var consequences = rules.play(JSON.parse(JSON.stringify(move)));
12
- (0, ApplyAutomaticMoves_1.applyAutomaticMoves)(rules, consequences);
13
- }
14
- exports.playMove = playMove;
15
- function playAction(rules, move, playerId) {
16
- if ((0, RandomMove_1.hasRandomMove)(rules)) {
17
- move = rules.randomize(move);
18
- }
19
- var action = { playerId: playerId, move: move, consequences: [] };
20
- var consequences = rules.play(JSON.parse(JSON.stringify(move)));
21
- (0, ApplyAutomaticMoves_1.applyAutomaticMoves)(rules, consequences, function (move) { return action.consequences.push(move); });
22
- return action;
23
- }
24
- exports.playAction = playAction;
25
- function playActionWithViews(rules, move, playerId, recipients, id) {
26
- if ((0, RandomMove_1.hasRandomMove)(rules)) {
27
- move = rules.randomize(move);
28
- }
29
- var actionWithView = {
30
- action: { id: id, playerId: playerId, move: move, consequences: [] },
31
- views: []
32
- };
33
- for (var _i = 0, recipients_1 = recipients; _i < recipients_1.length; _i++) {
34
- var recipient = recipients_1[_i];
35
- actionWithView.views.push({ recipient: recipient, action: { id: id, playerId: playerId, move: (0, IncompleteInformation_1.getMoveView)(rules, move, recipient), consequences: [] } });
36
- }
37
- actionWithView.views.push({ action: { id: id, playerId: playerId, move: (0, IncompleteInformation_1.getMoveView)(rules, move), consequences: [] } });
38
- var consequences = rules.play(JSON.parse(JSON.stringify(move)));
39
- (0, ApplyAutomaticMoves_1.applyAutomaticMoves)(rules, consequences, function (move) {
40
- actionWithView.action.consequences.push(move);
41
- for (var _i = 0, _a = actionWithView.views; _i < _a.length; _i++) {
42
- var view = _a[_i];
43
- view.action.consequences.push((0, IncompleteInformation_1.getMoveView)(rules, move, view.recipient));
44
- }
45
- });
46
- return actionWithView;
47
- }
48
- exports.playActionWithViews = playActionWithViews;
49
- function replayAction(rules, action) {
50
- rules.play(JSON.parse(JSON.stringify(action.move)));
51
- action.consequences.forEach(function (move) { return rules.play(JSON.parse(JSON.stringify(move))); });
52
- }
53
- exports.replayAction = replayAction;
54
- function replayActions(rules, actions) {
55
- actions.forEach(function (action) { return replayAction(rules, action); });
56
- }
57
- exports.replayActions = replayActions;
58
- function isSecretAction(action) {
59
- return Array.isArray(action.secrets);
60
- }
61
- exports.isSecretAction = isSecretAction;
62
3
  //# sourceMappingURL=Action.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Action.js","sourceRoot":"","sources":["../src/Action.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Action.js","sourceRoot":"","sources":["../src/Action.ts"],"names":[],"mappings":""}
package/dist/Bot.d.ts ADDED
@@ -0,0 +1,12 @@
1
+ import { RulesCreator } from './Rules';
2
+ export declare abstract class Bot<Game = any, Move = any, Player = any> {
3
+ protected player: Player;
4
+ protected constructor(player: Player);
5
+ abstract run(game: Game): Move[];
6
+ }
7
+ export declare class RandomBot<Game = any, Move = any, Player = any> extends Bot {
8
+ private Rules;
9
+ constructor(Rules: RulesCreator<Game, Move, Player>, player: Player);
10
+ run(game: Game): Move[];
11
+ protected getLegalMoves(game: Game): Move[];
12
+ }
package/dist/Bot.js ADDED
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
8
+ };
9
+ return function (d, b) {
10
+ if (typeof b !== "function" && b !== null)
11
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
+ extendStatics(d, b);
13
+ function __() { this.constructor = d; }
14
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
+ };
16
+ })();
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.RandomBot = exports.Bot = void 0;
19
+ var Bot = (function () {
20
+ function Bot(player) {
21
+ this.player = player;
22
+ }
23
+ return Bot;
24
+ }());
25
+ exports.Bot = Bot;
26
+ var RandomBot = (function (_super) {
27
+ __extends(RandomBot, _super);
28
+ function RandomBot(Rules, player) {
29
+ var _this = _super.call(this, player) || this;
30
+ _this.Rules = Rules;
31
+ return _this;
32
+ }
33
+ RandomBot.prototype.run = function (game) {
34
+ var moves = this.getLegalMoves(game);
35
+ switch (moves.length) {
36
+ case 0:
37
+ console.warn('Random bot requires at least one legal move from getLegalMoves to run');
38
+ return [];
39
+ case 1:
40
+ return moves;
41
+ default:
42
+ return [moves[Math.floor(Math.random() * moves.length)]];
43
+ }
44
+ };
45
+ RandomBot.prototype.getLegalMoves = function (game) {
46
+ return new this.Rules(game).getLegalMoves(this.player);
47
+ };
48
+ return RandomBot;
49
+ }(Bot));
50
+ exports.RandomBot = RandomBot;
51
+ //# sourceMappingURL=Bot.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Bot.js","sourceRoot":"","sources":["../src/Bot.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAOA;IACE,aAAgC,MAAc;QAAd,WAAM,GAAN,MAAM,CAAQ;IAC9C,CAAC;IAQH,UAAC;AAAD,CAAC,AAVD,IAUC;AAVqB,kBAAG;AAgBzB;IAAqE,6BAAG;IACtE,mBAAoB,KAAuC,EAAE,MAAc;QACzE,YAAA,MAAK,YAAC,MAAM,CAAC,SAAA;QADK,WAAK,GAAL,KAAK,CAAkC;;IAE3D,CAAC;IAED,uBAAG,GAAH,UAAI,IAAU;QACZ,IAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAA;QACtC,QAAQ,KAAK,CAAC,MAAM,EAAE,CAAC;YACrB,KAAK,CAAC;gBACJ,OAAO,CAAC,IAAI,CAAC,uEAAuE,CAAC,CAAA;gBACrF,OAAO,EAAE,CAAA;YACX,KAAK,CAAC;gBACJ,OAAO,KAAK,CAAA;YACd;gBACE,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;QAC5D,CAAC;IACH,CAAC;IASS,iCAAa,GAAvB,UAAwB,IAAU;QAChC,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IACxD,CAAC;IACH,gBAAC;AAAD,CAAC,AA5BD,CAAqE,GAAG,GA4BvE;AA5BY,8BAAS"}
@@ -10,4 +10,3 @@ export interface CompetitiveRank<Game = any, Move = any, PlayerId = any> extends
10
10
  export declare function isCompetitive<Game, Move, PlayerId>(rules: Rules<any, any, PlayerId>): rules is Competitive<Game, Move, PlayerId>;
11
11
  export declare function isCompetitiveScore<Game, Move, PlayerId>(rules: Rules<any, any, PlayerId>): rules is CompetitiveScore<Game, Move, PlayerId>;
12
12
  export declare function isCompetitiveRank<Game, Move, PlayerId>(rules: Rules<any, any, PlayerId>): rules is CompetitiveRank<Game, Move, PlayerId>;
13
- export declare const rankPlayers: <PlayerId = number>(rules: Rules<any, any, PlayerId>, playerA: PlayerId, playerB: PlayerId) => number;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.rankPlayers = exports.isCompetitiveRank = exports.isCompetitiveScore = exports.isCompetitive = void 0;
3
+ exports.isCompetitiveRank = exports.isCompetitiveScore = exports.isCompetitive = void 0;
4
4
  function isCompetitive(rules) {
5
5
  return isCompetitiveScore(rules) || isCompetitiveRank(rules);
6
6
  }
@@ -13,34 +13,4 @@ function isCompetitiveRank(rules) {
13
13
  return typeof rules.rankPlayers === 'function';
14
14
  }
15
15
  exports.isCompetitiveRank = isCompetitiveRank;
16
- var rankPlayers = function (rules, playerA, playerB) {
17
- if (isCompetitiveRank(rules)) {
18
- return rules.rankPlayers(playerA, playerB);
19
- }
20
- if (isCompetitiveScore(rules)) {
21
- var scoreA = rules.getScore(playerA);
22
- var scoreB = rules.getScore(playerB);
23
- if (scoreA !== scoreB) {
24
- return scoreB - scoreA;
25
- }
26
- if (rules.getTieBreaker) {
27
- for (var tieBreaker = 1; tieBreaker <= 10; tieBreaker++) {
28
- var tieBreakerA = rules.getTieBreaker(tieBreaker, playerA);
29
- var tieBreakerB = rules.getTieBreaker(tieBreaker, playerB);
30
- if (tieBreakerA === undefined) {
31
- return tieBreakerB === undefined ? 0 : Infinity;
32
- }
33
- else if (tieBreakerB === undefined) {
34
- return -Infinity;
35
- }
36
- else if (tieBreakerA !== tieBreakerB) {
37
- return tieBreakerB - tieBreakerA;
38
- }
39
- }
40
- console.error('getTieBreaker must return "undefined" after the last tie breaker is still a tie!');
41
- }
42
- }
43
- return 0;
44
- };
45
- exports.rankPlayers = rankPlayers;
46
16
  //# sourceMappingURL=Competitive.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Competitive.js","sourceRoot":"","sources":["../src/Competitive.ts"],"names":[],"mappings":";;;AAcA,SAAgB,aAAa,CAAuB,KAAgC;IAClF,OAAO,kBAAkB,CAAC,KAAK,CAAC,IAAI,iBAAiB,CAAC,KAAK,CAAC,CAAA;AAC9D,CAAC;AAFD,sCAEC;AAED,SAAgB,kBAAkB,CAAuB,KAAgC;IACvF,OAAO,OAAQ,KAAgD,CAAC,QAAQ,KAAK,UAAU,CAAA;AACzF,CAAC;AAFD,gDAEC;AAED,SAAgB,iBAAiB,CAAuB,KAAgC;IACtF,OAAO,OAAQ,KAA+C,CAAC,WAAW,KAAK,UAAU,CAAA;AAC3F,CAAC;AAFD,8CAEC;AAEM,IAAM,WAAW,GAAG,UAAoB,KAAgC,EAAE,OAAiB,EAAE,OAAiB;IACnH,IAAI,iBAAiB,CAAC,KAAK,CAAC,EAAE,CAAC;QAC7B,OAAO,KAAK,CAAC,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;IAC5C,CAAC;IACD,IAAI,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC;QAC9B,IAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;QACtC,IAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;QACtC,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;YACtB,OAAO,MAAM,GAAG,MAAM,CAAA;QACxB,CAAC;QACD,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;YACxB,KAAK,IAAI,UAAU,GAAG,CAAC,EAAE,UAAU,IAAI,EAAE,EAAE,UAAU,EAAE,EAAE,CAAC;gBACxD,IAAM,WAAW,GAAG,KAAK,CAAC,aAAa,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;gBAC5D,IAAM,WAAW,GAAG,KAAK,CAAC,aAAa,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;gBAC5D,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;oBAC9B,OAAO,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAA;gBACjD,CAAC;qBAAM,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;oBACrC,OAAO,CAAC,QAAQ,CAAA;gBAClB,CAAC;qBAAM,IAAI,WAAW,KAAK,WAAW,EAAE,CAAC;oBACvC,OAAO,WAAW,GAAG,WAAW,CAAA;gBAClC,CAAC;YACH,CAAC;YACD,OAAO,CAAC,KAAK,CAAC,kFAAkF,CAAC,CAAA;QACnG,CAAC;IACH,CAAC;IACD,OAAO,CAAC,CAAA;AACV,CAAC,CAAA;AA1BY,QAAA,WAAW,eA0BvB"}
1
+ {"version":3,"file":"Competitive.js","sourceRoot":"","sources":["../src/Competitive.ts"],"names":[],"mappings":";;;AAiDA,SAAgB,aAAa,CAAuB,KAAgC;IAClF,OAAO,kBAAkB,CAAC,KAAK,CAAC,IAAI,iBAAiB,CAAC,KAAK,CAAC,CAAA;AAC9D,CAAC;AAFD,sCAEC;AAOD,SAAgB,kBAAkB,CAAuB,KAAgC;IACvF,OAAO,OAAQ,KAAgD,CAAC,QAAQ,KAAK,UAAU,CAAA;AACzF,CAAC;AAFD,gDAEC;AAOD,SAAgB,iBAAiB,CAAuB,KAAgC;IACtF,OAAO,OAAQ,KAA+C,CAAC,WAAW,KAAK,UAAU,CAAA;AAC3F,CAAC;AAFD,8CAEC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Eliminations.js","sourceRoot":"","sources":["../src/Eliminations.ts"],"names":[],"mappings":";;;AAMA,SAAgB,eAAe,CAAiB,KAAa;IAC3D,IAAM,IAAI,GAAG,KAAqC,CAAA;IAClD,OAAO,OAAO,IAAI,CAAC,YAAY,KAAK,UAAU,CAAA;AAChD,CAAC;AAHD,0CAGC"}
1
+ {"version":3,"file":"Eliminations.js","sourceRoot":"","sources":["../src/Eliminations.ts"],"names":[],"mappings":";;;AAuBA,SAAgB,eAAe,CAAiB,KAAa;IAC3D,IAAM,IAAI,GAAG,KAAqC,CAAA;IAClD,OAAO,OAAO,IAAI,CAAC,YAAY,KAAK,UAAU,CAAA;AAChD,CAAC;AAHD,0CAGC"}
@@ -1,3 +1,6 @@
1
1
  export interface GameSetup<Game = any, Options = any> {
2
2
  setup(options: Options): Game;
3
3
  }
4
+ export interface GameSetupCreator<Game = any, Options = any> {
5
+ new (): GameSetup<Game, Options>;
6
+ }
@@ -0,0 +1,5 @@
1
+ export interface HiddenInformation<GameView = any, Move = any, MoveView = any> {
2
+ getView(): GameView;
3
+ getMoveView(move: Move): MoveView;
4
+ }
5
+ export declare function hasHiddenInformation<GameView = any, Move = any, MoveView = any>(rules: Object): rules is HiddenInformation<GameView, Move, MoveView>;
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.hasHiddenInformation = void 0;
4
+ function hasHiddenInformation(rules) {
5
+ var test = rules;
6
+ return typeof test.getView === 'function' && typeof test.getMoveView === 'function';
7
+ }
8
+ exports.hasHiddenInformation = hasHiddenInformation;
9
+ //# sourceMappingURL=HiddenInformation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HiddenInformation.js","sourceRoot":"","sources":["../src/HiddenInformation.ts"],"names":[],"mappings":";;;AA4BA,SAAgB,oBAAoB,CAA6C,KAAa;IAC5F,IAAM,IAAI,GAAG,KAAoD,CAAA;IACjE,OAAO,OAAO,IAAI,CAAC,OAAO,KAAK,UAAU,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,UAAU,CAAA;AACrF,CAAC;AAHD,oDAGC"}
@@ -1 +1 @@
1
- {"version":3,"file":"LocalMovePreview.js","sourceRoot":"","sources":["../src/LocalMovePreview.ts"],"names":[],"mappings":";;;AAIA,SAAgB,mBAAmB,CAAa,KAAa;IAC3D,OAAO,OAAQ,KAAgC,CAAC,WAAW,KAAK,UAAU,CAAA;AAC5E,CAAC;AAFD,kDAEC"}
1
+ {"version":3,"file":"LocalMovePreview.js","sourceRoot":"","sources":["../src/LocalMovePreview.ts"],"names":[],"mappings":";;;AAkBA,SAAgB,mBAAmB,CAAa,KAAa;IAC3D,OAAO,OAAQ,KAAgC,CAAC,WAAW,KAAK,UAAU,CAAA;AAC5E,CAAC;AAFD,kDAEC"}
@@ -1,7 +1,4 @@
1
- import { Rules } from './Rules';
2
1
  export interface RandomMove<Move = any, RandomizedMove = any> {
3
2
  randomize(move: Move): Move & RandomizedMove;
4
3
  play(move: Move & RandomizedMove): Move[];
5
4
  }
6
- export declare function hasRandomMove<Game, Move, RandomizedMove>(rules: Rules<Game, Move>): rules is Rules<Game, Move> & RandomMove<Move, RandomizedMove>;
7
- export declare function randomizeMoves<Game, Move, RandomizedMove = Move>(rules: Rules<Game, Move>, moves: Move[]): (Move & RandomizedMove)[];
@@ -1,15 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.randomizeMoves = exports.hasRandomMove = void 0;
4
- function hasRandomMove(rules) {
5
- var test = rules;
6
- return typeof test.randomize === "function";
7
- }
8
- exports.hasRandomMove = hasRandomMove;
9
- function randomizeMoves(rules, moves) {
10
- return hasRandomMove(rules)
11
- ? moves.map(function (move) { return rules.randomize(move); })
12
- : moves;
13
- }
14
- exports.randomizeMoves = randomizeMoves;
15
3
  //# sourceMappingURL=RandomMove.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RandomMove.js","sourceRoot":"","sources":["../src/RandomMove.ts"],"names":[],"mappings":";;;AAQA,SAAgB,aAAa,CAC3B,KAAwB;IAExB,IAAM,IAAI,GAAG,KAA6D,CAAA;IAC1E,OAAO,OAAO,IAAI,CAAC,SAAS,KAAK,UAAU,CAAA;AAC7C,CAAC;AALD,sCAKC;AAED,SAAgB,cAAc,CAC5B,KAAwB,EACxB,KAAa;IAEb,OAAO,aAAa,CAA6B,KAAK,CAAC;QACrD,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,UAAC,IAAI,IAAK,OAAA,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,EAArB,CAAqB,CAAC;QAC5C,CAAC,CAAE,KAAmC,CAAA;AAC1C,CAAC;AAPD,wCAOC"}
1
+ {"version":3,"file":"RandomMove.js","sourceRoot":"","sources":["../src/RandomMove.ts"],"names":[],"mappings":""}
package/dist/Rules.d.ts CHANGED
@@ -13,6 +13,11 @@ export declare abstract class Rules<Game = any, Move = any, PlayerId = any> {
13
13
  isOver(playerIds?: PlayerId[]): boolean;
14
14
  isUnpredictableMove?(move: Move, player: PlayerId): boolean;
15
15
  }
16
+ export interface RulesCreator<Game = any, Move = any, Player = number> {
17
+ new (state: Game, client?: {
18
+ player?: Player;
19
+ }): Rules<Game, Move, Player>;
20
+ }
16
21
  export type PlayMoveContext = {
17
22
  local?: boolean;
18
23
  };
@@ -0,0 +1,9 @@
1
+ import { HiddenInformation } from './HiddenInformation';
2
+ export interface SecretInformation<GameView = any, Move = any, MoveView = any, PlayerId = any> extends HiddenInformation<GameView, Move, MoveView> {
3
+ getView(): GameView;
4
+ getMoveView(move: Move): MoveView;
5
+ getPlayerView(playerId: PlayerId): GameView;
6
+ getPlayerMoveView?(move: Move, playerId: PlayerId): MoveView;
7
+ keepMoveSecret?(move: Move, playerId: PlayerId): boolean;
8
+ }
9
+ export declare function hasSecretInformation<GameView = any, Move = any, MoveView = any, PlayerId = any>(rules: Object): rules is SecretInformation<GameView, Move, MoveView, PlayerId>;
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.hasSecretInformation = void 0;
4
+ function hasSecretInformation(rules) {
5
+ var test = rules;
6
+ return typeof test.getPlayerView === 'function';
7
+ }
8
+ exports.hasSecretInformation = hasSecretInformation;
9
+ //# sourceMappingURL=SecretInformation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SecretInformation.js","sourceRoot":"","sources":["../src/SecretInformation.ts"],"names":[],"mappings":";;;AAqDA,SAAgB,oBAAoB,CAA6D,KAAa;IAC5G,IAAM,IAAI,GAAG,KAA8D,CAAA;IAC3E,OAAO,OAAO,IAAI,CAAC,aAAa,KAAK,UAAU,CAAA;AACjD,CAAC;AAHD,oDAGC"}
@@ -4,7 +4,3 @@ export interface TimeLimit<Game, Move = string, PlayerId = number> extends Rules
4
4
  startingTime?(playerId: PlayerId): number;
5
5
  }
6
6
  export declare function hasTimeLimit<Game, Move, PlayerId>(rules: Rules<Game, Move, PlayerId>): rules is TimeLimit<Game, Move, PlayerId>;
7
- export declare enum GameSpeed {
8
- Disabled = "Disabled",
9
- RealTime = "RealTime"
10
- }
package/dist/TimeLimit.js CHANGED
@@ -1,13 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.GameSpeed = exports.hasTimeLimit = void 0;
3
+ exports.hasTimeLimit = void 0;
4
4
  function hasTimeLimit(rules) {
5
5
  return typeof rules.giveTime === 'function';
6
6
  }
7
7
  exports.hasTimeLimit = hasTimeLimit;
8
- var GameSpeed;
9
- (function (GameSpeed) {
10
- GameSpeed["Disabled"] = "Disabled";
11
- GameSpeed["RealTime"] = "RealTime";
12
- })(GameSpeed || (exports.GameSpeed = GameSpeed = {}));
13
8
  //# sourceMappingURL=TimeLimit.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TimeLimit.js","sourceRoot":"","sources":["../src/TimeLimit.ts"],"names":[],"mappings":";;;AAgBA,SAAgB,YAAY,CAAuB,KAAkC;IACnF,OAAO,OAAQ,KAAyC,CAAC,QAAQ,KAAK,UAAU,CAAA;AAClF,CAAC;AAFD,oCAEC;AAED,IAAY,SAAwD;AAApE,WAAY,SAAS;IAAE,kCAAqB,CAAA;IAAE,kCAAqB,CAAA;AAAA,CAAC,EAAxD,SAAS,yBAAT,SAAS,QAA+C"}
1
+ {"version":3,"file":"TimeLimit.js","sourceRoot":"","sources":["../src/TimeLimit.ts"],"names":[],"mappings":";;;AA8BA,SAAgB,YAAY,CAAuB,KAAkC;IACnF,OAAO,OAAQ,KAAyC,CAAC,QAAQ,KAAK,UAAU,CAAA;AAClF,CAAC;AAFD,oCAEC"}
package/dist/Undo.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Undo.js","sourceRoot":"","sources":["../src/Undo.ts"],"names":[],"mappings":";;;AAMA,SAAgB,OAAO,CAAiB,KAAa;IACnD,IAAM,IAAI,GAAG,KAA6B,CAAA;IAC1C,OAAO,OAAO,IAAI,CAAC,OAAO,KAAK,UAAU,CAAA;AAC3C,CAAC;AAHD,0BAGC"}
1
+ {"version":3,"file":"Undo.js","sourceRoot":"","sources":["../src/Undo.ts"],"names":[],"mappings":";;;AAwBA,SAAgB,OAAO,CAAiB,KAAa;IACnD,IAAM,IAAI,GAAG,KAA6B,CAAA;IAC1C,OAAO,OAAO,IAAI,CAAC,OAAO,KAAK,UAAU,CAAA;AAC3C,CAAC;AAHD,0BAGC"}
@@ -1,5 +1,6 @@
1
1
  import { Rules } from './Rules';
2
- export type RulesWithUnpredictableMoves<G = any, M = any, P = any> = Rules<G, M, P> & {
3
- isUnpredictableMove(move: M): boolean;
4
- };
5
- export declare const hasUnpredictableMoves: <G = any, M = any, P = any>(rules: Rules<G, M, P>) => rules is RulesWithUnpredictableMoves<G, M, P>;
2
+ export interface UnpredictableMoves<M = any, P = any> {
3
+ isUnpredictableMove(move: M, player: P): boolean;
4
+ canIgnoreServerDifference?(clientMove: M, serverMove: M): boolean;
5
+ }
6
+ export declare const hasUnpredictableMoves: <G = any, M = any, P = any>(rules: Rules<G, M, P>) => rules is Rules<G, M, P> & UnpredictableMoves<M, P>;
@@ -1 +1 @@
1
- {"version":3,"file":"UnpredictableMove.js","sourceRoot":"","sources":["../src/UnpredictableMove.ts"],"names":[],"mappings":";;;AAMO,IAAM,qBAAqB,GAAG,UACnC,KAAqB,IAC6B,OAAA,OAAO,KAAK,CAAC,mBAAmB,KAAK,UAAU,EAA/C,CAA+C,CAAA;AAFtF,QAAA,qBAAqB,yBAEiE"}
1
+ {"version":3,"file":"UnpredictableMove.js","sourceRoot":"","sources":["../src/UnpredictableMove.ts"],"names":[],"mappings":";;;AA2BO,IAAM,qBAAqB,GAAG,UACnC,KAAqB,IACkC,OAAA,OAAO,KAAK,CAAC,mBAAmB,KAAK,UAAU,EAA/C,CAA+C,CAAA;AAF3F,QAAA,qBAAqB,yBAEsE"}
package/dist/index.d.ts CHANGED
@@ -2,20 +2,15 @@ export * from './material';
2
2
  export * from './options';
3
3
  export * from './utils';
4
4
  export * from './Action';
5
- export * from './ApplyAutomaticMoves';
5
+ export * from './Bot';
6
6
  export * from './Competitive';
7
- export * from './DefaultGameSetup';
8
- export * from './Dummy';
9
7
  export * from './Eliminations';
10
8
  export * from './GameSetup';
11
- export * from './GameSetupCreator';
12
- export * from './IncompleteInformation';
9
+ export * from './HiddenInformation';
13
10
  export * from './LocalMovePreview';
14
- export * from './LoopWithFuse';
15
11
  export * from './RandomMove';
16
- export * from './Robot';
17
12
  export * from './Rules';
18
- export * from './RulesCreator';
13
+ export * from './SecretInformation';
19
14
  export * from './TimeLimit';
20
15
  export * from './Undo';
21
16
  export * from './UnpredictableMove';
package/dist/index.js CHANGED
@@ -18,20 +18,15 @@ __exportStar(require("./material"), exports);
18
18
  __exportStar(require("./options"), exports);
19
19
  __exportStar(require("./utils"), exports);
20
20
  __exportStar(require("./Action"), exports);
21
- __exportStar(require("./ApplyAutomaticMoves"), exports);
21
+ __exportStar(require("./Bot"), exports);
22
22
  __exportStar(require("./Competitive"), exports);
23
- __exportStar(require("./DefaultGameSetup"), exports);
24
- __exportStar(require("./Dummy"), exports);
25
23
  __exportStar(require("./Eliminations"), exports);
26
24
  __exportStar(require("./GameSetup"), exports);
27
- __exportStar(require("./GameSetupCreator"), exports);
28
- __exportStar(require("./IncompleteInformation"), exports);
25
+ __exportStar(require("./HiddenInformation"), exports);
29
26
  __exportStar(require("./LocalMovePreview"), exports);
30
- __exportStar(require("./LoopWithFuse"), exports);
31
27
  __exportStar(require("./RandomMove"), exports);
32
- __exportStar(require("./Robot"), exports);
33
28
  __exportStar(require("./Rules"), exports);
34
- __exportStar(require("./RulesCreator"), exports);
29
+ __exportStar(require("./SecretInformation"), exports);
35
30
  __exportStar(require("./TimeLimit"), exports);
36
31
  __exportStar(require("./Undo"), exports);
37
32
  __exportStar(require("./UnpredictableMove"), exports);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6CAA0B;AAC1B,4CAAyB;AACzB,0CAAuB;AACvB,2CAAwB;AACxB,wDAAqC;AACrC,gDAA6B;AAC7B,qDAAkC;AAClC,0CAAuB;AACvB,iDAA8B;AAC9B,8CAA2B;AAC3B,qDAAkC;AAClC,0DAAuC;AACvC,qDAAkC;AAClC,iDAA8B;AAC9B,+CAA4B;AAC5B,0CAAuB;AACvB,0CAAuB;AACvB,iDAA8B;AAC9B,8CAA2B;AAC3B,yCAAsB;AACtB,sDAAmC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6CAA0B;AAC1B,4CAAyB;AACzB,0CAAuB;AACvB,2CAAwB;AACxB,wCAAqB;AACrB,gDAA6B;AAC7B,iDAA8B;AAC9B,8CAA2B;AAC3B,sDAAmC;AACnC,qDAAkC;AAClC,+CAA4B;AAC5B,0CAAuB;AACvB,sDAAmC;AACnC,8CAA2B;AAC3B,yCAAsB;AACtB,sDAAmC"}
@@ -1,17 +1,16 @@
1
- import { IncompleteInformation } from '../IncompleteInformation';
1
+ import { HiddenInformation } from '../HiddenInformation';
2
2
  import { PlayMoveContext } from '../Rules';
3
3
  import { MaterialItem } from './items';
4
4
  import { MaterialGame } from './MaterialGame';
5
5
  import { MaterialRules } from './MaterialRules';
6
6
  import { MaterialMove, MaterialMoveRandomized, MaterialMoveView } from './moves';
7
- export declare abstract class HiddenMaterialRules<P extends number = number, M extends number = number, L extends number = number> extends MaterialRules<P, M, L> implements IncompleteInformation<MaterialGame<P, M, L>, MaterialMove<P, M, L>, MaterialMove<P, M, L>> {
7
+ export declare abstract class HiddenMaterialRules<P extends number = number, M extends number = number, L extends number = number> extends MaterialRules<P, M, L> implements HiddenInformation<MaterialGame<P, M, L>, MaterialMove<P, M, L>, MaterialMove<P, M, L>> {
8
8
  private readonly client?;
9
9
  constructor(game: MaterialGame<P, M, L>, client?: {
10
10
  player?: P | undefined;
11
11
  } | undefined);
12
12
  abstract readonly hidingStrategies: Partial<Record<M, Partial<Record<L, HidingStrategy<P, L>>>>>;
13
13
  randomize(move: MaterialMove<P, M, L>): MaterialMove<P, M, L> & MaterialMoveRandomized<P, M, L>;
14
- isLegalMove(playerId: P, move: MaterialMove<P, M, L>): boolean;
15
14
  private isRevealingItemMove;
16
15
  itemsCanMerge(type: M): boolean;
17
16
  isUnpredictableMove(move: MaterialMove<P, M, L>, player: P): boolean;
@@ -21,6 +20,7 @@ export declare abstract class HiddenMaterialRules<P extends number = number, M e
21
20
  private hideItem;
22
21
  private getItemHiddenPaths;
23
22
  private itemHasHiddenInformation;
23
+ canIgnoreServerDifference(clientMove: MaterialMove<P, M, L>, serverMove: MaterialMove<P, M, L>): boolean;
24
24
  getMoveView(move: MaterialMoveRandomized<P, M, L>, player?: P): MaterialMove<P, M, L>;
25
25
  private getMoveItemView;
26
26
  private getMoveAtOnceView;
@@ -62,13 +62,6 @@ var HiddenMaterialRules = (function (_super) {
62
62
  }
63
63
  return _super.prototype.randomize.call(this, move);
64
64
  };
65
- HiddenMaterialRules.prototype.isLegalMove = function (playerId, move) {
66
- if ((0, moves_1.isMoveItem)(move) && move.reveal) {
67
- var reveal = move.reveal, moveWithoutReveal = __rest(move, ["reveal"]);
68
- return _super.prototype.isLegalMove.call(this, playerId, moveWithoutReveal);
69
- }
70
- return _super.prototype.isLegalMove.call(this, playerId, move);
71
- };
72
65
  HiddenMaterialRules.prototype.isRevealingItemMove = function (move) {
73
66
  var _this = this;
74
67
  return ((0, moves_1.isMoveItem)(move) && this.game.players.some(function (player) { return _this.moveItemWillRevealSomething(move, player); })) ||
@@ -133,6 +126,13 @@ var HiddenMaterialRules = (function (_super) {
133
126
  HiddenMaterialRules.prototype.itemHasHiddenInformation = function (type, item, player) {
134
127
  return this.getItemHiddenPaths(type, item, player).length > 0;
135
128
  };
129
+ HiddenMaterialRules.prototype.canIgnoreServerDifference = function (clientMove, serverMove) {
130
+ if ((0, moves_1.isMoveItem)(clientMove) && (0, moves_1.isMoveItem)(serverMove)) {
131
+ var reveal = serverMove.reveal, serverMoveWithoutReveal = __rest(serverMove, ["reveal"]);
132
+ return (0, isEqual_1.default)(clientMove, serverMoveWithoutReveal);
133
+ }
134
+ return false;
135
+ };
136
136
  HiddenMaterialRules.prototype.getMoveView = function (move, player) {
137
137
  var _this = this;
138
138
  if (move.kind === moves_1.MoveKind.ItemMove && move.itemType in this.hidingStrategies) {
@@ -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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"}
@@ -1,6 +1,7 @@
1
1
  import { MaterialItem } from './items';
2
- import { DisplayedItem, HelpDisplay, MaterialMove } from './moves';
2
+ import { DisplayedItem, HelpDisplay } from './moves';
3
3
  import { RuleStep } from './rules';
4
+ import { TutorialState } from './tutorial';
4
5
  export type MaterialGame<Player extends number = number, MaterialType extends number = number, LocationType extends number = number> = {
5
6
  players: Player[];
6
7
  items: Partial<Record<MaterialType, MaterialItem<Player, LocationType>[]>>;
@@ -8,8 +9,5 @@ export type MaterialGame<Player extends number = number, MaterialType extends nu
8
9
  memory: Record<keyof any, any>;
9
10
  helpDisplay?: HelpDisplay<Player, MaterialType, LocationType>;
10
11
  droppedItem?: DisplayedItem<MaterialType>;
11
- tutorialStep?: number;
12
- tutorialPopupClosed?: boolean;
13
- tutorialStepComplete?: boolean;
14
- tutorialInterrupt?: MaterialMove<Player, MaterialType, LocationType>[];
12
+ tutorial?: TutorialState;
15
13
  };
@@ -3,6 +3,7 @@ import { Material } from './items';
3
3
  import { MaterialGame } from './MaterialGame';
4
4
  import { MaterialRules, MaterialRulesCreator } from './MaterialRules';
5
5
  import { GameMemory, PlayerMemory } from './memory';
6
+ import { MaterialMove } from './moves';
6
7
  export declare abstract class MaterialGameSetup<P extends number = number, M extends number = number, L extends number = number, Options = any> implements GameSetup<MaterialGame<P, M, L>, Options> {
7
8
  abstract Rules: MaterialRulesCreator<P, M, L>;
8
9
  protected game: MaterialGame<P, M, L>;
@@ -10,11 +11,12 @@ export declare abstract class MaterialGameSetup<P extends number = number, M ext
10
11
  setup(options: Options): MaterialGame<P, M, L>;
11
12
  get players(): P[];
12
13
  setupMaterial(_options: Options): void;
14
+ protected playMove(move: MaterialMove<P, M, L>): void;
13
15
  material(type: M): Material<P, M, L>;
14
16
  protected getMemory(player?: P): GameMemory<P> | PlayerMemory<P>;
15
17
  memorize<T = any>(key: keyof any, value: T | ((lastValue: T) => T), player?: P): void;
16
18
  abstract start(options: Options): void;
17
- startPlayerTurn<RuleId extends number = number>(id: RuleId, player: P): void;
19
+ startPlayerTurn<RuleId extends number = number>(id: RuleId, player?: P): void;
18
20
  startSimultaneousRule<RuleId extends number = number>(id: RuleId, players?: P[]): void;
19
21
  startRule<RuleId extends number = number>(id: RuleId): void;
20
22
  }