jp.ms.common.engine 1.0.14 → 1.0.16

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.
@@ -19,7 +19,7 @@ export declare abstract class GameMaster {
19
19
  };
20
20
  abstract onHandleTurnTimeout(player: GamePlayer): any;
21
21
  abstract onHandleRestartTimeout(): any;
22
- abstract onHandleMove(player: GamePlayer): any;
22
+ abstract onHandleMove<T>(player: GamePlayer): T;
23
23
  abstract kickPlayer(player: GamePlayer): any;
24
24
  abstract startNewRound(): any;
25
25
  abstract finishRound(): any;
@@ -29,9 +29,9 @@ export declare abstract class GameMaster {
29
29
  setGameRound(gameRound: GameRound): void;
30
30
  getGameRound(): GameRound | null;
31
31
  getTable(): GameTable;
32
- enterTheTable(player: GamePlayer): void;
33
- exitTheTable(player: GamePlayer): void;
34
- watchTheTable<T extends BaseGameStateType>(player: GamePlayer): T;
32
+ enterTheTable<T extends BaseGameStateType>(player: GamePlayer): T;
33
+ exitTheTable<T extends BaseGameStateType>(player: GamePlayer): T;
34
+ watchTheTable(player: GamePlayer): GameMaster;
35
35
  startFromWhite(): void;
36
36
  changePlayerClockwise(): void;
37
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,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"}
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,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,GAAG,CAAC;IAE/C,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,CAAC,CAAC,SAAS,iBAAiB,EAAG,MAAM,EAAE,UAAU,GAAG,CAAC;IAUlE,YAAY,CAAC,CAAC,SAAS,iBAAiB,EAAG,MAAM,EAAE,UAAU,GAAG,CAAC;IAYjE,aAAa,CAAE,MAAM,EAAE,UAAU,GAAG,UAAU;IAM9C,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"}
@@ -47,6 +47,7 @@ class GameMaster {
47
47
  else {
48
48
  this.table.addPlayerToSeat(player);
49
49
  }
50
+ return this.getGameState();
50
51
  }
51
52
  exitTheTable(player) {
52
53
  if (player.isPlayer()) {
@@ -58,10 +59,11 @@ class GameMaster {
58
59
  else {
59
60
  this.table.removePlayerFromWatchers(player);
60
61
  }
62
+ return this.getGameState();
61
63
  }
62
64
  watchTheTable(player) {
63
65
  this.table.addPlayerToWatchers(player);
64
- return this.getGameState();
66
+ return this;
65
67
  }
66
68
  startFromWhite() {
67
69
  var _a;
@@ -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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"}
@@ -1,9 +1,9 @@
1
- import { BaseGameStateType, GamePlayer, GameRoom } from '../base';
1
+ import { BaseGameStateType, GameMaster, GamePlayer, GameRoom } from '../base';
2
2
  export declare abstract class SimpleRoom extends GameRoom {
3
- handleWatchTheTable<T extends BaseGameStateType>(player: GamePlayer, tableId: string): T;
4
- handleEnterTheTable(player: GamePlayer, tableId: string): void;
5
- handleExitTheTable(player: GamePlayer, tableId: string): void;
6
- handleMoveOnTheTable(player: GamePlayer, tableId: string): void;
3
+ handleWatchTheTable(player: GamePlayer, tableId: string): GameMaster;
4
+ handleEnterTheTable<T extends BaseGameStateType>(player: GamePlayer, tableId: string): T;
5
+ handleExitTheTable<T extends BaseGameStateType>(player: GamePlayer, tableId: string): T;
6
+ handleMoveOnTheTable<T extends BaseGameStateType>(player: GamePlayer, tableId: string): T;
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,iBAAiB,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAElE,8BAAsB,UAAW,SAAQ,QAAQ;IAC/C,mBAAmB,CAAC,CAAC,SAAS,iBAAiB,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,GAAG,CAAC;IAIxF,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"}
1
+ {"version":3,"file":"simple-room.d.ts","sourceRoot":"","sources":["../../src/base-rooms/simple-room.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAE9E,8BAAsB,UAAW,SAAQ,QAAQ;IAC7C,mBAAmB,CAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,GAAG,UAAU;IAIrE,mBAAmB,CAAC,CAAC,SAAS,iBAAiB,EAAG,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,GAAG,CAAC;IAIzF,kBAAkB,CAAC,CAAC,SAAS,iBAAiB,EAAG,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,GAAG,CAAC;IAIxF,oBAAoB,CAAC,CAAC,SAAS,iBAAiB,EAAG,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,GAAG,CAAC;IAI1F,iBAAiB;IAIjB,kBAAkB;CAErB"}
@@ -9,15 +9,15 @@ class SimpleRoom extends base_1.GameRoom {
9
9
  }
10
10
  handleEnterTheTable(player, tableId) {
11
11
  var _a;
12
- (_a = this.getMasterById(tableId)) === null || _a === void 0 ? void 0 : _a.enterTheTable(player);
12
+ return (_a = this.getMasterById(tableId)) === null || _a === void 0 ? void 0 : _a.enterTheTable(player);
13
13
  }
14
14
  handleExitTheTable(player, tableId) {
15
15
  var _a;
16
- (_a = this.getMasterById(tableId)) === null || _a === void 0 ? void 0 : _a.exitTheTable(player);
16
+ return (_a = this.getMasterById(tableId)) === null || _a === void 0 ? void 0 : _a.exitTheTable(player);
17
17
  }
18
18
  handleMoveOnTheTable(player, tableId) {
19
19
  var _a;
20
- (_a = this.getMasterById(tableId)) === null || _a === void 0 ? void 0 : _a.onHandleMove(player);
20
+ return (_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,kCAAkE;AAElE,MAAsB,UAAW,SAAQ,eAAQ;IAC/C,mBAAmB,CAA8B,MAAkB,EAAE,OAAe;;QAClF,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"}
1
+ {"version":3,"file":"simple-room.js","sourceRoot":"","sources":["../../src/base-rooms/simple-room.ts"],"names":[],"mappings":";;;AAAA,kCAA8E;AAE9E,MAAsB,UAAW,SAAQ,eAAQ;IAC7C,mBAAmB,CAAE,MAAkB,EAAE,OAAe;;QACpD,OAAO,MAAA,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,0CAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAC9D,CAAC;IAED,mBAAmB,CAA+B,MAAkB,EAAE,OAAe;;QACjF,OAAO,MAAA,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,0CAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAC9D,CAAC;IAED,kBAAkB,CAA+B,MAAkB,EAAE,OAAe;;QAChF,OAAO,MAAA,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,0CAAE,YAAY,CAAC,MAAM,CAAC,CAAC;IAC7D,CAAC;IAED,oBAAoB,CAA+B,MAAkB,EAAE,OAAe;;QAClF,OAAO,MAAA,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,0CAAE,YAAY,CAAC,MAAM,CAAC,CAAC;IAC7D,CAAC;IAED,iBAAiB;QACb,sBAAsB;IAC1B,CAAC;IAED,kBAAkB;IAClB,CAAC;CACJ;AAvBD,gCAuBC"}
@@ -1,4 +1,4 @@
1
- import { StandardGameState } from '../../../base';
1
+ import { BaseGameStateType, StandardGameState } from '../../../base';
2
2
  import { CardsGameMaster } from '../../../cards-game';
3
3
  import { BlackJackPlayer } from './black-jack-player';
4
4
  export declare enum BlackJackMoveActionType {
@@ -8,6 +8,9 @@ export declare enum BlackJackMoveActionType {
8
8
  export declare enum BlackJackSeatRole {
9
9
  DEALER = "DEALER"
10
10
  }
11
+ export interface BlackJackGameStateType extends BaseGameStateType {
12
+ superbit: boolean;
13
+ }
11
14
  export declare class BlackJackGameMaster extends CardsGameMaster {
12
15
  getGameRoundState(): StandardGameState;
13
16
  getPlayers(): Array<BlackJackPlayer>;
@@ -16,7 +19,8 @@ export declare class BlackJackGameMaster extends CardsGameMaster {
16
19
  finishRound(): void;
17
20
  getResults(): {} | null;
18
21
  kickPlayer(player: BlackJackPlayer): void;
19
- onHandleMove(player: BlackJackPlayer): void;
22
+ onHandleMove<T>(player: BlackJackPlayer): T;
23
+ getGameState(): BlackJackGameStateType;
20
24
  onHandleRestartTimeout(): void;
21
25
  onHandleTurnTimeout(player: BlackJackPlayer): void;
22
26
  getCard(player: BlackJackPlayer): void;
@@ -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;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"}
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,EAAE,iBAAiB,EAAa,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAChF,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,MAAM,WAAW,sBAAuB,SAAQ,iBAAiB;IAC7D,QAAQ,EAAE,OAAO,CAAC;CACrB;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,CAAC,CAAC,EAAE,MAAM,EAAE,eAAe,GAAG,CAAC;IAiBlC,YAAY,IAAK,sBAAsB;IAOhD,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"}
@@ -57,6 +57,10 @@ class BlackJackGameMaster extends cards_game_1.CardsGameMaster {
57
57
  break;
58
58
  }
59
59
  }
60
+ return this.getGameState();
61
+ }
62
+ getGameState() {
63
+ return Object.assign(Object.assign({}, super.getGameState()), { superbit: true });
60
64
  }
61
65
  onHandleRestartTimeout() {
62
66
  }
@@ -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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"}
@@ -39,13 +39,14 @@ describe('black jack simple room', () => {
39
39
  const master = room.getMasters()[0];
40
40
  const table1 = master.getTable();
41
41
  const dealer = master.getDealer();
42
- if (table1 && dealer) {
42
+ if (table1) {
43
43
  table1.addPlayerToSeat(newPlayer1);
44
44
  newPlayer1.setStack(100);
45
45
  table1.addPlayerToSeat(newPlayer2);
46
46
  newPlayer2.setStack(100);
47
47
  expect((_a = master.getGameRound()) === null || _a === void 0 ? void 0 : _a.getState()).toBeUndefined();
48
48
  master.startNewRound();
49
+ const state = master.onHandleMove(newPlayer1);
49
50
  expect(master.getGameRoundState().isInProgress()).toBeTruthy();
50
51
  expect(table1.getPlayers().length).toBe(3);
51
52
  expect((_b = master.getGameRound()) === null || _b === void 0 ? void 0 : _b.getActivePlayer()).toBe(newPlayer1);
@@ -1 +1 @@
1
- {"version":3,"file":"black-jack-simple-room.test.js","sourceRoot":"","sources":["../../../../src/tests/just-black-jack/tests/black-jack-simple-room.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"black-jack-simple-room.test.js","sourceRoot":"","sources":["../../../../src/tests/just-black-jack/tests/black-jack-simple-room.test.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.14",
3
+ "version": "1.0.16",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -48,7 +48,7 @@ export abstract class GameMaster {
48
48
 
49
49
  abstract onHandleRestartTimeout ();
50
50
 
51
- abstract onHandleMove (player: GamePlayer);
51
+ abstract onHandleMove<T>(player: GamePlayer): T;
52
52
 
53
53
  abstract kickPlayer (player: GamePlayer);
54
54
 
@@ -61,7 +61,7 @@ export abstract class GameMaster {
61
61
  abstract getResults (): GameSummaryResult | null;
62
62
 
63
63
  getId () {
64
- return this.table.getId();
64
+ return this.table.getId();
65
65
  }
66
66
 
67
67
  setGameRound (gameRound: GameRound): void {
@@ -76,15 +76,17 @@ export abstract class GameMaster {
76
76
  return this.table;
77
77
  }
78
78
 
79
- enterTheTable (player: GamePlayer) {
79
+ enterTheTable<T extends BaseGameStateType> (player: GamePlayer): T {
80
80
  if (this.table.isFull()) {
81
81
  this.table.addPlayerToQueue(player);
82
82
  } else {
83
83
  this.table.addPlayerToSeat(player);
84
84
  }
85
+
86
+ return this.getGameState() as T;
85
87
  }
86
88
 
87
- exitTheTable (player: GamePlayer) {
89
+ exitTheTable<T extends BaseGameStateType> (player: GamePlayer): T {
88
90
  if (player.isPlayer()) {
89
91
  this.table.removePlayerFromSeat(player);
90
92
  } else if (player.isTableQueuer()) {
@@ -92,12 +94,14 @@ export abstract class GameMaster {
92
94
  } else {
93
95
  this.table.removePlayerFromWatchers(player);
94
96
  }
97
+
98
+ return this.getGameState() as T;
95
99
  }
96
100
 
97
- watchTheTable<T extends BaseGameStateType> (player: GamePlayer): T {
101
+ watchTheTable (player: GamePlayer): GameMaster {
98
102
  this.table.addPlayerToWatchers(player);
99
103
 
100
- return this.getGameState() as T;
104
+ return this;
101
105
  }
102
106
 
103
107
  startFromWhite () {
@@ -1,26 +1,26 @@
1
- import { BaseGameStateType, GamePlayer, GameRoom } from '../base';
1
+ import { BaseGameStateType, GameMaster, GamePlayer, GameRoom } from '../base';
2
2
 
3
3
  export abstract class SimpleRoom extends GameRoom {
4
- handleWatchTheTable<T extends BaseGameStateType>(player: GamePlayer, tableId: string): T {
5
- return this.getMasterById(tableId)?.watchTheTable(player);
6
- }
4
+ handleWatchTheTable (player: GamePlayer, tableId: string): GameMaster {
5
+ return this.getMasterById(tableId)?.watchTheTable(player);
6
+ }
7
7
 
8
- handleEnterTheTable (player: GamePlayer, tableId: string) {
9
- this.getMasterById(tableId)?.enterTheTable(player);
10
- }
8
+ handleEnterTheTable<T extends BaseGameStateType> (player: GamePlayer, tableId: string): T {
9
+ return this.getMasterById(tableId)?.enterTheTable(player);
10
+ }
11
11
 
12
- handleExitTheTable (player: GamePlayer, tableId: string) {
13
- this.getMasterById(tableId)?.exitTheTable(player);
14
- }
12
+ handleExitTheTable<T extends BaseGameStateType> (player: GamePlayer, tableId: string): T {
13
+ return this.getMasterById(tableId)?.exitTheTable(player);
14
+ }
15
15
 
16
- handleMoveOnTheTable (player: GamePlayer, tableId: string) {
17
- this.getMasterById(tableId)?.onHandleMove(player);
18
- }
16
+ handleMoveOnTheTable<T extends BaseGameStateType> (player: GamePlayer, tableId: string): T {
17
+ return this.getMasterById(tableId)?.onHandleMove(player);
18
+ }
19
19
 
20
- handleFinishRound () {
21
- // save users balances
22
- }
20
+ handleFinishRound () {
21
+ // save users balances
22
+ }
23
23
 
24
- handleRestartRound () {
25
- }
24
+ handleRestartRound () {
25
+ }
26
26
  }
@@ -1,4 +1,4 @@
1
- import { GameRound, StandardGameState } from '../../../base';
1
+ import { BaseGameStateType, GameRound, StandardGameState } from '../../../base';
2
2
  import { CardsGameMaster } from '../../../cards-game';
3
3
 
4
4
  import { BlackJackPlayer } from './black-jack-player';
@@ -13,6 +13,10 @@ export enum BlackJackSeatRole {
13
13
  DEALER = 'DEALER',
14
14
  }
15
15
 
16
+ export interface BlackJackGameStateType extends BaseGameStateType {
17
+ superbit: boolean;
18
+ }
19
+
16
20
  export class BlackJackGameMaster extends CardsGameMaster {
17
21
  getGameRoundState (): StandardGameState {
18
22
  return (this.gameRound?.getState() as StandardGameState);
@@ -53,7 +57,7 @@ export class BlackJackGameMaster extends CardsGameMaster {
53
57
  kickPlayer (player: BlackJackPlayer) {
54
58
  }
55
59
 
56
- onHandleMove (player: BlackJackPlayer) {
60
+ onHandleMove<T>(player: BlackJackPlayer): T {
57
61
  const move = player.getMove();
58
62
 
59
63
  switch (move?.getAction()) {
@@ -66,6 +70,15 @@ export class BlackJackGameMaster extends CardsGameMaster {
66
70
  break;
67
71
  }
68
72
  }
73
+
74
+ return this.getGameState() as T;
75
+ }
76
+
77
+ override getGameState (): BlackJackGameStateType {
78
+ return {
79
+ ...super.getGameState(),
80
+ superbit: true,
81
+ };
69
82
  }
70
83
 
71
84
  onHandleRestartTimeout () {
@@ -6,7 +6,7 @@ import { BlackJackSimpleRoom } from '../rooms/black-jack-simple-room';
6
6
  import { mockDeck, player1, player2 } from './common';
7
7
  import { calculateResult } from '../helpers/calculate-result';
8
8
  import { GameRoomConfig } from '../../../base';
9
- import { BlackJackGameMaster } from '../domain/black-jack-game-master';
9
+ import { BlackJackGameMaster, BlackJackGameStateType } from '../domain/black-jack-game-master';
10
10
 
11
11
  describe('black jack simple room', () => {
12
12
  let newPlayer1: BlackJackPlayer;
@@ -48,7 +48,7 @@ describe('black jack simple room', () => {
48
48
  const table1 = master.getTable();
49
49
  const dealer = master.getDealer();
50
50
 
51
- if (table1 && dealer) {
51
+ if (table1) {
52
52
  table1.addPlayerToSeat(newPlayer1);
53
53
  newPlayer1.setStack(100);
54
54
 
@@ -58,12 +58,17 @@ describe('black jack simple room', () => {
58
58
  expect(master.getGameRound()?.getState()).toBeUndefined();
59
59
 
60
60
  master.startNewRound();
61
+
62
+ const state = master.onHandleMove<BlackJackGameStateType>(newPlayer1);
63
+
64
+
61
65
  expect(master.getGameRoundState().isInProgress()).toBeTruthy();
62
66
  expect(table1.getPlayers().length).toBe(3);
63
67
 
64
68
  expect(master.getGameRound()?.getActivePlayer()).toBe(newPlayer1);
65
69
  expect(calculateResult(newPlayer1.getCards())).toBe(20);
66
70
 
71
+
67
72
  master.finishMove(newPlayer1);
68
73
 
69
74
  expect(master.getGameRound()?.getActivePlayer()).toBe(newPlayer2);