@gamepark/rules-api 5.11.2 → 5.13.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.
package/dist/Action.js CHANGED
@@ -3,12 +3,15 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.replayActions = exports.replayAction = exports.playActionWithViews = exports.playAction = void 0;
4
4
  var Game_1 = require("./Game");
5
5
  var index_1 = require("./index");
6
+ var RandomMove_1 = require("./RandomMove");
6
7
  function playAction(game, move, playerId, id) {
7
8
  var action = { id: id, playerId: playerId, move: move, consequences: [] };
9
+ if ((0, RandomMove_1.hasRandomMove)(game)) {
10
+ move = game.randomize(move);
11
+ }
8
12
  game.play(JSON.parse(JSON.stringify(move)));
9
13
  (0, Game_1.loopWithFuse)(function () {
10
- var consequence = game.getAutomaticMove ? game.getAutomaticMove() : undefined;
11
- var consequences = consequence ? Array.isArray(consequence) ? consequence : [consequence] : [];
14
+ var consequences = (0, RandomMove_1.getRandomAutomaticMoves)(game);
12
15
  for (var _i = 0, consequences_1 = consequences; _i < consequences_1.length; _i++) {
13
16
  var move_1 = consequences_1[_i];
14
17
  game.play(JSON.parse(JSON.stringify(move_1)));
@@ -24,6 +27,9 @@ function playActionWithViews(game, move, playerId, recipients, id) {
24
27
  action: { id: id, playerId: playerId, move: move, consequences: [] },
25
28
  views: []
26
29
  };
30
+ if ((0, RandomMove_1.hasRandomMove)(game)) {
31
+ move = game.randomize(move);
32
+ }
27
33
  // Prepare action view for each player
28
34
  for (var _i = 0, recipients_1 = recipients; _i < recipients_1.length; _i++) {
29
35
  var recipient = recipients_1[_i];
@@ -33,8 +39,7 @@ function playActionWithViews(game, move, playerId, recipients, id) {
33
39
  actionWithView.views.push({ action: { id: id, playerId: playerId, move: (0, index_1.getMoveView)(game, move), consequences: [] } });
34
40
  game.play(JSON.parse(JSON.stringify(move)));
35
41
  (0, Game_1.loopWithFuse)(function () {
36
- var consequence = game.getAutomaticMove ? game.getAutomaticMove() : undefined;
37
- var consequences = consequence ? Array.isArray(consequence) ? consequence : [consequence] : [];
42
+ var consequences = (0, RandomMove_1.getRandomAutomaticMoves)(game);
38
43
  for (var _i = 0, consequences_2 = consequences; _i < consequences_2.length; _i++) {
39
44
  var move_2 = consequences_2[_i];
40
45
  actionWithView.action.consequences.push(move_2);
@@ -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":"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"}
package/dist/Game.js CHANGED
@@ -1,10 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.loopWithFuse = exports.applyAutomaticMoves = void 0;
4
+ var RandomMove_1 = require("./RandomMove");
4
5
  function applyAutomaticMoves(game) {
5
6
  loopWithFuse(function () {
6
- var consequence = game.getAutomaticMove ? game.getAutomaticMove() : undefined;
7
- var consequences = consequence ? Array.isArray(consequence) ? consequence : [consequence] : [];
7
+ var consequences = (0, RandomMove_1.getRandomAutomaticMoves)(game);
8
8
  for (var _i = 0, consequences_1 = consequences; _i < consequences_1.length; _i++) {
9
9
  var move = consequences_1[_i];
10
10
  game.play(JSON.parse(JSON.stringify(move)));
package/dist/Game.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Game.js","sourceRoot":"","sources":["../src/Game.ts"],"names":[],"mappings":";;;AAQA,SAAgB,mBAAmB,CAAc,IAAuB;IACtE,YAAY,CAAC;QACX,IAAM,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;QAC/E,IAAM,YAAY,GAAG,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;QAChG,KAAmB,UAAY,EAAZ,6BAAY,EAAZ,0BAAY,EAAZ,IAAY,EAAE;YAA5B,IAAM,IAAI,qBAAA;YACb,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;SAC5C;QACD,OAAO,YAAY,CAAC,MAAM,GAAG,CAAC,CAAA;IAChC,CAAC,EAAE,EAAC,OAAO,EAAE,cAAM,OAAA,IAAI,KAAK,CAAC,mEAA4D,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAE,CAAC,EAAnG,CAAmG,EAAC,CAAC,CAAA;AAC1H,CAAC;AATD,kDASC;AAED,SAAgB,YAAY,CAAC,MAAqB,EAAE,OAAsD;IACxG,IAAI,QAAQ,GAAG,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,KAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;IACzF,IAAM,OAAO,GAAG,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,KAAI,CAAC,cAAM,OAAA,IAAI,KAAK,CAAC,wBAAwB,CAAC,EAAnC,CAAmC,CAAC,CAAA;IAC/E,OAAO,MAAM,EAAE,EAAE;QACf,IAAI,QAAQ,IAAI,CAAC,EAAE;YACjB,MAAM,OAAO,EAAE,CAAA;SAChB;QACD,QAAQ,EAAE,CAAA;KACX;AACH,CAAC;AATD,oCASC"}
1
+ {"version":3,"file":"Game.js","sourceRoot":"","sources":["../src/Game.ts"],"names":[],"mappings":";;;AAAA,2CAAoD;AAUpD,SAAgB,mBAAmB,CAAc,IAAuB;IACtE,YAAY,CAAC;QACX,IAAM,YAAY,GAAG,IAAA,oCAAuB,EAAC,IAAI,CAAC,CAAA;QAClD,KAAmB,UAAY,EAAZ,6BAAY,EAAZ,0BAAY,EAAZ,IAAY,EAAE;YAA5B,IAAM,IAAI,qBAAA;YACb,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;SAC5C;QACD,OAAO,YAAY,CAAC,MAAM,GAAG,CAAC,CAAA;IAChC,CAAC,EAAE,EAAC,OAAO,EAAE,cAAM,OAAA,IAAI,KAAK,CAAC,mEAA4D,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAE,CAAC,EAAnG,CAAmG,EAAC,CAAC,CAAA;AAC1H,CAAC;AARD,kDAQC;AAED,SAAgB,YAAY,CAAC,MAAqB,EAAE,OAAsD;IACxG,IAAI,QAAQ,GAAG,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,KAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;IACzF,IAAM,OAAO,GAAG,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,KAAI,CAAC,cAAM,OAAA,IAAI,KAAK,CAAC,wBAAwB,CAAC,EAAnC,CAAmC,CAAC,CAAA;IAC/E,OAAO,MAAM,EAAE,EAAE;QACf,IAAI,QAAQ,IAAI,CAAC,EAAE;YACjB,MAAM,OAAO,EAAE,CAAA;SAChB;QACD,QAAQ,EAAE,CAAA;KACX;AACH,CAAC;AATD,oCASC"}
@@ -0,0 +1,7 @@
1
+ import Game from './Game';
2
+ export default interface RandomMove<State, Move = string, R = string> extends Game<State, Move> {
3
+ randomize(move: Move): Move & R;
4
+ play(move: Move & R): void;
5
+ }
6
+ export declare function hasRandomMove<State, Move, R>(game: Game<State, Move>): game is RandomMove<State, Move, R>;
7
+ export declare function getRandomAutomaticMoves<State, Move>(game: Game<State, Move>): Move[];
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getRandomAutomaticMoves = exports.hasRandomMove = void 0;
4
+ function hasRandomMove(game) {
5
+ return typeof game.randomize === 'function';
6
+ }
7
+ exports.hasRandomMove = hasRandomMove;
8
+ function getRandomAutomaticMoves(game) {
9
+ var consequence = game.getAutomaticMove ? game.getAutomaticMove() : undefined;
10
+ var consequences = consequence ? Array.isArray(consequence) ? consequence : [consequence] : [];
11
+ return hasRandomMove(game) ? consequences.map(function (move) { return game.randomize(move); }) : consequences;
12
+ }
13
+ exports.getRandomAutomaticMoves = getRandomAutomaticMoves;
14
+ //# sourceMappingURL=RandomMove.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RandomMove.js","sourceRoot":"","sources":["../src/RandomMove.ts"],"names":[],"mappings":";;;AAQA,SAAgB,aAAa,CAAiB,IAAuB;IACnE,OAAO,OAAQ,IAAmC,CAAC,SAAS,KAAK,UAAU,CAAA;AAC7E,CAAC;AAFD,sCAEC;AAED,SAAgB,uBAAuB,CAAc,IAAuB;IAC1E,IAAM,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;IAC/E,IAAM,YAAY,GAAG,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IAChG,OAAO,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,UAAA,IAAI,IAAI,OAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAApB,CAAoB,CAAC,CAAC,CAAC,CAAC,YAAY,CAAA;AAC5F,CAAC;AAJD,0DAIC"}
package/dist/index.d.ts CHANGED
@@ -15,6 +15,8 @@ export { default as Competitive } from './Competitive';
15
15
  export * from './Competitive';
16
16
  export { default as Eliminations } from './Eliminations';
17
17
  export * from './Eliminations';
18
+ export { default as RandomMove } from './RandomMove';
19
+ export * from './Eliminations';
18
20
  export { default as TimeLimit } from './TimeLimit';
19
21
  export * from './TimeLimit';
20
22
  export { default as Robot } from './Robot';
package/dist/index.js CHANGED
@@ -28,6 +28,7 @@ __exportStar(require("./IncompleteInformation"), exports);
28
28
  __exportStar(require("./Undo"), exports);
29
29
  __exportStar(require("./Competitive"), exports);
30
30
  __exportStar(require("./Eliminations"), exports);
31
+ __exportStar(require("./Eliminations"), exports);
31
32
  __exportStar(require("./TimeLimit"), exports);
32
33
  var Dummy_1 = require("./Dummy");
33
34
  Object.defineProperty(exports, "Dummy", { enumerable: true, get: function () { return __importDefault(Dummy_1).default; } });
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AACA,yCAAsB;AAEtB,mDAA0D;AAAlD,iIAAA,OAAO,OAAkB;AACjC,uDAA8D;AAAtD,qIAAA,OAAO,OAAoB;AAKnC,2CAAwB;AAGxB,0DAAuC;AAGvC,yCAAsB;AAGtB,gDAA6B;AAG7B,iDAA8B;AAG9B,8CAA2B;AAG3B,iCAAwC;AAAhC,+GAAA,OAAO,OAAS;AAExB,4CAAyB;AACzB,0CAAuB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AACA,yCAAsB;AAEtB,mDAA0D;AAAlD,iIAAA,OAAO,OAAkB;AACjC,uDAA8D;AAAtD,qIAAA,OAAO,OAAoB;AAKnC,2CAAwB;AAGxB,0DAAuC;AAGvC,yCAAsB;AAGtB,gDAA6B;AAG7B,iDAA8B;AAG9B,iDAA8B;AAG9B,8CAA2B;AAG3B,iCAAwC;AAAhC,+GAAA,OAAO,OAAS;AAExB,4CAAyB;AACzB,0CAAuB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gamepark/rules-api",
3
- "version": "5.11.2",
3
+ "version": "5.13.0",
4
4
  "description": "API to implement the rules of a board game",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -27,5 +27,5 @@
27
27
  "devDependencies": {
28
28
  "i18next": ">=21.3.0"
29
29
  },
30
- "gitHead": "5c5cb01d467fb6323d3a4bf28fc9fb8eafd1a3e6"
30
+ "gitHead": "c10930dcffd1a42345104737cc44333464c92164"
31
31
  }