@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 +9 -4
- package/dist/Action.js.map +1 -1
- package/dist/Game.js +2 -2
- package/dist/Game.js.map +1 -1
- package/dist/RandomMove.d.ts +7 -0
- package/dist/RandomMove.js +14 -0
- package/dist/RandomMove.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
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
|
|
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
|
|
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);
|
package/dist/Action.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Action.js","sourceRoot":"","sources":["../src/Action.ts"],"names":[],"mappings":";;;AAAA,+BAAyC;AACzC,iCAA0D;
|
|
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
|
|
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":";;;
|
|
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.
|
|
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": "
|
|
30
|
+
"gitHead": "c10930dcffd1a42345104737cc44333464c92164"
|
|
31
31
|
}
|