jp.ms.common.engine 1.0.4 → 1.0.5

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 (43) hide show
  1. package/dist/base/base-game-state.type.d.ts +8 -0
  2. package/dist/base/base-game-state.type.d.ts.map +1 -0
  3. package/dist/base/base-game-state.type.js +3 -0
  4. package/dist/base/base-game-state.type.js.map +1 -0
  5. package/dist/base/game-master.d.ts +5 -2
  6. package/dist/base/game-master.d.ts.map +1 -1
  7. package/dist/base/game-master.js +11 -0
  8. package/dist/base/game-master.js.map +1 -1
  9. package/dist/base/game-player-connections-helper.d.ts +9 -2
  10. package/dist/base/game-player-connections-helper.d.ts.map +1 -1
  11. package/dist/base/game-player-connections-helper.js +12 -8
  12. package/dist/base/game-player-connections-helper.js.map +1 -1
  13. package/dist/base/game-player.d.ts +1 -0
  14. package/dist/base/game-player.d.ts.map +1 -1
  15. package/dist/base/game-player.js +5 -0
  16. package/dist/base/game-player.js.map +1 -1
  17. package/dist/base/game-round.d.ts +1 -0
  18. package/dist/base/game-round.d.ts.map +1 -1
  19. package/dist/base/game-round.js +3 -0
  20. package/dist/base/game-round.js.map +1 -1
  21. package/dist/base/game-table.d.ts +1 -0
  22. package/dist/base/game-table.d.ts.map +1 -1
  23. package/dist/base/game-table.js +7 -0
  24. package/dist/base/game-table.js.map +1 -1
  25. package/dist/base/index.d.ts +2 -1
  26. package/dist/base/index.d.ts.map +1 -1
  27. package/dist/base/index.js.map +1 -1
  28. package/dist/cards-game/cards-game-master.d.ts.map +1 -1
  29. package/dist/cards-game/cards-game-master.js +1 -0
  30. package/dist/cards-game/cards-game-master.js.map +1 -1
  31. package/dist/tests/just-black-jack/domain/black-jack-game-master.d.ts.map +1 -1
  32. package/dist/tests/just-black-jack/domain/black-jack-game-master.js +2 -3
  33. package/dist/tests/just-black-jack/domain/black-jack-game-master.js.map +1 -1
  34. package/package.json +1 -1
  35. package/src/base/base-game-state.type.ts +7 -0
  36. package/src/base/game-master.ts +16 -3
  37. package/src/base/game-player-connections-helper.ts +20 -15
  38. package/src/base/game-player.ts +6 -0
  39. package/src/base/game-round.ts +4 -0
  40. package/src/base/game-table.ts +8 -0
  41. package/src/base/index.ts +2 -0
  42. package/src/cards-game/cards-game-master.ts +1 -0
  43. package/src/tests/just-black-jack/domain/black-jack-game-master.ts +3 -4
@@ -0,0 +1,8 @@
1
+ export type BaseGameStateType = {
2
+ roomId: string;
3
+ tableId: string;
4
+ gameId: string;
5
+ pot: number;
6
+ players: Array<string>;
7
+ };
8
+ //# sourceMappingURL=base-game-state.type.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-game-state.type.d.ts","sourceRoot":"","sources":["../../src/base/base-game-state.type.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,iBAAiB,GAAG;IAC9B,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,CAAA"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=base-game-state.type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-game-state.type.js","sourceRoot":"","sources":["../../src/base/base-game-state.type.ts"],"names":[],"mappings":""}
@@ -5,20 +5,22 @@ import { GameTable } from './game-table';
5
5
  import { GameSummaryResult } from './game-summary-result';
6
6
  import { GameRound } from './game-round';
7
7
  import { GameRoom } from './game-room';
8
+ import { BaseGameStateType } from './base-game-state.type';
8
9
  export declare abstract class GameMaster {
10
+ protected readonly room: GameRoom;
9
11
  protected readonly table: GameTable;
10
- protected gameRound: GameRound | null;
12
+ protected gameRound?: GameRound;
11
13
  readonly controlTurn: GameControlPlayerTurn;
12
14
  readonly controlRestart: GameControlRestart;
13
15
  protected constructor(room: GameRoom);
14
16
  abstract onHandleTurnTimeout(player: GamePlayer): any;
15
17
  abstract onHandleRestartTimeout(): any;
18
+ abstract onHandleMove(player: GamePlayer): any;
16
19
  abstract kickPlayer(player: GamePlayer): any;
17
20
  abstract startNewRound(): any;
18
21
  abstract finishRound(): any;
19
22
  abstract changePlayer(): any;
20
23
  abstract getResults(): GameSummaryResult | null;
21
- abstract onHandleMove(player: GamePlayer): any;
22
24
  getId(): string;
23
25
  setGameRound(gameRound: GameRound): void;
24
26
  getGameRound(): GameRound | null;
@@ -33,5 +35,6 @@ export declare abstract class GameMaster {
33
35
  getNextPlayer(): GamePlayer;
34
36
  getNextAfterNextPlayer(): GamePlayer;
35
37
  getNextPlayerBySeat(seat: number): GamePlayer;
38
+ getGameState(): BaseGameStateType;
36
39
  }
37
40
  //# sourceMappingURL=game-master.d.ts.map
@@ -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;AAEvC,8BAAsB,UAAU;IAC5B,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC;IACpC,SAAS,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI,CAAC;IACtC,SAAgB,WAAW,EAAE,qBAAqB,CAAC;IACnD,SAAgB,cAAc,EAAE,kBAAkB,CAAC;IAEnD,SAAS,aAAc,IAAI,EAAE,QAAQ;IAMrC,QAAQ,CAAC,mBAAmB,CAAE,MAAM,EAAE,UAAU;IAEhD,QAAQ,CAAC,sBAAsB;IAE/B,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,QAAQ,CAAC,YAAY,CAAE,MAAM,EAAE,UAAU;IAEzC,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,CAAE,MAAM,EAAE,UAAU;IAIjC,cAAc;IAOd,qBAAqB;IASrB,4BAA4B;IAS5B,eAAe,IAAK,UAAU,GAAG,IAAI;IAIrC,aAAa;IAIb,sBAAsB;IAItB,mBAAmB,CAAE,IAAI,EAAE,MAAM;CAGpC"}
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,CAAE,MAAM,EAAE,UAAU;IAIjC,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"}
@@ -6,6 +6,7 @@ const game_control_restart_1 = require("./game-control-restart");
6
6
  const game_table_1 = require("./game-table");
7
7
  class GameMaster {
8
8
  constructor(room) {
9
+ this.room = room;
9
10
  this.table = new game_table_1.GameTable(room.getConfigForTable());
10
11
  this.controlTurn = new game_control_player_turn_1.GameControlPlayerTurn(this.table.getTurnTimeout(), this.onHandleTurnTimeout);
11
12
  this.controlRestart = new game_control_restart_1.GameControlRestart(this.table.getRestartTimeout(), this.onHandleRestartTimeout);
@@ -82,6 +83,16 @@ class GameMaster {
82
83
  getNextPlayerBySeat(seat) {
83
84
  return this.table.getSeats().getNextPlayer(seat);
84
85
  }
86
+ getGameState() {
87
+ var _a, _b, _c;
88
+ return {
89
+ roomId: this.room.getId(),
90
+ tableId: this.table.getId(),
91
+ gameId: (_a = this.gameRound) === null || _a === void 0 ? void 0 : _a.getId(),
92
+ pot: (_c = (_b = this.gameRound) === null || _b === void 0 ? void 0 : _b.getPot()) !== null && _c !== void 0 ? _c : 0,
93
+ players: this.getTable().getPlayers().map((item) => item.getFullName()),
94
+ };
95
+ }
85
96
  }
86
97
  exports.GameMaster = GameMaster;
87
98
  //# sourceMappingURL=game-master.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"game-master.js","sourceRoot":"","sources":["../../src/base/game-master.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"game-master.js","sourceRoot":"","sources":["../../src/base/game-master.ts"],"names":[],"mappings":"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"}
@@ -6,10 +6,17 @@ export declare class GamePlayerConnectionsHelper {
6
6
  key: string;
7
7
  connection: Socket<import("socket.io").DefaultEventsMap, import("socket.io").DefaultEventsMap, import("socket.io").DefaultEventsMap, any>;
8
8
  }[];
9
+ getAllOpenConnections(): Socket<import("socket.io").DefaultEventsMap, import("socket.io").DefaultEventsMap, import("socket.io").DefaultEventsMap, any>[];
10
+ getOpenConnections(): {
11
+ key: string;
12
+ connection: Socket<import("socket.io").DefaultEventsMap, import("socket.io").DefaultEventsMap, import("socket.io").DefaultEventsMap, any>;
13
+ }[];
14
+ getClosedConnections(): {
15
+ key: string;
16
+ connection: Socket<import("socket.io").DefaultEventsMap, import("socket.io").DefaultEventsMap, import("socket.io").DefaultEventsMap, any>;
17
+ }[];
9
18
  addConnection(connection: Socket): void;
10
19
  clearConnections(): void;
11
20
  hasOpenConnection(): boolean;
12
- private getOpenConnections;
13
- private getClosedConnections;
14
21
  }
15
22
  //# sourceMappingURL=game-player-connections-helper.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"game-player-connections-helper.d.ts","sourceRoot":"","sources":["../../src/base/game-player-connections-helper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAEnC,qBAAa,2BAA2B;IACpC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAyB;;IAM9C,iBAAiB;;;;IAKjB,aAAa,CAAE,UAAU,EAAE,MAAM;IAIjC,gBAAgB;IAMhB,iBAAiB;IAIxB,OAAO,CAAC,kBAAkB;IAM1B,OAAO,CAAC,oBAAoB;CAK/B"}
1
+ {"version":3,"file":"game-player-connections-helper.d.ts","sourceRoot":"","sources":["../../src/base/game-player-connections-helper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAEnC,qBAAa,2BAA2B;IACpC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAyB;;IAMrD,iBAAiB;;;;IAKjB,qBAAqB;IAKrB,kBAAkB;;;;IAMlB,oBAAoB;;;;IAMpB,aAAa,CAAE,UAAU,EAAE,MAAM;IAIjC,gBAAgB;IAMhB,iBAAiB;CAGpB"}
@@ -9,6 +9,18 @@ class GamePlayerConnectionsHelper {
9
9
  return Object.keys(this.connections)
10
10
  .map((key) => ({ key, connection: this.connections[key] }));
11
11
  }
12
+ getAllOpenConnections() {
13
+ return this.getOpenConnections()
14
+ .map((item) => item.connection);
15
+ }
16
+ getOpenConnections() {
17
+ return this.getAllConnections()
18
+ .filter((connection) => connection.connection.connected);
19
+ }
20
+ getClosedConnections() {
21
+ return this.getAllConnections()
22
+ .filter((connection) => !connection.connection.connected);
23
+ }
12
24
  addConnection(connection) {
13
25
  this.connections[connection.id] = connection;
14
26
  }
@@ -20,14 +32,6 @@ class GamePlayerConnectionsHelper {
20
32
  hasOpenConnection() {
21
33
  return this.getOpenConnections().length > 0;
22
34
  }
23
- getOpenConnections() {
24
- return this.getAllConnections()
25
- .filter((connection) => connection.connection.connected);
26
- }
27
- getClosedConnections() {
28
- return this.getAllConnections()
29
- .filter((connection) => !connection.connection.connected);
30
- }
31
35
  }
32
36
  exports.GamePlayerConnectionsHelper = GamePlayerConnectionsHelper;
33
37
  //# sourceMappingURL=game-player-connections-helper.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"game-player-connections-helper.js","sourceRoot":"","sources":["../../src/base/game-player-connections-helper.ts"],"names":[],"mappings":";;;AAEA,MAAa,2BAA2B;IAGpC;QACI,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;IAC1B,CAAC;IAEM,iBAAiB;QACpB,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC;aAC/B,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IACpE,CAAC;IAEM,aAAa,CAAE,UAAkB;QACpC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC;IACjD,CAAC;IAEM,gBAAgB;QACnB,IAAI,CAAC,oBAAoB,EAAE,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE;YAC/C,OAAO,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;IACP,CAAC;IAEM,iBAAiB;QACpB,OAAO,IAAI,CAAC,kBAAkB,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;IAChD,CAAC;IAEO,kBAAkB;QACtB,OAAO,IAAI,CAAC,iBAAiB,EAAE;aAC1B,MAAM,CAAC,CAAC,UAAU,EAAE,EAAE,CACnB,UAAU,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;IAC7C,CAAC;IAEO,oBAAoB;QACxB,OAAO,IAAI,CAAC,iBAAiB,EAAE;aAC1B,MAAM,CAAC,CAAC,UAAU,EAAE,EAAE,CACnB,CAAC,UAAU,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;IAC9C,CAAC;CACJ;AArCD,kEAqCC"}
1
+ {"version":3,"file":"game-player-connections-helper.js","sourceRoot":"","sources":["../../src/base/game-player-connections-helper.ts"],"names":[],"mappings":";;;AAEA,MAAa,2BAA2B;IAGpC;QACI,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;IAC1B,CAAC;IAED,iBAAiB;QACb,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC;aAC/B,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IACpE,CAAC;IAED,qBAAqB;QACjB,OAAO,IAAI,CAAC,kBAAkB,EAAE;aAC3B,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACxC,CAAC;IAED,kBAAkB;QACd,OAAO,IAAI,CAAC,iBAAiB,EAAE;aAC1B,MAAM,CAAC,CAAC,UAAU,EAAE,EAAE,CACnB,UAAU,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;IAC7C,CAAC;IAED,oBAAoB;QAChB,OAAO,IAAI,CAAC,iBAAiB,EAAE;aAC1B,MAAM,CAAC,CAAC,UAAU,EAAE,EAAE,CACnB,CAAC,UAAU,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;IAC9C,CAAC;IAED,aAAa,CAAE,UAAkB;QAC7B,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC;IACjD,CAAC;IAED,gBAAgB;QACZ,IAAI,CAAC,oBAAoB,EAAE,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE;YAC/C,OAAO,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;IACP,CAAC;IAED,iBAAiB;QACb,OAAO,IAAI,CAAC,kBAAkB,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;IAChD,CAAC;CACJ;AA1CD,kEA0CC"}
@@ -54,6 +54,7 @@ export declare abstract class GamePlayer {
54
54
  setStack(stack: number): void;
55
55
  hasEmptyStack(): boolean;
56
56
  hasOpenConnection(): boolean;
57
+ sendMessage(message: string): void;
57
58
  flush(): void;
58
59
  getMove(): GamePlayerMove;
59
60
  setMove(move: GamePlayerMove): void;
@@ -1 +1 @@
1
- {"version":3,"file":"game-player.d.ts","sourceRoot":"","sources":["../../src/base/game-player.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAE/E,oBAAY,cAAc;IACtB,OAAO,YAAY;IACnB,OAAO,YAAY;IACnB,YAAY,iBAAiB;IAC7B,MAAM,WAAW;IACjB,iBAAiB,sBAAsB;CAC1C;AAED,oBAAY,eAAe;IACvB,QAAQ,IAAI;IACZ,KAAK,IAAI;IACT,KAAK,KAAK;CACb;AAED,8BAAsB,UAAU;IAC5B,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAS;IAC5B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,MAAM,CAAuB;IACrC,OAAO,CAAC,MAAM,CAAuB;IACrC,OAAO,CAAC,OAAO,CAAuB;IACtC,OAAO,CAAC,UAAU,CAAuB;IACzC,OAAO,CAAC,IAAI,CAAuB;IACnC,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,GAAG,CAAS;IACpB,OAAO,CAAC,IAAI,CAA6B;IACzC,SAAgB,WAAW,EAAE,2BAA2B,CAAC;IAEzD,SAAS,aACL,EAAE,EAAE,MAAM,EACV,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,KAAK,CAAC,EAAE,MAAM;IAYlB,KAAK,IAAK,MAAM;IAIhB,WAAW,IAAK,MAAM;IAItB,YAAY,IAAK,MAAM;IAIvB,UAAU,IAAK,MAAM;IAIrB,eAAe,CAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAItC,eAAe,CAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAItC,OAAO,CAAE,GAAG,EAAE,MAAM;IAKpB,MAAM;IAIN,WAAW,CAAE,GAAG,EAAE,MAAM;IAKxB,QAAQ;IAIR,SAAS;IAIT,UAAU;IAIV,aAAa;IAIb,KAAK,CAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;IAMtC,IAAI,CAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM;IAOzD,eAAe,CAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;IAMhD,oBAAoB,CAAE,MAAM,EAAE,MAAM;IAKpC,SAAS,IAAK,OAAO;IAIrB,QAAQ,IAAK,OAAO;IAIpB,aAAa,IAAK,OAAO;IAIzB,kBAAkB,IAAK,OAAO;IAI9B,IAAI;IAOJ,QAAQ;IAIR,QAAQ,CAAE,KAAK,EAAE,MAAM;IAIvB,aAAa;IAIb,iBAAiB;IAIjB,KAAK;IAIL,OAAO;IAIP,OAAO,CAAE,IAAI,EAAE,cAAc;IAI7B,OAAO;IAIP,OAAO;CAGV"}
1
+ {"version":3,"file":"game-player.d.ts","sourceRoot":"","sources":["../../src/base/game-player.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAE/E,oBAAY,cAAc;IACtB,OAAO,YAAY;IACnB,OAAO,YAAY;IACnB,YAAY,iBAAiB;IAC7B,MAAM,WAAW;IACjB,iBAAiB,sBAAsB;CAC1C;AAED,oBAAY,eAAe;IACvB,QAAQ,IAAI;IACZ,KAAK,IAAI;IACT,KAAK,KAAK;CACb;AAED,8BAAsB,UAAU;IAC5B,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAS;IAC5B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,MAAM,CAAuB;IACrC,OAAO,CAAC,MAAM,CAAuB;IACrC,OAAO,CAAC,OAAO,CAAuB;IACtC,OAAO,CAAC,UAAU,CAAuB;IACzC,OAAO,CAAC,IAAI,CAAuB;IACnC,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,GAAG,CAAS;IACpB,OAAO,CAAC,IAAI,CAA6B;IACzC,SAAgB,WAAW,EAAE,2BAA2B,CAAC;IAEzD,SAAS,aACL,EAAE,EAAE,MAAM,EACV,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,KAAK,CAAC,EAAE,MAAM;IAYlB,KAAK,IAAK,MAAM;IAIhB,WAAW,IAAK,MAAM;IAItB,YAAY,IAAK,MAAM;IAIvB,UAAU,IAAK,MAAM;IAIrB,eAAe,CAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAItC,eAAe,CAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAItC,OAAO,CAAE,GAAG,EAAE,MAAM;IAKpB,MAAM;IAIN,WAAW,CAAE,GAAG,EAAE,MAAM;IAKxB,QAAQ;IAIR,SAAS;IAIT,UAAU;IAIV,aAAa;IAIb,KAAK,CAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;IAMtC,IAAI,CAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM;IAOzD,eAAe,CAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;IAMhD,oBAAoB,CAAE,MAAM,EAAE,MAAM;IAKpC,SAAS,IAAK,OAAO;IAIrB,QAAQ,IAAK,OAAO;IAIpB,aAAa,IAAK,OAAO;IAIzB,kBAAkB,IAAK,OAAO;IAI9B,IAAI;IAOJ,QAAQ;IAIR,QAAQ,CAAE,KAAK,EAAE,MAAM;IAIvB,aAAa;IAIb,iBAAiB;IAIjB,WAAW,CAAE,OAAO,EAAE,MAAM;IAM5B,KAAK;IAIL,OAAO;IAIP,OAAO,CAAE,IAAI,EAAE,cAAc;IAI7B,OAAO;IAIP,OAAO;CAGV"}
@@ -123,6 +123,11 @@ class GamePlayer {
123
123
  hasOpenConnection() {
124
124
  return this.connections.hasOpenConnection();
125
125
  }
126
+ sendMessage(message) {
127
+ this.connections.getAllOpenConnections().forEach((connection) => {
128
+ connection.send(message);
129
+ });
130
+ }
126
131
  flush() {
127
132
  }
128
133
  getMove() {
@@ -1 +1 @@
1
- {"version":3,"file":"game-player.js","sourceRoot":"","sources":["../../src/base/game-player.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"game-player.js","sourceRoot":"","sources":["../../src/base/game-player.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,7 @@ export declare class GameRound {
14
14
  private state;
15
15
  private activePlayer;
16
16
  constructor(state: GameStateMachine);
17
+ getId(): string;
17
18
  getState(): GameStateMachine;
18
19
  getHistory(): Array<GameRoundHistoryItem>;
19
20
  addToHistory(item: GameRoundHistoryItem): void;
@@ -1 +1 @@
1
- {"version":3,"file":"game-round.d.ts","sourceRoot":"","sources":["../../src/base/game-round.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAExD,MAAM,MAAM,oBAAoB,GAAG;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,IAAI,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACjB,CAAA;AAED,qBAAa,SAAS;IAClB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA8B;IACtD,OAAO,CAAC,EAAE,CAAS;IACnB,OAAO,CAAC,GAAG,CAAS;IACpB,OAAO,CAAC,KAAK,CAAmB;IAChC,OAAO,CAAC,YAAY,CAAa;gBAEpB,KAAK,EAAE,gBAAgB;IAOpC,QAAQ,IAAK,gBAAgB;IAI7B,UAAU,IAAK,KAAK,CAAC,oBAAoB,CAAC;IAI1C,YAAY,CAAE,IAAI,EAAE,oBAAoB,GAAG,IAAI;IAI/C,QAAQ,CAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAI/B,MAAM,IAAK,MAAM;IAIjB,eAAe;IAIf,eAAe,CAAE,YAAY,EAAE,UAAU;CAG5C"}
1
+ {"version":3,"file":"game-round.d.ts","sourceRoot":"","sources":["../../src/base/game-round.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAExD,MAAM,MAAM,oBAAoB,GAAG;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,IAAI,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACjB,CAAA;AAED,qBAAa,SAAS;IAClB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA8B;IACtD,OAAO,CAAC,EAAE,CAAS;IACnB,OAAO,CAAC,GAAG,CAAS;IACpB,OAAO,CAAC,KAAK,CAAmB;IAChC,OAAO,CAAC,YAAY,CAAa;gBAEpB,KAAK,EAAE,gBAAgB;IAOpC,KAAK,IAAK,MAAM;IAIhB,QAAQ,IAAK,gBAAgB;IAI7B,UAAU,IAAK,KAAK,CAAC,oBAAoB,CAAC;IAI1C,YAAY,CAAE,IAAI,EAAE,oBAAoB,GAAG,IAAI;IAI/C,QAAQ,CAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAI/B,MAAM,IAAK,MAAM;IAIjB,eAAe;IAIf,eAAe,CAAE,YAAY,EAAE,UAAU;CAG5C"}
@@ -9,6 +9,9 @@ class GameRound {
9
9
  this.history = [];
10
10
  this.state = state;
11
11
  }
12
+ getId() {
13
+ return this.id;
14
+ }
12
15
  getState() {
13
16
  return this.state;
14
17
  }
@@ -1 +1 @@
1
- {"version":3,"file":"game-round.js","sourceRoot":"","sources":["../../src/base/game-round.ts"],"names":[],"mappings":";;;AAAA,+BAAmC;AAanC,MAAa,SAAS;IAOlB,YAAa,KAAuB;QAChC,IAAI,CAAC,EAAE,GAAG,IAAA,SAAK,GAAE,CAAC;QAClB,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC;QACb,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QAClB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACvB,CAAC;IAED,QAAQ;QACJ,OAAO,IAAI,CAAC,KAAK,CAAC;IACtB,CAAC;IAED,UAAU;QACN,OAAO,IAAI,CAAC,OAAO,CAAC;IACxB,CAAC;IAED,YAAY,CAAE,IAA0B;QACpC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAED,QAAQ,CAAE,MAAc;QACpB,IAAI,CAAC,GAAG,IAAI,MAAM,CAAC;IACvB,CAAC;IAED,MAAM;QACF,OAAO,IAAI,CAAC,GAAG,CAAC;IACpB,CAAC;IAED,eAAe;QACX,OAAO,IAAI,CAAC,YAAY,CAAC;IAC7B,CAAC;IAED,eAAe,CAAE,YAAwB;QACrC,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;IACrC,CAAC;CACJ;AAzCD,8BAyCC"}
1
+ {"version":3,"file":"game-round.js","sourceRoot":"","sources":["../../src/base/game-round.ts"],"names":[],"mappings":";;;AAAA,+BAAmC;AAanC,MAAa,SAAS;IAOlB,YAAa,KAAuB;QAChC,IAAI,CAAC,EAAE,GAAG,IAAA,SAAK,GAAE,CAAC;QAClB,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC;QACb,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QAClB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACvB,CAAC;IAED,KAAK;QACD,OAAO,IAAI,CAAC,EAAE,CAAC;IACnB,CAAC;IAED,QAAQ;QACJ,OAAO,IAAI,CAAC,KAAK,CAAC;IACtB,CAAC;IAED,UAAU;QACN,OAAO,IAAI,CAAC,OAAO,CAAC;IACxB,CAAC;IAED,YAAY,CAAE,IAA0B;QACpC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAED,QAAQ,CAAE,MAAc;QACpB,IAAI,CAAC,GAAG,IAAI,MAAM,CAAC;IACvB,CAAC;IAED,MAAM;QACF,OAAO,IAAI,CAAC,GAAG,CAAC;IACpB,CAAC;IAED,eAAe;QACX,OAAO,IAAI,CAAC,YAAY,CAAC;IAC7B,CAAC;IAED,eAAe,CAAE,YAAwB;QACrC,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;IACrC,CAAC;CACJ;AA7CD,8BA6CC"}
@@ -52,6 +52,7 @@ export declare class GameTable {
52
52
  addPlayerToWatchers(player: GamePlayer): void;
53
53
  removePlayerFromWatchers(player: GamePlayer): void;
54
54
  hasInWatchers(PlayerId: string): boolean;
55
+ getAllWatchers(): GamePlayer[];
55
56
  isFull(): boolean;
56
57
  getSeats(): GameTableSeats;
57
58
  hasSeats(): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"game-table.d.ts","sourceRoot":"","sources":["../../src/base/game-table.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,MAAM,MAAM,eAAe,GAAG;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,CAAA;IAC7C,kBAAkB,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,CAAA;CACjD,CAAA;AAED,qBAAa,SAAS;IAClB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAS;IAC7B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IACxC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAoB;IAC1C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAoB;IAC7C,SAAgB,KAAK,EAAE,cAAc,CAAC;IAC/B,MAAM,EAAE,UAAU,CAAC;IACnB,iBAAiB,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,CAAC;IAC9C,kBAAkB,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,CAAC;gBAEzC,MAAM,EAAE,eAAe;IAcpC,SAAS;IAIT,KAAK;IAIL,SAAS,IAAK,MAAM;IAIpB,YAAY,IAAK,MAAM;IAIvB,MAAM;IAIN,UAAU;IAIV,cAAc;IAId,iBAAiB;IAIjB,eAAe,CAAE,MAAM,EAAE,UAAU,GAAG,OAAO;IAW7C,oBAAoB,CAAE,MAAM,EAAE,UAAU,GAAG,IAAI;IAQ/C,UAAU,IAAK,KAAK,CAAC,UAAU,CAAC;IAIhC,gBAAgB,CAAE,KAAK,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS;IAIxD,mBAAmB,IAAK,KAAK,CAAC,UAAU,CAAC;IAIzC,aAAa,IAAK,UAAU,GAAG,IAAI;IAInC,eAAe,IAAK,OAAO;IAI3B,aAAa,IAAK,OAAO;IAIzB,oBAAoB,IAAK,KAAK,CAAC,UAAU,CAAC;IAI1C,QAAQ,IAAK,KAAK,CAAC,UAAU,CAAC;IAI9B,mBAAmB,IAAK,KAAK,CAAC,UAAU,CAAC;IAIzC,gBAAgB,CAAE,MAAM,EAAE,UAAU,GAAG,IAAI;IAK3C,qBAAqB,CAAE,MAAM,EAAE,UAAU,GAAG,IAAI;IAKhD,UAAU,CAAE,QAAQ,EAAE,MAAM,GAAG,OAAO;IAItC,WAAW,IAAK,KAAK,CAAC,UAAU,CAAC;IAIjC,mBAAmB,CAAE,MAAM,EAAE,UAAU,GAAG,IAAI;IAK9C,wBAAwB,CAAE,MAAM,EAAE,UAAU,GAAG,IAAI;IAKnD,aAAa,CAAE,QAAQ,EAAE,MAAM,GAAG,OAAO;IAIzC,MAAM,IAAK,OAAO;IAIlB,QAAQ,IAAK,cAAc;IAI3B,QAAQ,IAAK,OAAO;IAIpB,aAAa;IAIb,cAAc;CAGjB"}
1
+ {"version":3,"file":"game-table.d.ts","sourceRoot":"","sources":["../../src/base/game-table.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,MAAM,MAAM,eAAe,GAAG;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,CAAA;IAC7C,kBAAkB,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,CAAA;CACjD,CAAA;AAED,qBAAa,SAAS;IAClB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAS;IAC7B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IACxC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAoB;IAC1C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAoB;IAC7C,SAAgB,KAAK,EAAE,cAAc,CAAC;IAC/B,MAAM,EAAE,UAAU,CAAC;IACnB,iBAAiB,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,CAAC;IAC9C,kBAAkB,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,CAAC;gBAEzC,MAAM,EAAE,eAAe;IAcpC,SAAS;IAIT,KAAK;IAIL,SAAS,IAAK,MAAM;IAIpB,YAAY,IAAK,MAAM;IAIvB,MAAM;IAIN,UAAU;IAIV,cAAc;IAId,iBAAiB;IAIjB,eAAe,CAAE,MAAM,EAAE,UAAU,GAAG,OAAO;IAW7C,oBAAoB,CAAE,MAAM,EAAE,UAAU,GAAG,IAAI;IAQ/C,UAAU,IAAK,KAAK,CAAC,UAAU,CAAC;IAIhC,gBAAgB,CAAE,KAAK,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS;IAIxD,mBAAmB,IAAK,KAAK,CAAC,UAAU,CAAC;IAIzC,aAAa,IAAK,UAAU,GAAG,IAAI;IAInC,eAAe,IAAK,OAAO;IAI3B,aAAa,IAAK,OAAO;IAIzB,oBAAoB,IAAK,KAAK,CAAC,UAAU,CAAC;IAI1C,QAAQ,IAAK,KAAK,CAAC,UAAU,CAAC;IAI9B,mBAAmB,IAAK,KAAK,CAAC,UAAU,CAAC;IAIzC,gBAAgB,CAAE,MAAM,EAAE,UAAU,GAAG,IAAI;IAK3C,qBAAqB,CAAE,MAAM,EAAE,UAAU,GAAG,IAAI;IAKhD,UAAU,CAAE,QAAQ,EAAE,MAAM,GAAG,OAAO;IAItC,WAAW,IAAK,KAAK,CAAC,UAAU,CAAC;IAIjC,mBAAmB,CAAE,MAAM,EAAE,UAAU,GAAG,IAAI;IAK9C,wBAAwB,CAAE,MAAM,EAAE,UAAU,GAAG,IAAI;IAKnD,aAAa,CAAE,QAAQ,EAAE,MAAM,GAAG,OAAO;IAIzC,cAAc;IAQd,MAAM,IAAK,OAAO;IAIlB,QAAQ,IAAK,cAAc;IAI3B,QAAQ,IAAK,OAAO;IAIpB,aAAa;IAIb,cAAc;CAGjB"}
@@ -110,6 +110,13 @@ class GameTable {
110
110
  hasInWatchers(PlayerId) {
111
111
  return !!this.getWatchers().find((watcher) => watcher.getId() === PlayerId);
112
112
  }
113
+ getAllWatchers() {
114
+ return [
115
+ ...this.getWatchers(),
116
+ ...this.getQueue(),
117
+ ...this.getPlayers(),
118
+ ];
119
+ }
113
120
  isFull() {
114
121
  return !this.seats.findFreeSeat();
115
122
  }
@@ -1 +1 @@
1
- {"version":3,"file":"game-table.js","sourceRoot":"","sources":["../../src/base/game-table.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"game-table.js","sourceRoot":"","sources":["../../src/base/game-table.ts"],"names":[],"mappings":"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"}
@@ -10,5 +10,6 @@ import { GameTable, GameTableConfig } from './game-table';
10
10
  import { GameTableSeat } from './game-table-seat';
11
11
  import { GameTableSeats } from './game-table-seats';
12
12
  import { StandardGameState } from './standard-game-state';
13
- export { GameControlPlayerTurn, GameControlRestart, GameMaster, GamePlayer, GamePlayerMove, GameRoom, GameRound, GameStateMachine, StateMachineConfig, GameTable, GameTableConfig, GameTableSeat, GameTableSeats, GameRoomConfig, StandardGameState, };
13
+ import { BaseGameStateType } from './base-game-state.type';
14
+ export { GameControlPlayerTurn, GameControlRestart, GameMaster, GamePlayer, GamePlayerMove, GameRoom, GameRound, GameStateMachine, StateMachineConfig, GameTable, GameTableConfig, GameTableSeat, GameTableSeats, GameRoomConfig, StandardGameState, BaseGameStateType, };
14
15
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/base/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC5E,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE1D,OAAO,EACH,qBAAqB,EACrB,kBAAkB,EAClB,UAAU,EACV,UAAU,EACV,cAAc,EACd,QAAQ,EACR,SAAS,EACT,gBAAgB,EAChB,kBAAkB,EAClB,SAAS,EACT,eAAe,EACf,aAAa,EACb,cAAc,EACd,cAAc,EACd,iBAAiB,GACpB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/base/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC5E,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE3D,OAAO,EACH,qBAAqB,EACrB,kBAAkB,EAClB,UAAU,EACV,UAAU,EACV,cAAc,EACd,QAAQ,EACR,SAAS,EACT,gBAAgB,EAChB,kBAAkB,EAClB,SAAS,EACT,eAAe,EACf,aAAa,EACb,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,iBAAiB,GACpB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/base/index.ts"],"names":[],"mappings":";;;AAAA,yEAAmE;AAc/D,sGAdK,gDAAqB,OAcL;AAbzB,iEAA4D;AAcxD,mGAdK,yCAAkB,OAcL;AAbtB,+CAA2C;AAcvC,2FAdK,wBAAU,OAcL;AAbd,+CAA2C;AAcvC,2FAdK,wBAAU,OAcL;AAbd,yDAAoD;AAchD,+FAdK,iCAAc,OAcL;AAblB,2CAAuD;AAcnD,yFAdK,oBAAQ,OAcL;AAbZ,6CAAyC;AAcrC,0FAdK,sBAAS,OAcL;AAbb,6DAA4E;AAcxE,iGAdK,qCAAgB,OAcL;AAbpB,6CAA0D;AAetD,0FAfK,sBAAS,OAeL;AAdb,uDAAkD;AAgB9C,8FAhBK,+BAAa,OAgBL;AAfjB,yDAAoD;AAgBhD,+FAhBK,iCAAc,OAgBL;AAflB,+DAA0D;AAiBtD,kGAjBK,uCAAiB,OAiBL"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/base/index.ts"],"names":[],"mappings":";;;AAAA,yEAAmE;AAe/D,sGAfK,gDAAqB,OAeL;AAdzB,iEAA4D;AAexD,mGAfK,yCAAkB,OAeL;AAdtB,+CAA2C;AAevC,2FAfK,wBAAU,OAeL;AAdd,+CAA2C;AAevC,2FAfK,wBAAU,OAeL;AAdd,yDAAoD;AAehD,+FAfK,iCAAc,OAeL;AAdlB,2CAAuD;AAenD,yFAfK,oBAAQ,OAeL;AAdZ,6CAAyC;AAerC,0FAfK,sBAAS,OAeL;AAdb,6DAA4E;AAexE,iGAfK,qCAAgB,OAeL;AAdpB,6CAA0D;AAgBtD,0FAhBK,sBAAS,OAgBL;AAfb,uDAAkD;AAiB9C,8FAjBK,+BAAa,OAiBL;AAhBjB,yDAAoD;AAiBhD,+FAjBK,iCAAc,OAiBL;AAhBlB,+DAA0D;AAkBtD,kGAlBK,uCAAiB,OAkBL"}
@@ -1 +1 @@
1
- {"version":3,"file":"cards-game-master.d.ts","sourceRoot":"","sources":["../../src/cards-game/cards-game-master.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAG/C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAMpC,8BAAsB,eAAgB,SAAQ,UAAU;IACpD,OAAO,CAAC,UAAU,CAAc;IAChC,OAAO,CAAC,QAAQ,CAAc;IAC9B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAc;gBAE3B,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC;IAOpD,WAAW;IAIX,WAAW;IAIX,YAAY;IAIZ,0BAA0B;IAO1B,iBAAiB,CAAE,IAAI,EAAE,IAAI;IAI7B,eAAe;IAIf,cAAc,CAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM;IAI5C,0BAA0B,CAAE,IAAI,EAAE,IAAI;IAItC,sBAAsB;IAItB,sBAAsB;IAItB,qBAAqB,CAAE,KAAK,EAAE,MAAM;IAMpC,kBAAkB,CAAE,MAAM,EAAE,WAAW;IAIvC,iBAAiB,CAAE,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM;CAQxD"}
1
+ {"version":3,"file":"cards-game-master.d.ts","sourceRoot":"","sources":["../../src/cards-game/cards-game-master.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAG/C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAMpC,8BAAsB,eAAgB,SAAQ,UAAU;IACpD,OAAO,CAAC,UAAU,CAAc;IAChC,OAAO,CAAC,QAAQ,CAAc;IAC9B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAc;gBAE3B,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC;IAOpD,WAAW;IAIX,WAAW;IAKX,YAAY;IAIZ,0BAA0B;IAO1B,iBAAiB,CAAE,IAAI,EAAE,IAAI;IAI7B,eAAe;IAIf,cAAc,CAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM;IAI5C,0BAA0B,CAAE,IAAI,EAAE,IAAI;IAItC,sBAAsB;IAItB,sBAAsB;IAItB,qBAAqB,CAAE,KAAK,EAAE,MAAM;IAMpC,kBAAkB,CAAE,MAAM,EAAE,WAAW;IAIvC,iBAAiB,CAAE,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM;CAQxD"}
@@ -18,6 +18,7 @@ class CardsGameMaster extends base_1.GameMaster {
18
18
  this.sourceDeck = (0, utils_1.superShuffle)(this.sourceDeck);
19
19
  }
20
20
  takeNewDeck() {
21
+ this.shuffleDeck();
21
22
  this.gameDeck = (0, lodash_1.cloneDeep)(this.sourceDeck);
22
23
  }
23
24
  getGameCards() {
@@ -1 +1 @@
1
- {"version":3,"file":"cards-game-master.js","sourceRoot":"","sources":["../../src/cards-game/cards-game-master.ts"],"names":[],"mappings":";;;AAAA,mCAAmC;AAEnC,kCAA+C;AAC/C,oCAAwC;AAKxC,MAAM,QAAQ,GAAG,CAAC,CAAC;AACnB,MAAM,SAAS,GAAG,CAAC,CAAC;AACpB,MAAM,SAAS,GAAG,CAAC,CAAC;AAEpB,MAAsB,eAAgB,SAAQ,iBAAU;IAKpD,YAAa,IAAc,EAAE,UAAuB;QAChD,KAAK,CAAC,IAAI,CAAC,CAAC;QACZ,IAAI,CAAC,UAAU,GAAG,IAAA,kBAAS,EAAC,UAAU,CAAC,CAAC;QACxC,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;IACxB,CAAC;IAED,WAAW;QACP,IAAI,CAAC,UAAU,GAAG,IAAA,oBAAY,EAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACpD,CAAC;IAED,WAAW;QACP,IAAI,CAAC,QAAQ,GAAG,IAAA,kBAAS,EAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC/C,CAAC;IAED,YAAY;QACR,OAAO,IAAI,CAAC,SAAS,CAAC;IAC1B,CAAC;IAED,0BAA0B;QACtB,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;QACpC,IAAI,OAAO,EAAE,CAAC;YACV,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACjC,CAAC;IACL,CAAC;IAED,iBAAiB,CAAE,IAAU;QACzB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IAED,eAAe;QACX,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;IAC/B,CAAC;IAED,cAAc,CAAE,IAAU,EAAE,QAAgB;QACxC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;IAC5C,CAAC;IAED,0BAA0B,CAAE,IAAU;QAClC,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IACjC,CAAC;IAED,sBAAsB;QAClB,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC;IAC1C,CAAC;IAED,sBAAsB;QAClB,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC;IAC1C,CAAC;IAED,qBAAqB,CAAE,KAAa;QAChC,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;YACvC,IAAI,CAAC,iBAAiB,CAAC,MAAqB,EAAE,KAAK,CAAC,CAAC;QACzD,CAAC,CAAC,CAAC;IACP,CAAC;IAED,kBAAkB,CAAE,MAAmB;QACnC,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;IAC5C,CAAC;IAED,iBAAiB,CAAE,MAAmB,EAAE,KAAa;QACjD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YAChC,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;YACvC,IAAI,OAAO,EAAE,CAAC;gBACV,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YAC7B,CAAC;QACL,CAAC;IACL,CAAC;CACJ;AAzED,0CAyEC"}
1
+ {"version":3,"file":"cards-game-master.js","sourceRoot":"","sources":["../../src/cards-game/cards-game-master.ts"],"names":[],"mappings":";;;AAAA,mCAAmC;AAEnC,kCAA+C;AAC/C,oCAAwC;AAKxC,MAAM,QAAQ,GAAG,CAAC,CAAC;AACnB,MAAM,SAAS,GAAG,CAAC,CAAC;AACpB,MAAM,SAAS,GAAG,CAAC,CAAC;AAEpB,MAAsB,eAAgB,SAAQ,iBAAU;IAKpD,YAAa,IAAc,EAAE,UAAuB;QAChD,KAAK,CAAC,IAAI,CAAC,CAAC;QACZ,IAAI,CAAC,UAAU,GAAG,IAAA,kBAAS,EAAC,UAAU,CAAC,CAAC;QACxC,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;IACxB,CAAC;IAED,WAAW;QACP,IAAI,CAAC,UAAU,GAAG,IAAA,oBAAY,EAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACpD,CAAC;IAED,WAAW;QACP,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,IAAI,CAAC,QAAQ,GAAG,IAAA,kBAAS,EAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC/C,CAAC;IAED,YAAY;QACR,OAAO,IAAI,CAAC,SAAS,CAAC;IAC1B,CAAC;IAED,0BAA0B;QACtB,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;QACpC,IAAI,OAAO,EAAE,CAAC;YACV,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACjC,CAAC;IACL,CAAC;IAED,iBAAiB,CAAE,IAAU;QACzB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IAED,eAAe;QACX,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;IAC/B,CAAC;IAED,cAAc,CAAE,IAAU,EAAE,QAAgB;QACxC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;IAC5C,CAAC;IAED,0BAA0B,CAAE,IAAU;QAClC,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IACjC,CAAC;IAED,sBAAsB;QAClB,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC;IAC1C,CAAC;IAED,sBAAsB;QAClB,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC;IAC1C,CAAC;IAED,qBAAqB,CAAE,KAAa;QAChC,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;YACvC,IAAI,CAAC,iBAAiB,CAAC,MAAqB,EAAE,KAAK,CAAC,CAAC;QACzD,CAAC,CAAC,CAAC;IACP,CAAC;IAED,kBAAkB,CAAE,MAAmB;QACnC,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;IAC5C,CAAC;IAED,iBAAiB,CAAE,MAAmB,EAAE,KAAa;QACjD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YAChC,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;YACvC,IAAI,OAAO,EAAE,CAAC;gBACV,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YAC7B,CAAC;QACL,CAAC;IACL,CAAC;CACJ;AA1ED,0CA0EC"}
@@ -1 +1 @@
1
- {"version":3,"file":"black-jack-game-master.d.ts","sourceRoot":"","sources":["../../../../src/tests/just-black-jack/domain/black-jack-game-master.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAGtD,oBAAY,uBAAuB;IAC/B,QAAQ,aAAa;IACrB,WAAW,gBAAgB;CAC9B;AAED,oBAAY,iBAAiB;IACzB,MAAM,WAAW;CACpB;AAED,qBAAa,mBAAoB,SAAQ,eAAe;IACpD,iBAAiB,IAAK,iBAAiB;IAIvC,UAAU,IAAK,KAAK,CAAC,eAAe,CAAC;IAIrC,aAAa;IAiBb,YAAY;IAIZ,WAAW;IAIX,UAAU,IAAK,EAAE,GAAG,IAAI;IAIxB,UAAU,CAAE,MAAM,EAAE,eAAe;IAGnC,YAAY,CAAE,MAAM,EAAE,eAAe;IAerC,sBAAsB;IAGtB,mBAAmB,CAAE,MAAM,EAAE,eAAe;IAG5C,OAAO,CAAE,MAAM,EAAE,eAAe;IAIhC,UAAU,CAAE,MAAM,EAAE,eAAe;IAUnC,QAAQ;IAIR,aAAa;IAIb,SAAS,IAAK,eAAe,GAAG,SAAS;CAG5C"}
1
+ {"version":3,"file":"black-jack-game-master.d.ts","sourceRoot":"","sources":["../../../../src/tests/just-black-jack/domain/black-jack-game-master.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAGtD,oBAAY,uBAAuB;IAC/B,QAAQ,aAAa;IACrB,WAAW,gBAAgB;CAC9B;AAED,oBAAY,iBAAiB;IACzB,MAAM,WAAW;CACpB;AAED,qBAAa,mBAAoB,SAAQ,eAAe;IACpD,iBAAiB,IAAK,iBAAiB;IAIvC,UAAU,IAAK,KAAK,CAAC,eAAe,CAAC;IAIrC,aAAa;IAgBb,YAAY;IAIZ,WAAW;IAIX,UAAU,IAAK,EAAE,GAAG,IAAI;IAIxB,UAAU,CAAE,MAAM,EAAE,eAAe;IAGnC,YAAY,CAAE,MAAM,EAAE,eAAe;IAerC,sBAAsB;IAGtB,mBAAmB,CAAE,MAAM,EAAE,eAAe;IAG5C,OAAO,CAAE,MAAM,EAAE,eAAe;IAIhC,UAAU,CAAE,MAAM,EAAE,eAAe;IAUnC,QAAQ;IAIR,aAAa;IAIb,SAAS,IAAK,eAAe,GAAG,SAAS;CAG5C"}
@@ -23,11 +23,10 @@ class BlackJackGameMaster extends cards_game_1.CardsGameMaster {
23
23
  }
24
24
  startNewRound() {
25
25
  var _a, _b, _c;
26
- this.getTable().getSeats()[0].setRole(BlackJackSeatRole.DEALER);
27
- this.getTable().addPlayerToSeat(new black_jack_dealer_1.BlackJackDealer(this.getId()));
28
- this.shuffleDeck();
29
26
  this.takeNewDeck();
30
27
  this.setGameRound(new base_1.GameRound(new base_1.StandardGameState()));
28
+ this.getTable().getSeats()[0].setRole(BlackJackSeatRole.DEALER);
29
+ this.getTable().addPlayerToSeat(new black_jack_dealer_1.BlackJackDealer(this.getId()));
31
30
  this.give2CardsToAllPlayers();
32
31
  this.getGameRoundState().toStart();
33
32
  const firstPlayer = this.table.seats.getNextPlayer((_b = (_a = this.getDealerSeat()) === null || _a === void 0 ? void 0 : _a.getNumber()) !== null && _b !== void 0 ? _b : 0);
@@ -1 +1 @@
1
- {"version":3,"file":"black-jack-game-master.js","sourceRoot":"","sources":["../../../../src/tests/just-black-jack/domain/black-jack-game-master.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"black-jack-game-master.js","sourceRoot":"","sources":["../../../../src/tests/just-black-jack/domain/black-jack-game-master.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "jp.ms.common.engine",
3
- "version": "1.0.4",
3
+ "version": "1.0.5",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -0,0 +1,7 @@
1
+ export type BaseGameStateType = {
2
+ roomId: string;
3
+ tableId: string;
4
+ gameId: string;
5
+ pot: number;
6
+ players: Array<string>;
7
+ }
@@ -5,14 +5,17 @@ import { GameTable } from './game-table';
5
5
  import { GameSummaryResult } from './game-summary-result';
6
6
  import { GameRound } from './game-round';
7
7
  import { GameRoom } from './game-room';
8
+ import { BaseGameStateType } from './base-game-state.type';
8
9
 
9
10
  export abstract class GameMaster {
11
+ protected readonly room: GameRoom;
10
12
  protected readonly table: GameTable;
11
- protected gameRound: GameRound | null;
13
+ protected gameRound?: GameRound;
12
14
  public readonly controlTurn: GameControlPlayerTurn;
13
15
  public readonly controlRestart: GameControlRestart;
14
16
 
15
17
  protected constructor (room: GameRoom) {
18
+ this.room = room;
16
19
  this.table = new GameTable(room.getConfigForTable());
17
20
  this.controlTurn = new GameControlPlayerTurn(this.table.getTurnTimeout(), this.onHandleTurnTimeout);
18
21
  this.controlRestart = new GameControlRestart(this.table.getRestartTimeout(), this.onHandleRestartTimeout);
@@ -22,6 +25,8 @@ export abstract class GameMaster {
22
25
 
23
26
  abstract onHandleRestartTimeout ();
24
27
 
28
+ abstract onHandleMove (player: GamePlayer);
29
+
25
30
  abstract kickPlayer (player: GamePlayer);
26
31
 
27
32
  abstract startNewRound ();
@@ -32,8 +37,6 @@ export abstract class GameMaster {
32
37
 
33
38
  abstract getResults (): GameSummaryResult | null;
34
39
 
35
- abstract onHandleMove (player: GamePlayer);
36
-
37
40
  getId () {
38
41
  return this.table.getId();
39
42
  }
@@ -112,4 +115,14 @@ export abstract class GameMaster {
112
115
  getNextPlayerBySeat (seat: number) {
113
116
  return this.table.getSeats().getNextPlayer(seat);
114
117
  }
118
+
119
+ getGameState (): BaseGameStateType {
120
+ return {
121
+ roomId: this.room.getId(),
122
+ tableId: this.table.getId(),
123
+ gameId: this.gameRound?.getId(),
124
+ pot: this.gameRound?.getPot() ?? 0,
125
+ players: this.getTable().getPlayers().map((item) => item.getFullName()),
126
+ };
127
+ }
115
128
  }
@@ -7,34 +7,39 @@ export class GamePlayerConnectionsHelper {
7
7
  this.connections = {};
8
8
  }
9
9
 
10
- public getAllConnections () {
10
+ getAllConnections () {
11
11
  return Object.keys(this.connections)
12
12
  .map((key) => ({ key, connection: this.connections[key] }));
13
13
  }
14
14
 
15
- public addConnection (connection: Socket) {
16
- this.connections[connection.id] = connection;
17
- }
18
-
19
- public clearConnections () {
20
- this.getClosedConnections().forEach((connection) => {
21
- delete this.connections[connection.key];
22
- });
15
+ getAllOpenConnections () {
16
+ return this.getOpenConnections()
17
+ .map((item) => item.connection);
23
18
  }
24
19
 
25
- public hasOpenConnection () {
26
- return this.getOpenConnections().length > 0;
27
- }
28
-
29
- private getOpenConnections () {
20
+ getOpenConnections () {
30
21
  return this.getAllConnections()
31
22
  .filter((connection) =>
32
23
  connection.connection.connected);
33
24
  }
34
25
 
35
- private getClosedConnections () {
26
+ getClosedConnections () {
36
27
  return this.getAllConnections()
37
28
  .filter((connection) =>
38
29
  !connection.connection.connected);
39
30
  }
31
+
32
+ addConnection (connection: Socket) {
33
+ this.connections[connection.id] = connection;
34
+ }
35
+
36
+ clearConnections () {
37
+ this.getClosedConnections().forEach((connection) => {
38
+ delete this.connections[connection.key];
39
+ });
40
+ }
41
+
42
+ hasOpenConnection () {
43
+ return this.getOpenConnections().length > 0;
44
+ }
40
45
  }
@@ -165,6 +165,12 @@ export abstract class GamePlayer {
165
165
  return this.connections.hasOpenConnection();
166
166
  }
167
167
 
168
+ sendMessage (message: string) {
169
+ this.connections.getAllOpenConnections().forEach((connection) => {
170
+ connection.send(message);
171
+ });
172
+ }
173
+
168
174
  flush () {
169
175
 
170
176
  }
@@ -25,6 +25,10 @@ export class GameRound {
25
25
  this.state = state;
26
26
  }
27
27
 
28
+ getId (): string {
29
+ return this.id;
30
+ }
31
+
28
32
  getState (): GameStateMachine {
29
33
  return this.state;
30
34
  }
@@ -163,6 +163,14 @@ export class GameTable {
163
163
  return !!this.getWatchers().find((watcher) => watcher.getId() === PlayerId);
164
164
  }
165
165
 
166
+ getAllWatchers () {
167
+ return [
168
+ ...this.getWatchers(),
169
+ ...this.getQueue(),
170
+ ...this.getPlayers(),
171
+ ];
172
+ }
173
+
166
174
  isFull (): boolean {
167
175
  return !this.seats.findFreeSeat();
168
176
  }
package/src/base/index.ts CHANGED
@@ -10,6 +10,7 @@ import { GameTable, GameTableConfig } from './game-table';
10
10
  import { GameTableSeat } from './game-table-seat';
11
11
  import { GameTableSeats } from './game-table-seats';
12
12
  import { StandardGameState } from './standard-game-state';
13
+ import { BaseGameStateType } from './base-game-state.type';
13
14
 
14
15
  export {
15
16
  GameControlPlayerTurn,
@@ -27,4 +28,5 @@ export {
27
28
  GameTableSeats,
28
29
  GameRoomConfig,
29
30
  StandardGameState,
31
+ BaseGameStateType,
30
32
  }
@@ -27,6 +27,7 @@ export abstract class CardsGameMaster extends GameMaster {
27
27
  }
28
28
 
29
29
  takeNewDeck () {
30
+ this.shuffleDeck();
30
31
  this.gameDeck = cloneDeep(this.sourceDeck);
31
32
  }
32
33
 
@@ -23,13 +23,12 @@ export class BlackJackGameMaster extends CardsGameMaster {
23
23
  }
24
24
 
25
25
  startNewRound () {
26
+ this.takeNewDeck();
27
+ this.setGameRound(new GameRound(new StandardGameState()));
28
+
26
29
  this.getTable().getSeats()[0].setRole(BlackJackSeatRole.DEALER);
27
30
  this.getTable().addPlayerToSeat(new BlackJackDealer(this.getId()));
28
31
 
29
- this.shuffleDeck();
30
- this.takeNewDeck();
31
-
32
- this.setGameRound(new GameRound(new StandardGameState()));
33
32
  this.give2CardsToAllPlayers();
34
33
  this.getGameRoundState().toStart();
35
34