jp.ms.common.engine 1.0.11 → 1.0.13
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/base/base-game-state.type.d.ts +2 -2
- package/dist/base/base-game-state.type.d.ts.map +1 -1
- package/dist/base/game-master.d.ts +5 -1
- package/dist/base/game-master.d.ts.map +1 -1
- package/dist/base/game-master.js +18 -0
- package/dist/base/game-master.js.map +1 -1
- package/dist/base/game-room.d.ts +1 -5
- package/dist/base/game-room.d.ts.map +1 -1
- package/dist/base/game-room.js +2 -19
- package/dist/base/game-room.js.map +1 -1
- package/dist/base-rooms/simple-room.d.ts +4 -4
- package/dist/base-rooms/simple-room.d.ts.map +1 -1
- package/dist/base-rooms/simple-room.js +8 -8
- package/dist/base-rooms/simple-room.js.map +1 -1
- package/package.json +1 -1
- package/src/base/base-game-state.type.ts +1 -1
- package/src/base/game-master.ts +26 -1
- package/src/base/game-room.ts +2 -25
- package/src/base-rooms/simple-room.ts +8 -8
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-game-state.type.d.ts","sourceRoot":"","sources":["../../src/base/base-game-state.type.ts"],"names":[],"mappings":"AAAA,MAAM,
|
|
1
|
+
{"version":3,"file":"base-game-state.type.d.ts","sourceRoot":"","sources":["../../src/base/base-game-state.type.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;CACxB"}
|
|
@@ -13,6 +13,10 @@ export declare abstract class GameMaster {
|
|
|
13
13
|
readonly controlTurn: GameControlPlayerTurn;
|
|
14
14
|
readonly controlRestart: GameControlRestart;
|
|
15
15
|
protected constructor(room: GameRoom);
|
|
16
|
+
static parseTableId(roomIdWithTable: string): {
|
|
17
|
+
roomId: string;
|
|
18
|
+
tableId: string;
|
|
19
|
+
};
|
|
16
20
|
abstract onHandleTurnTimeout(player: GamePlayer): any;
|
|
17
21
|
abstract onHandleRestartTimeout(): any;
|
|
18
22
|
abstract onHandleMove(player: GamePlayer): any;
|
|
@@ -27,7 +31,7 @@ export declare abstract class GameMaster {
|
|
|
27
31
|
getTable(): GameTable;
|
|
28
32
|
enterTheTable(player: GamePlayer): void;
|
|
29
33
|
exitTheTable(player: GamePlayer): void;
|
|
30
|
-
watchTheTable(player: GamePlayer):
|
|
34
|
+
watchTheTable<T extends BaseGameStateType>(player: GamePlayer): T;
|
|
31
35
|
startFromWhite(): void;
|
|
32
36
|
changePlayerClockwise(): void;
|
|
33
37
|
changePlayerCounterClockwise(): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"game-master.d.ts","sourceRoot":"","sources":["../../src/base/game-master.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE3D,8BAAsB,UAAU;IAC5B,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAClC,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC;IACpC,SAAS,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC;IAChC,SAAgB,WAAW,EAAE,qBAAqB,CAAC;IACnD,SAAgB,cAAc,EAAE,kBAAkB,CAAC;IAEnD,SAAS,aAAc,IAAI,EAAE,QAAQ;IAOrC,QAAQ,CAAC,mBAAmB,CAAE,MAAM,EAAE,UAAU;IAEhD,QAAQ,CAAC,sBAAsB;IAE/B,QAAQ,CAAC,YAAY,CAAE,MAAM,EAAE,UAAU;IAEzC,QAAQ,CAAC,UAAU,CAAE,MAAM,EAAE,UAAU;IAEvC,QAAQ,CAAC,aAAa;IAEtB,QAAQ,CAAC,WAAW;IAEpB,QAAQ,CAAC,YAAY;IAErB,QAAQ,CAAC,UAAU,IAAK,iBAAiB,GAAG,IAAI;IAEhD,KAAK;IAIL,YAAY,CAAE,SAAS,EAAE,SAAS,GAAG,IAAI;IAIzC,YAAY,IAAK,SAAS,GAAG,IAAI;IAIjC,QAAQ;IAIR,aAAa,CAAE,MAAM,EAAE,UAAU;IAQjC,YAAY,CAAE,MAAM,EAAE,UAAU;IAUhC,aAAa,
|
|
1
|
+
{"version":3,"file":"game-master.d.ts","sourceRoot":"","sources":["../../src/base/game-master.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE3D,8BAAsB,UAAU;IAC5B,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAClC,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC;IACpC,SAAS,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC;IAChC,SAAgB,WAAW,EAAE,qBAAqB,CAAC;IACnD,SAAgB,cAAc,EAAE,kBAAkB,CAAC;IAEnD,SAAS,aAAc,IAAI,EAAE,QAAQ;IAOrC,MAAM,CAAC,YAAY,CAAE,eAAe,EAAE,MAAM,GAAG;QAC3C,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,EAAE,MAAM,CAAC;KACnB;IAoBD,QAAQ,CAAC,mBAAmB,CAAE,MAAM,EAAE,UAAU;IAEhD,QAAQ,CAAC,sBAAsB;IAE/B,QAAQ,CAAC,YAAY,CAAE,MAAM,EAAE,UAAU;IAEzC,QAAQ,CAAC,UAAU,CAAE,MAAM,EAAE,UAAU;IAEvC,QAAQ,CAAC,aAAa;IAEtB,QAAQ,CAAC,WAAW;IAEpB,QAAQ,CAAC,YAAY;IAErB,QAAQ,CAAC,UAAU,IAAK,iBAAiB,GAAG,IAAI;IAEhD,KAAK;IAIL,YAAY,CAAE,SAAS,EAAE,SAAS,GAAG,IAAI;IAIzC,YAAY,IAAK,SAAS,GAAG,IAAI;IAIjC,QAAQ;IAIR,aAAa,CAAE,MAAM,EAAE,UAAU;IAQjC,YAAY,CAAE,MAAM,EAAE,UAAU;IAUhC,aAAa,CAAC,CAAC,SAAS,iBAAiB,EAAG,MAAM,EAAE,UAAU,GAAG,CAAC;IAMlE,cAAc;IAOd,qBAAqB;IASrB,4BAA4B;IAS5B,eAAe,IAAK,UAAU,GAAG,IAAI;IAIrC,aAAa;IAIb,sBAAsB;IAItB,mBAAmB,CAAE,IAAI,EAAE,MAAM;IAIjC,YAAY,IAAK,iBAAiB;CASrC"}
|
package/dist/base/game-master.js
CHANGED
|
@@ -11,6 +11,23 @@ class GameMaster {
|
|
|
11
11
|
this.controlTurn = new game_control_player_turn_1.GameControlPlayerTurn(this.table.getTurnTimeout(), this.onHandleTurnTimeout);
|
|
12
12
|
this.controlRestart = new game_control_restart_1.GameControlRestart(this.table.getRestartTimeout(), this.onHandleRestartTimeout);
|
|
13
13
|
}
|
|
14
|
+
static parseTableId(roomIdWithTable) {
|
|
15
|
+
var _a, _b, _c;
|
|
16
|
+
const pattern = /([a-zA-z0-9.]*)_([0-9]*)/;
|
|
17
|
+
const data = roomIdWithTable.match(pattern);
|
|
18
|
+
if (!data) {
|
|
19
|
+
const pattern2 = /([a-zA-z0-9.]*)/;
|
|
20
|
+
const data2 = roomIdWithTable.match(pattern2);
|
|
21
|
+
return {
|
|
22
|
+
roomId: (_a = data2 === null || data2 === void 0 ? void 0 : data2[1]) !== null && _a !== void 0 ? _a : '',
|
|
23
|
+
tableId: '1',
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
return {
|
|
27
|
+
roomId: (_b = data === null || data === void 0 ? void 0 : data[1]) !== null && _b !== void 0 ? _b : '',
|
|
28
|
+
tableId: (_c = data === null || data === void 0 ? void 0 : data[2]) !== null && _c !== void 0 ? _c : '',
|
|
29
|
+
};
|
|
30
|
+
}
|
|
14
31
|
getId() {
|
|
15
32
|
return this.table.getId();
|
|
16
33
|
}
|
|
@@ -44,6 +61,7 @@ class GameMaster {
|
|
|
44
61
|
}
|
|
45
62
|
watchTheTable(player) {
|
|
46
63
|
this.table.addPlayerToWatchers(player);
|
|
64
|
+
return this.getGameState();
|
|
47
65
|
}
|
|
48
66
|
startFromWhite() {
|
|
49
67
|
var _a;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"game-master.js","sourceRoot":"","sources":["../../src/base/game-master.ts"],"names":[],"mappings":";;;AACA,yEAAmE;AACnE,iEAA4D;AAC5D,6CAAyC;AAMzC,MAAsB,UAAU;IAO5B,YAAuB,IAAc;QACjC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,KAAK,GAAG,IAAI,sBAAS,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC;QACrD,IAAI,CAAC,WAAW,GAAG,IAAI,gDAAqB,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC;QACpG,IAAI,CAAC,cAAc,GAAG,IAAI,yCAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,iBAAiB,EAAE,EAAE,IAAI,CAAC,sBAAsB,CAAC,CAAC;IAC9G,CAAC;IAkBD,KAAK;QACF,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;IAC7B,CAAC;IAED,YAAY,CAAE,SAAoB;QAC9B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC/B,CAAC;IAED,YAAY;QACR,OAAO,IAAI,CAAC,SAAS,CAAC;IAC1B,CAAC;IAED,QAAQ;QACJ,OAAO,IAAI,CAAC,KAAK,CAAC;IACtB,CAAC;IAED,aAAa,CAAE,MAAkB;QAC7B,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;YACtB,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;QACxC,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QACvC,CAAC;IACL,CAAC;IAED,YAAY,CAAE,MAAkB;QAC5B,IAAI,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC;YACpB,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;QAC5C,CAAC;aAAM,IAAI,MAAM,CAAC,aAAa,EAAE,EAAE,CAAC;YAChC,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;QAC7C,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,KAAK,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAC;QAChD,CAAC;IACL,CAAC;IAED,aAAa,
|
|
1
|
+
{"version":3,"file":"game-master.js","sourceRoot":"","sources":["../../src/base/game-master.ts"],"names":[],"mappings":";;;AACA,yEAAmE;AACnE,iEAA4D;AAC5D,6CAAyC;AAMzC,MAAsB,UAAU;IAO5B,YAAuB,IAAc;QACjC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,KAAK,GAAG,IAAI,sBAAS,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC;QACrD,IAAI,CAAC,WAAW,GAAG,IAAI,gDAAqB,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC;QACpG,IAAI,CAAC,cAAc,GAAG,IAAI,yCAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,iBAAiB,EAAE,EAAE,IAAI,CAAC,sBAAsB,CAAC,CAAC;IAC9G,CAAC;IAED,MAAM,CAAC,YAAY,CAAE,eAAuB;;QAIxC,MAAM,OAAO,GAAG,0BAA0B,CAAC;QAC3C,MAAM,IAAI,GAAG,eAAe,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAE5C,IAAI,CAAC,IAAI,EAAE,CAAC;YACR,MAAM,QAAQ,GAAG,iBAAiB,CAAC;YACnC,MAAM,KAAK,GAAG,eAAe,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YAE9C,OAAO;gBACH,MAAM,EAAE,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAG,CAAC,CAAC,mCAAI,EAAE;gBACxB,OAAO,EAAE,GAAG;aACf,CAAC;QACN,CAAC;QAED,OAAO;YACH,MAAM,EAAE,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAG,CAAC,CAAC,mCAAI,EAAE;YACvB,OAAO,EAAE,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAG,CAAC,CAAC,mCAAI,EAAE;SAC3B,CAAC;IACN,CAAC;IAkBD,KAAK;QACF,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;IAC7B,CAAC;IAED,YAAY,CAAE,SAAoB;QAC9B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC/B,CAAC;IAED,YAAY;QACR,OAAO,IAAI,CAAC,SAAS,CAAC;IAC1B,CAAC;IAED,QAAQ;QACJ,OAAO,IAAI,CAAC,KAAK,CAAC;IACtB,CAAC;IAED,aAAa,CAAE,MAAkB;QAC7B,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;YACtB,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;QACxC,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QACvC,CAAC;IACL,CAAC;IAED,YAAY,CAAE,MAAkB;QAC5B,IAAI,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC;YACpB,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;QAC5C,CAAC;aAAM,IAAI,MAAM,CAAC,aAAa,EAAE,EAAE,CAAC;YAChC,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;QAC7C,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,KAAK,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAC;QAChD,CAAC;IACL,CAAC;IAED,aAAa,CAA+B,MAAkB;QAC1D,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;QAEvC,OAAO,IAAI,CAAC,YAAY,EAAO,CAAC;IACpC,CAAC;IAED,cAAc;;QACV,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QAC3E,IAAI,WAAW,EAAE,CAAC;YACd,MAAA,IAAI,CAAC,SAAS,0CAAE,eAAe,CAAC,WAAW,CAAC,CAAC;QACjD,CAAC;IACL,CAAC;IAED,qBAAqB;;QACjB,MAAM,YAAY,GAAG,MAAA,IAAI,CAAC,YAAY,EAAE,0CAAE,eAAe,EAAE,CAAC;QAC5D,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,aAAa,CAAC,MAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,aAAa,EAAE,mCAAI,CAAC,CAAC,CAAC;QAE3F,IAAI,UAAU,EAAE,CAAC;YACb,MAAA,IAAI,CAAC,SAAS,0CAAE,eAAe,CAAC,UAAU,CAAC,CAAC;QAChD,CAAC;IACL,CAAC;IAED,4BAA4B;;QACxB,MAAM,YAAY,GAAG,MAAA,IAAI,CAAC,YAAY,EAAE,0CAAE,eAAe,EAAE,CAAC;QAC5D,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,aAAa,CAAC,MAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,aAAa,EAAE,mCAAI,CAAC,CAAC,CAAC;QAE3F,IAAI,UAAU,EAAE,CAAC;YACb,MAAA,IAAI,CAAC,SAAS,0CAAE,eAAe,CAAC,UAAU,CAAC,CAAC;QAChD,CAAC;IACL,CAAC;IAED,eAAe;;QACX,OAAO,MAAA,MAAA,IAAI,CAAC,YAAY,EAAE,0CAAE,eAAe,EAAE,mCAAI,IAAI,CAAC;IAC1D,CAAC;IAED,aAAa;;QACT,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,aAAa,CAAC,MAAA,MAAA,IAAI,CAAC,eAAe,EAAE,0CAAE,aAAa,EAAE,mCAAI,CAAC,CAAC,CAAC;IAC7F,CAAC;IAED,sBAAsB;;QAClB,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,aAAa,CAAC,MAAA,MAAA,IAAI,CAAC,aAAa,EAAE,0CAAE,aAAa,EAAE,mCAAI,CAAC,CAAC,CAAC;IAC3F,CAAC;IAED,mBAAmB,CAAE,IAAY;QAC7B,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IACrD,CAAC;IAED,YAAY;;QACR,OAAO;YACH,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;YACzB,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE;YAC3B,MAAM,EAAE,MAAA,IAAI,CAAC,SAAS,0CAAE,KAAK,EAAE;YAC/B,GAAG,EAAE,MAAA,MAAA,IAAI,CAAC,SAAS,0CAAE,MAAM,EAAE,mCAAI,CAAC;YAClC,OAAO,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,UAAU,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;SAC1E,CAAC;IACN,CAAC;CACJ;AA/ID,gCA+IC"}
|
package/dist/base/game-room.d.ts
CHANGED
|
@@ -39,16 +39,12 @@ export declare abstract class GameRoom {
|
|
|
39
39
|
getFirstMaster(): GameMaster | undefined;
|
|
40
40
|
getMasterWithFreeSeats(): GameTable | undefined;
|
|
41
41
|
remainOneMaster(): boolean;
|
|
42
|
-
getMasterById(
|
|
42
|
+
getMasterById(tableId: string): GameMaster | undefined;
|
|
43
43
|
getFreeTableNumber(): number;
|
|
44
44
|
getCreatedTableCount(): number;
|
|
45
45
|
addMaster(): void;
|
|
46
46
|
removeMaster(masterId: string): void;
|
|
47
47
|
getBet(): number;
|
|
48
48
|
getConfigForTable(): GameTableConfig;
|
|
49
|
-
parseTableId(roomIdWithTable: string): {
|
|
50
|
-
roomId: string;
|
|
51
|
-
tableId: string;
|
|
52
|
-
};
|
|
53
49
|
}
|
|
54
50
|
//# sourceMappingURL=game-room.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"game-room.d.ts","sourceRoot":"","sources":["../../src/base/game-room.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,MAAM,MAAM,cAAc,GAAG;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;CAC1B,CAAA;AAED,8BAAsB,QAAQ;IAC1B,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAS;IAC5B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAS;IAC7B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAyB;IAC/C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAyB;IAClD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IACxC,OAAO,CAAC,iBAAiB,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAoB;gBAE/B,MAAM,EAAE,cAAc;IAenC,QAAQ,CAAC,YAAY,IAAK,UAAU;IAEpC,QAAQ,CAAC,iBAAiB,CAAE,KAAK,EAAE,SAAS,GAAG,IAAI;IAEnD,QAAQ,CAAC,kBAAkB,CAAE,KAAK,EAAE,SAAS,GAAG,IAAI;IAEpD,KAAK;IAIL,WAAW;IAIX,WAAW;IAIX,YAAY;IAIZ,aAAa;IAIb,UAAU,IAAK,KAAK,CAAC,UAAU,CAAC;IAIhC,SAAS,IAAK,KAAK,CAAC,SAAS,CAAC;IAI9B,cAAc,IAAK,UAAU,GAAG,SAAS;IAIzC,sBAAsB,IAAK,SAAS,GAAG,SAAS;IAKhD,eAAe,IAAK,OAAO;IAI3B,aAAa,CAAE,
|
|
1
|
+
{"version":3,"file":"game-room.d.ts","sourceRoot":"","sources":["../../src/base/game-room.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,MAAM,MAAM,cAAc,GAAG;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;CAC1B,CAAA;AAED,8BAAsB,QAAQ;IAC1B,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAS;IAC5B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAS;IAC7B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAyB;IAC/C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAyB;IAClD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IACxC,OAAO,CAAC,iBAAiB,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAoB;gBAE/B,MAAM,EAAE,cAAc;IAenC,QAAQ,CAAC,YAAY,IAAK,UAAU;IAEpC,QAAQ,CAAC,iBAAiB,CAAE,KAAK,EAAE,SAAS,GAAG,IAAI;IAEnD,QAAQ,CAAC,kBAAkB,CAAE,KAAK,EAAE,SAAS,GAAG,IAAI;IAEpD,KAAK;IAIL,WAAW;IAIX,WAAW;IAIX,YAAY;IAIZ,aAAa;IAIb,UAAU,IAAK,KAAK,CAAC,UAAU,CAAC;IAIhC,SAAS,IAAK,KAAK,CAAC,SAAS,CAAC;IAI9B,cAAc,IAAK,UAAU,GAAG,SAAS;IAIzC,sBAAsB,IAAK,SAAS,GAAG,SAAS;IAKhD,eAAe,IAAK,OAAO;IAI3B,aAAa,CAAE,OAAO,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS;IAIvD,kBAAkB,IAAK,MAAM;IAI7B,oBAAoB,IAAK,MAAM;IAI/B,SAAS,IAAK,IAAI;IAKlB,YAAY,CAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;IAIrC,MAAM;IAIN,iBAAiB,IAAK,eAAe;CAexC"}
|
package/dist/base/game-room.js
CHANGED
|
@@ -47,8 +47,8 @@ class GameRoom {
|
|
|
47
47
|
remainOneMaster() {
|
|
48
48
|
return this.masters.length === 1;
|
|
49
49
|
}
|
|
50
|
-
getMasterById(
|
|
51
|
-
return this.masters.find((item) => item.getId() ===
|
|
50
|
+
getMasterById(tableId) {
|
|
51
|
+
return this.masters.find((item) => item.getId() === tableId);
|
|
52
52
|
}
|
|
53
53
|
getFreeTableNumber() {
|
|
54
54
|
return this.createdTableCount + 1;
|
|
@@ -81,23 +81,6 @@ class GameRoom {
|
|
|
81
81
|
onRoomRestartRound: this.handleRestartRound,
|
|
82
82
|
};
|
|
83
83
|
}
|
|
84
|
-
parseTableId(roomIdWithTable) {
|
|
85
|
-
var _a, _b, _c;
|
|
86
|
-
const pattern = /([a-zA-z0-9.]*)_([0-9]*)/;
|
|
87
|
-
const data = roomIdWithTable.match(pattern);
|
|
88
|
-
if (!data) {
|
|
89
|
-
const pattern2 = /([a-zA-z0-9.]*)/;
|
|
90
|
-
const data2 = roomIdWithTable.match(pattern2);
|
|
91
|
-
return {
|
|
92
|
-
roomId: (_a = data2 === null || data2 === void 0 ? void 0 : data2[1]) !== null && _a !== void 0 ? _a : '',
|
|
93
|
-
tableId: '1',
|
|
94
|
-
};
|
|
95
|
-
}
|
|
96
|
-
return {
|
|
97
|
-
roomId: (_b = data === null || data === void 0 ? void 0 : data[1]) !== null && _b !== void 0 ? _b : '',
|
|
98
|
-
tableId: (_c = data === null || data === void 0 ? void 0 : data[2]) !== null && _c !== void 0 ? _c : '',
|
|
99
|
-
};
|
|
100
|
-
}
|
|
101
84
|
}
|
|
102
85
|
exports.GameRoom = GameRoom;
|
|
103
86
|
//# sourceMappingURL=game-room.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"game-room.js","sourceRoot":"","sources":["../../src/base/game-room.ts"],"names":[],"mappings":";;;AAAA,mCAAuC;AAkBvC,MAAsB,QAAQ;IAc1B,YAAa,MAAsB;QAC/B,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QAClB,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC;QAC3B,IAAI,CAAC,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC;QACpB,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;QAChC,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;QAClC,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;QACpC,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;QAChC,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC;QACtB,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QAC1B,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;QAChC,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;QACtC,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC;IAChD,CAAC;IAQD,KAAK;QACD,OAAO,IAAI,CAAC,EAAE,CAAC;IACnB,CAAC;IAED,WAAW;QACP,OAAO,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;IAED,WAAW;QACP,OAAO,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;IAED,YAAY;QACR,OAAO,IAAI,CAAC,SAAS,CAAC;IAC1B,CAAC;IAED,aAAa;QACT,OAAO,IAAI,CAAC,UAAU,CAAC;IAC3B,CAAC;IAED,UAAU;QACN,OAAO,IAAI,CAAC,OAAO,CAAC;IACxB,CAAC;IAED,SAAS;QACL,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;IACzD,CAAC;IAED,cAAc;QACV,OAAO,IAAA,cAAK,EAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;IACpC,CAAC;IAED,sBAAsB;QAClB,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAChC,MAAM,CAAC,QAAQ,EAAE,CAAC,UAAU,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC,YAAY,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;IACnI,CAAC;IAED,eAAe;QACX,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC;IACrC,CAAC;IAED,aAAa,CAAE,
|
|
1
|
+
{"version":3,"file":"game-room.js","sourceRoot":"","sources":["../../src/base/game-room.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { GamePlayer, GameRoom } from '../base';
|
|
2
2
|
export declare abstract class SimpleRoom extends GameRoom {
|
|
3
|
-
handleWatchTheTable(player: GamePlayer,
|
|
4
|
-
handleEnterTheTable(player: GamePlayer,
|
|
5
|
-
handleExitTheTable(player: GamePlayer,
|
|
6
|
-
handleMoveOnTheTable(player: GamePlayer,
|
|
3
|
+
handleWatchTheTable(player: GamePlayer, tableId: string): import("../base").BaseGameStateType;
|
|
4
|
+
handleEnterTheTable(player: GamePlayer, tableId: string): void;
|
|
5
|
+
handleExitTheTable(player: GamePlayer, tableId: string): void;
|
|
6
|
+
handleMoveOnTheTable(player: GamePlayer, tableId: string): void;
|
|
7
7
|
handleFinishRound(): void;
|
|
8
8
|
handleRestartRound(): void;
|
|
9
9
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"simple-room.d.ts","sourceRoot":"","sources":["../../src/base-rooms/simple-room.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAE/C,8BAAsB,UAAW,SAAQ,QAAQ;IAC/C,mBAAmB,CAAE,MAAM,EAAE,UAAU,EAAE,
|
|
1
|
+
{"version":3,"file":"simple-room.d.ts","sourceRoot":"","sources":["../../src/base-rooms/simple-room.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAE/C,8BAAsB,UAAW,SAAQ,QAAQ;IAC/C,mBAAmB,CAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM;IAIxD,mBAAmB,CAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM;IAIxD,kBAAkB,CAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM;IAIvD,oBAAoB,CAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM;IAIzD,iBAAiB;IAIjB,kBAAkB;CAEnB"}
|
|
@@ -3,21 +3,21 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.SimpleRoom = void 0;
|
|
4
4
|
const base_1 = require("../base");
|
|
5
5
|
class SimpleRoom extends base_1.GameRoom {
|
|
6
|
-
handleWatchTheTable(player,
|
|
6
|
+
handleWatchTheTable(player, tableId) {
|
|
7
7
|
var _a;
|
|
8
|
-
(_a = this.getMasterById(
|
|
8
|
+
return (_a = this.getMasterById(tableId)) === null || _a === void 0 ? void 0 : _a.watchTheTable(player);
|
|
9
9
|
}
|
|
10
|
-
handleEnterTheTable(player,
|
|
10
|
+
handleEnterTheTable(player, tableId) {
|
|
11
11
|
var _a;
|
|
12
|
-
(_a = this.getMasterById(
|
|
12
|
+
(_a = this.getMasterById(tableId)) === null || _a === void 0 ? void 0 : _a.enterTheTable(player);
|
|
13
13
|
}
|
|
14
|
-
handleExitTheTable(player,
|
|
14
|
+
handleExitTheTable(player, tableId) {
|
|
15
15
|
var _a;
|
|
16
|
-
(_a = this.getMasterById(
|
|
16
|
+
(_a = this.getMasterById(tableId)) === null || _a === void 0 ? void 0 : _a.exitTheTable(player);
|
|
17
17
|
}
|
|
18
|
-
handleMoveOnTheTable(player,
|
|
18
|
+
handleMoveOnTheTable(player, tableId) {
|
|
19
19
|
var _a;
|
|
20
|
-
(_a = this.getMasterById(
|
|
20
|
+
(_a = this.getMasterById(tableId)) === null || _a === void 0 ? void 0 : _a.onHandleMove(player);
|
|
21
21
|
}
|
|
22
22
|
handleFinishRound() {
|
|
23
23
|
// save users balances
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"simple-room.js","sourceRoot":"","sources":["../../src/base-rooms/simple-room.ts"],"names":[],"mappings":";;;AAAA,kCAA+C;AAE/C,MAAsB,UAAW,SAAQ,eAAQ;IAC/C,mBAAmB,CAAE,MAAkB,EAAE,
|
|
1
|
+
{"version":3,"file":"simple-room.js","sourceRoot":"","sources":["../../src/base-rooms/simple-room.ts"],"names":[],"mappings":";;;AAAA,kCAA+C;AAE/C,MAAsB,UAAW,SAAQ,eAAQ;IAC/C,mBAAmB,CAAE,MAAkB,EAAE,OAAe;;QACtD,OAAO,MAAA,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,0CAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAC5D,CAAC;IAED,mBAAmB,CAAE,MAAkB,EAAE,OAAe;;QACtD,MAAA,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,0CAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IACrD,CAAC;IAED,kBAAkB,CAAE,MAAkB,EAAE,OAAe;;QACrD,MAAA,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,0CAAE,YAAY,CAAC,MAAM,CAAC,CAAC;IACpD,CAAC;IAED,oBAAoB,CAAE,MAAkB,EAAE,OAAe;;QACvD,MAAA,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,0CAAE,YAAY,CAAC,MAAM,CAAC,CAAC;IACpD,CAAC;IAED,iBAAiB;QACf,sBAAsB;IACxB,CAAC;IAED,kBAAkB;IAClB,CAAC;CACF;AAvBD,gCAuBC"}
|
package/package.json
CHANGED
package/src/base/game-master.ts
CHANGED
|
@@ -21,6 +21,29 @@ export abstract class GameMaster {
|
|
|
21
21
|
this.controlRestart = new GameControlRestart(this.table.getRestartTimeout(), this.onHandleRestartTimeout);
|
|
22
22
|
}
|
|
23
23
|
|
|
24
|
+
static parseTableId (roomIdWithTable: string): {
|
|
25
|
+
roomId: string;
|
|
26
|
+
tableId: string;
|
|
27
|
+
} {
|
|
28
|
+
const pattern = /([a-zA-z0-9.]*)_([0-9]*)/;
|
|
29
|
+
const data = roomIdWithTable.match(pattern);
|
|
30
|
+
|
|
31
|
+
if (!data) {
|
|
32
|
+
const pattern2 = /([a-zA-z0-9.]*)/;
|
|
33
|
+
const data2 = roomIdWithTable.match(pattern2);
|
|
34
|
+
|
|
35
|
+
return {
|
|
36
|
+
roomId: data2?.[1] ?? '',
|
|
37
|
+
tableId: '1',
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
return {
|
|
42
|
+
roomId: data?.[1] ?? '',
|
|
43
|
+
tableId: data?.[2] ?? '',
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
|
|
24
47
|
abstract onHandleTurnTimeout (player: GamePlayer);
|
|
25
48
|
|
|
26
49
|
abstract onHandleRestartTimeout ();
|
|
@@ -71,8 +94,10 @@ export abstract class GameMaster {
|
|
|
71
94
|
}
|
|
72
95
|
}
|
|
73
96
|
|
|
74
|
-
watchTheTable (player: GamePlayer) {
|
|
97
|
+
watchTheTable<T extends BaseGameStateType> (player: GamePlayer): T {
|
|
75
98
|
this.table.addPlayerToWatchers(player);
|
|
99
|
+
|
|
100
|
+
return this.getGameState() as T;
|
|
76
101
|
}
|
|
77
102
|
|
|
78
103
|
startFromWhite () {
|
package/src/base/game-room.ts
CHANGED
|
@@ -92,8 +92,8 @@ export abstract class GameRoom {
|
|
|
92
92
|
return this.masters.length === 1;
|
|
93
93
|
}
|
|
94
94
|
|
|
95
|
-
getMasterById (
|
|
96
|
-
return this.masters.find((item) => item.getId() ===
|
|
95
|
+
getMasterById (tableId: string): GameMaster | undefined {
|
|
96
|
+
return this.masters.find((item) => item.getId() === tableId);
|
|
97
97
|
}
|
|
98
98
|
|
|
99
99
|
getFreeTableNumber (): number {
|
|
@@ -132,27 +132,4 @@ export abstract class GameRoom {
|
|
|
132
132
|
onRoomRestartRound: this.handleRestartRound,
|
|
133
133
|
};
|
|
134
134
|
}
|
|
135
|
-
|
|
136
|
-
parseTableId (roomIdWithTable: string): {
|
|
137
|
-
roomId: string;
|
|
138
|
-
tableId: string;
|
|
139
|
-
} {
|
|
140
|
-
const pattern = /([a-zA-z0-9.]*)_([0-9]*)/;
|
|
141
|
-
const data = roomIdWithTable.match(pattern);
|
|
142
|
-
|
|
143
|
-
if (!data) {
|
|
144
|
-
const pattern2 = /([a-zA-z0-9.]*)/;
|
|
145
|
-
const data2 = roomIdWithTable.match(pattern2);
|
|
146
|
-
|
|
147
|
-
return {
|
|
148
|
-
roomId: data2?.[1] ?? '',
|
|
149
|
-
tableId: '1',
|
|
150
|
-
};
|
|
151
|
-
}
|
|
152
|
-
|
|
153
|
-
return {
|
|
154
|
-
roomId: data?.[1] ?? '',
|
|
155
|
-
tableId: data?.[2] ?? '',
|
|
156
|
-
};
|
|
157
|
-
}
|
|
158
135
|
}
|
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
import { GamePlayer, GameRoom } from '../base';
|
|
2
2
|
|
|
3
3
|
export abstract class SimpleRoom extends GameRoom {
|
|
4
|
-
handleWatchTheTable (player: GamePlayer,
|
|
5
|
-
this.getMasterById(
|
|
4
|
+
handleWatchTheTable (player: GamePlayer, tableId: string) {
|
|
5
|
+
return this.getMasterById(tableId)?.watchTheTable(player);
|
|
6
6
|
}
|
|
7
7
|
|
|
8
|
-
handleEnterTheTable (player: GamePlayer,
|
|
9
|
-
this.getMasterById(
|
|
8
|
+
handleEnterTheTable (player: GamePlayer, tableId: string) {
|
|
9
|
+
this.getMasterById(tableId)?.enterTheTable(player);
|
|
10
10
|
}
|
|
11
11
|
|
|
12
|
-
handleExitTheTable (player: GamePlayer,
|
|
13
|
-
this.getMasterById(
|
|
12
|
+
handleExitTheTable (player: GamePlayer, tableId: string) {
|
|
13
|
+
this.getMasterById(tableId)?.exitTheTable(player);
|
|
14
14
|
}
|
|
15
15
|
|
|
16
|
-
handleMoveOnTheTable (player: GamePlayer,
|
|
17
|
-
this.getMasterById(
|
|
16
|
+
handleMoveOnTheTable (player: GamePlayer, tableId: string) {
|
|
17
|
+
this.getMasterById(tableId)?.onHandleMove(player);
|
|
18
18
|
}
|
|
19
19
|
|
|
20
20
|
handleFinishRound () {
|