jp.ms.common.engine 1.0.3 → 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 (224) 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-control-player-turn.d.ts +4 -4
  6. package/dist/base/game-control-player-turn.d.ts.map +1 -1
  7. package/dist/base/game-control-player-turn.js.map +1 -1
  8. package/dist/base/game-master.d.ts +27 -21
  9. package/dist/base/game-master.d.ts.map +1 -1
  10. package/dist/base/game-master.js +17 -2
  11. package/dist/base/game-master.js.map +1 -1
  12. package/dist/base/game-player-connections-helper.d.ts +22 -0
  13. package/dist/base/game-player-connections-helper.d.ts.map +1 -0
  14. package/dist/base/game-player-connections-helper.js +37 -0
  15. package/dist/base/game-player-connections-helper.js.map +1 -0
  16. package/dist/base/game-player.d.ts +4 -1
  17. package/dist/base/game-player.d.ts.map +1 -1
  18. package/dist/base/game-player.js +8 -1
  19. package/dist/base/game-player.js.map +1 -1
  20. package/dist/base/game-room.d.ts +15 -17
  21. package/dist/base/game-room.d.ts.map +1 -1
  22. package/dist/base/game-room.js +16 -17
  23. package/dist/base/game-room.js.map +1 -1
  24. package/dist/base/game-round.d.ts +8 -10
  25. package/dist/base/game-round.d.ts.map +1 -1
  26. package/dist/base/game-round.js +5 -4
  27. package/dist/base/game-round.js.map +1 -1
  28. package/dist/base/game-state-machine.d.ts +4 -4
  29. package/dist/base/game-state-machine.d.ts.map +1 -1
  30. package/dist/base/game-state-machine.js.map +1 -1
  31. package/dist/base/game-summary-result.d.ts +3 -0
  32. package/dist/base/game-summary-result.d.ts.map +1 -0
  33. package/dist/base/game-summary-result.js +7 -0
  34. package/dist/base/game-summary-result.js.map +1 -0
  35. package/dist/base/game-table-seat.d.ts +3 -3
  36. package/dist/base/game-table-seat.d.ts.map +1 -1
  37. package/dist/base/game-table-seat.js.map +1 -1
  38. package/dist/base/game-table-seats.d.ts +12 -12
  39. package/dist/base/game-table-seats.d.ts.map +1 -1
  40. package/dist/base/game-table-seats.js.map +1 -1
  41. package/dist/base/game-table.d.ts +26 -51
  42. package/dist/base/game-table.d.ts.map +1 -1
  43. package/dist/base/game-table.js +7 -0
  44. package/dist/base/game-table.js.map +1 -1
  45. package/dist/base/index.d.ts +3 -1
  46. package/dist/base/index.d.ts.map +1 -1
  47. package/dist/base/index.js +3 -1
  48. package/dist/base/index.js.map +1 -1
  49. package/dist/base/standard-game-state.d.ts +2 -2
  50. package/dist/base/standard-game-state.d.ts.map +1 -1
  51. package/dist/base/standard-game-state.js +1 -1
  52. package/dist/base/standard-game-state.js.map +1 -1
  53. package/dist/base-rooms/fast-tournament-room.d.ts +0 -13
  54. package/dist/base-rooms/fast-tournament-room.d.ts.map +1 -1
  55. package/dist/base-rooms/fast-tournament-room.js +59 -51
  56. package/dist/base-rooms/fast-tournament-room.js.map +1 -1
  57. package/dist/base-rooms/index.d.ts +1 -5
  58. package/dist/base-rooms/index.d.ts.map +1 -1
  59. package/dist/base-rooms/index.js +3 -9
  60. package/dist/base-rooms/index.js.map +1 -1
  61. package/dist/base-rooms/scheduled-tournament-room.d.ts +0 -27
  62. package/dist/base-rooms/scheduled-tournament-room.d.ts.map +1 -1
  63. package/dist/base-rooms/scheduled-tournament-room.js +181 -164
  64. package/dist/base-rooms/scheduled-tournament-room.js.map +1 -1
  65. package/dist/base-rooms/simple-room.d.ts +5 -4
  66. package/dist/base-rooms/simple-room.d.ts.map +1 -1
  67. package/dist/base-rooms/simple-room.js +16 -0
  68. package/dist/base-rooms/simple-room.js.map +1 -1
  69. package/dist/base-rooms/tournament-room.d.ts +0 -46
  70. package/dist/base-rooms/tournament-room.d.ts.map +1 -1
  71. package/dist/base-rooms/tournament-room.js +169 -109
  72. package/dist/base-rooms/tournament-room.js.map +1 -1
  73. package/dist/base-rooms/tournament-state.d.ts +2 -2
  74. package/dist/base-rooms/tournament-state.d.ts.map +1 -1
  75. package/dist/base-rooms/tournament-state.js +2 -2
  76. package/dist/base-rooms/tournament-state.js.map +1 -1
  77. package/dist/board-game/base/board-cell.d.ts +0 -15
  78. package/dist/board-game/base/board-cell.d.ts.map +1 -1
  79. package/dist/board-game/base/board-cell.js +50 -40
  80. package/dist/board-game/base/board-cell.js.map +1 -1
  81. package/dist/board-game/base/board-figure.d.ts +0 -15
  82. package/dist/board-game/base/board-figure.d.ts.map +1 -1
  83. package/dist/board-game/base/board-figure.js +49 -36
  84. package/dist/board-game/base/board-figure.js.map +1 -1
  85. package/dist/board-game/base/board-game-master.d.ts +0 -18
  86. package/dist/board-game/base/board-game-master.d.ts.map +1 -1
  87. package/dist/board-game/base/board-game-master.js +56 -34
  88. package/dist/board-game/base/board-game-master.js.map +1 -1
  89. package/dist/board-game/base/board-player-move.d.ts +0 -10
  90. package/dist/board-game/base/board-player-move.d.ts.map +1 -1
  91. package/dist/board-game/base/board-player-move.js +29 -28
  92. package/dist/board-game/base/board-player-move.js.map +1 -1
  93. package/dist/board-game/base/board-player.d.ts +0 -12
  94. package/dist/board-game/base/board-player.d.ts.map +1 -1
  95. package/dist/board-game/base/board-player.js +43 -29
  96. package/dist/board-game/base/board-player.js.map +1 -1
  97. package/dist/board-game/base/board-table.d.ts +0 -16
  98. package/dist/board-game/base/board-table.d.ts.map +1 -1
  99. package/dist/board-game/base/board-table.js +52 -33
  100. package/dist/board-game/base/board-table.js.map +1 -1
  101. package/dist/board-game/d1-board-game/d1-board-table.d.ts +0 -18
  102. package/dist/board-game/d1-board-game/d1-board-table.d.ts.map +1 -1
  103. package/dist/board-game/d1-board-game/d1-board-table.js +56 -39
  104. package/dist/board-game/d1-board-game/d1-board-table.js.map +1 -1
  105. package/dist/board-game/d2-board-game/d2-board-cell.d.ts +0 -11
  106. package/dist/board-game/d2-board-game/d2-board-cell.d.ts.map +1 -1
  107. package/dist/board-game/d2-board-game/d2-board-cell.js +30 -24
  108. package/dist/board-game/d2-board-game/d2-board-cell.js.map +1 -1
  109. package/dist/board-game/d2-board-game/d2-board-pattern-move-figure.d.ts +0 -28
  110. package/dist/board-game/d2-board-game/d2-board-pattern-move-figure.d.ts.map +1 -1
  111. package/dist/board-game/d2-board-game/d2-board-pattern-move-figure.js +79 -49
  112. package/dist/board-game/d2-board-game/d2-board-pattern-move-figure.js.map +1 -1
  113. package/dist/board-game/d2-board-game/d2-board-table.d.ts +0 -48
  114. package/dist/board-game/d2-board-game/d2-board-table.d.ts.map +1 -1
  115. package/dist/board-game/d2-board-game/d2-board-table.js +262 -182
  116. package/dist/board-game/d2-board-game/d2-board-table.js.map +1 -1
  117. package/dist/board-game/d2-board-game/types.d.ts +0 -4
  118. package/dist/board-game/d2-board-game/types.d.ts.map +1 -1
  119. package/dist/board-game/d2-board-game/types.js +4 -1
  120. package/dist/board-game/d2-board-game/types.js.map +1 -1
  121. package/dist/board-game/dice.js +2 -2
  122. package/dist/board-game/dice.js.map +1 -1
  123. package/dist/board-game/index.d.ts +0 -12
  124. package/dist/board-game/index.d.ts.map +1 -1
  125. package/dist/board-game/index.js +28 -24
  126. package/dist/board-game/index.js.map +1 -1
  127. package/dist/cards-game/cards-game-master.d.ts +7 -8
  128. package/dist/cards-game/cards-game-master.d.ts.map +1 -1
  129. package/dist/cards-game/cards-game-master.js +14 -10
  130. package/dist/cards-game/cards-game-master.js.map +1 -1
  131. package/dist/cards-game/cards-player.d.ts.map +1 -1
  132. package/dist/cards-game/cards-player.js +1 -1
  133. package/dist/cards-game/cards-player.js.map +1 -1
  134. package/dist/cards-game/index.d.ts +1 -2
  135. package/dist/cards-game/index.d.ts.map +1 -1
  136. package/dist/cards-game/index.js +1 -3
  137. package/dist/cards-game/index.js.map +1 -1
  138. package/dist/index.d.ts +0 -1
  139. package/dist/index.d.ts.map +1 -1
  140. package/dist/index.js +1 -1
  141. package/dist/index.js.map +1 -1
  142. package/dist/tests/just-black-jack/domain/black-jack-dealer.d.ts +6 -0
  143. package/dist/tests/just-black-jack/domain/black-jack-dealer.d.ts.map +1 -0
  144. package/dist/tests/just-black-jack/domain/black-jack-dealer.js +14 -0
  145. package/dist/tests/just-black-jack/domain/black-jack-dealer.js.map +1 -0
  146. package/dist/tests/just-black-jack/domain/black-jack-game-master.d.ts +28 -0
  147. package/dist/tests/just-black-jack/domain/black-jack-game-master.d.ts.map +1 -0
  148. package/dist/tests/just-black-jack/domain/black-jack-game-master.js +89 -0
  149. package/dist/tests/just-black-jack/domain/black-jack-game-master.js.map +1 -0
  150. package/dist/tests/just-black-jack/domain/black-jack-player.d.ts +9 -0
  151. package/dist/tests/just-black-jack/domain/black-jack-player.d.ts.map +1 -0
  152. package/dist/tests/just-black-jack/domain/black-jack-player.js +21 -0
  153. package/dist/tests/just-black-jack/domain/black-jack-player.js.map +1 -0
  154. package/dist/tests/just-black-jack/helpers/calculate-result.d.ts +3 -0
  155. package/dist/tests/just-black-jack/helpers/calculate-result.d.ts.map +1 -0
  156. package/dist/tests/just-black-jack/helpers/calculate-result.js +30 -0
  157. package/dist/tests/just-black-jack/helpers/calculate-result.js.map +1 -0
  158. package/dist/tests/just-black-jack/helpers/calculate-result.test.d.ts +2 -0
  159. package/dist/tests/just-black-jack/helpers/calculate-result.test.d.ts.map +1 -0
  160. package/dist/tests/just-black-jack/helpers/calculate-result.test.js +34 -0
  161. package/dist/tests/just-black-jack/helpers/calculate-result.test.js.map +1 -0
  162. package/dist/tests/just-black-jack/rooms/black-jack-simple-room.d.ts +6 -0
  163. package/dist/tests/just-black-jack/rooms/black-jack-simple-room.d.ts.map +1 -0
  164. package/dist/tests/just-black-jack/rooms/black-jack-simple-room.js +13 -0
  165. package/dist/tests/just-black-jack/rooms/black-jack-simple-room.js.map +1 -0
  166. package/dist/tests/just-black-jack/tests/black-jack-simple-room.test.d.ts +2 -0
  167. package/dist/tests/just-black-jack/tests/black-jack-simple-room.test.d.ts.map +1 -0
  168. package/dist/tests/just-black-jack/tests/black-jack-simple-room.test.js +58 -0
  169. package/dist/tests/just-black-jack/tests/black-jack-simple-room.test.js.map +1 -0
  170. package/dist/tests/just-black-jack/tests/common.d.ts +11 -0
  171. package/dist/tests/just-black-jack/tests/common.d.ts.map +1 -0
  172. package/dist/tests/just-black-jack/tests/common.js +51 -0
  173. package/dist/tests/just-black-jack/tests/common.js.map +1 -0
  174. package/package.json +2 -1
  175. package/src/base/base-game-state.type.ts +7 -0
  176. package/src/base/game-control-player-turn.ts +5 -5
  177. package/src/base/game-master.ts +38 -19
  178. package/src/base/game-player-connections-helper.ts +45 -0
  179. package/src/base/game-player.ts +11 -2
  180. package/src/base/game-room.ts +26 -30
  181. package/src/base/game-round.ts +13 -15
  182. package/src/base/game-state-machine.ts +7 -7
  183. package/src/base/game-summary-result.ts +3 -0
  184. package/src/base/game-table-seat.ts +3 -3
  185. package/src/base/game-table-seats.ts +13 -13
  186. package/src/base/game-table.ts +36 -79
  187. package/src/base/index.ts +4 -0
  188. package/src/base/standard-game-state.ts +2 -2
  189. package/src/base-rooms/fast-tournament-room.ts +59 -59
  190. package/src/base-rooms/index.ts +9 -9
  191. package/src/base-rooms/scheduled-tournament-room.ts +181 -181
  192. package/src/base-rooms/simple-room.ts +15 -4
  193. package/src/base-rooms/tournament-room.ts +169 -169
  194. package/src/base-rooms/tournament-state.ts +2 -2
  195. package/src/board-game/base/board-cell.ts +50 -50
  196. package/src/board-game/base/board-figure.ts +49 -49
  197. package/src/board-game/base/board-game-master.ts +56 -56
  198. package/src/board-game/base/board-player-move.ts +29 -29
  199. package/src/board-game/base/board-player.ts +43 -43
  200. package/src/board-game/base/board-table.ts +52 -52
  201. package/src/board-game/d1-board-game/d1-board-table.ts +56 -56
  202. package/src/board-game/d2-board-game/d2-board-cell.ts +30 -30
  203. package/src/board-game/d2-board-game/d2-board-pattern-move-figure.ts +79 -79
  204. package/src/board-game/d2-board-game/d2-board-table.ts +262 -262
  205. package/src/board-game/d2-board-game/types.ts +4 -4
  206. package/src/board-game/dice.ts +1 -1
  207. package/src/board-game/index.ts +28 -28
  208. package/src/cards-game/cards-game-master.ts +20 -16
  209. package/src/cards-game/cards-player.ts +2 -1
  210. package/src/cards-game/index.ts +0 -2
  211. package/src/index.ts +1 -1
  212. package/src/tests/just-black-jack/domain/black-jack-dealer.ts +15 -0
  213. package/src/tests/just-black-jack/domain/black-jack-game-master.ts +102 -0
  214. package/src/tests/just-black-jack/domain/black-jack-player.ts +27 -0
  215. package/src/tests/just-black-jack/helpers/calculate-result.test.ts +49 -0
  216. package/src/tests/just-black-jack/helpers/calculate-result.ts +34 -0
  217. package/src/tests/just-black-jack/rooms/black-jack-simple-room.ts +10 -0
  218. package/src/tests/just-black-jack/tests/black-jack-simple-room.test.ts +75 -0
  219. package/src/tests/just-black-jack/tests/common.ts +63 -0
  220. package/dist/cards-game/cards-table.d.ts +0 -11
  221. package/dist/cards-game/cards-table.d.ts.map +0 -1
  222. package/dist/cards-game/cards-table.js +0 -20
  223. package/dist/cards-game/cards-table.js.map +0 -1
  224. package/src/cards-game/cards-table.ts +0 -28
@@ -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":""}
@@ -1,12 +1,12 @@
1
1
  import { GamePlayer } from './game-player';
2
- export declare class GameControlPlayerTurn<GP extends GamePlayer> {
2
+ export declare class GameControlPlayerTurn {
3
3
  private readonly playersTurnTimeout;
4
4
  private playerTurnTimerId?;
5
5
  private playerTurnTimerDate;
6
6
  private readonly handleTurnTimeout;
7
- constructor(playersTurnTimeout: number, handleTurnTimeout: (player: GP) => void);
7
+ constructor(playersTurnTimeout: number, handleTurnTimeout: (player: GamePlayer) => void);
8
8
  isEnableTimer(): boolean;
9
- setPlayerTurnTimeout(player: GP | null): void;
10
- clearPlayerTurnTimeout(player: GP | null): void;
9
+ setPlayerTurnTimeout(player: GamePlayer | null): void;
10
+ clearPlayerTurnTimeout(player: GamePlayer | null): void;
11
11
  }
12
12
  //# sourceMappingURL=game-control-player-turn.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"game-control-player-turn.d.ts","sourceRoot":"","sources":["../../src/base/game-control-player-turn.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,qBAAa,qBAAqB,CAAC,EAAE,SAAS,UAAU;IACpD,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAS;IAC5C,OAAO,CAAC,iBAAiB,CAAC,CAAiB;IAC3C,OAAO,CAAC,mBAAmB,CAAc;IACzC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAuB;gBAGrD,kBAAkB,EAAE,MAAM,EAC1B,iBAAiB,EAAE,CAAC,MAAM,EAAE,EAAE,KAAK,IAAI;IAM3C,aAAa;IAIb,oBAAoB,CAAE,MAAM,EAAE,EAAE,GAAG,IAAI;IAUvC,sBAAsB,CAAE,MAAM,EAAE,EAAE,GAAG,IAAI;CAM5C"}
1
+ {"version":3,"file":"game-control-player-turn.d.ts","sourceRoot":"","sources":["../../src/base/game-control-player-turn.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,qBAAa,qBAAqB;IAC9B,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAS;IAC5C,OAAO,CAAC,iBAAiB,CAAC,CAAiB;IAC3C,OAAO,CAAC,mBAAmB,CAAc;IACzC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAA+B;gBAG7D,kBAAkB,EAAE,MAAM,EAC1B,iBAAiB,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,IAAI;IAMnD,aAAa;IAIb,oBAAoB,CAAE,MAAM,EAAE,UAAU,GAAG,IAAI;IAU/C,sBAAsB,CAAE,MAAM,EAAE,UAAU,GAAG,IAAI;CAMpD"}
@@ -1 +1 @@
1
- {"version":3,"file":"game-control-player-turn.js","sourceRoot":"","sources":["../../src/base/game-control-player-turn.ts"],"names":[],"mappings":";;;AAAA,oCAAsC;AAItC,MAAa,qBAAqB;IAM9B,YACI,kBAA0B,EAC1B,iBAAuC;QAEvC,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;QAC7C,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;IAC/C,CAAC;IAED,aAAa;QACT,OAAO,IAAI,CAAC,kBAAkB,GAAG,CAAC,CAAC;IACvC,CAAC;IAED,oBAAoB,CAAE,MAAiB;QACnC,IAAI,CAAC,mBAAmB,GAAG,IAAI,IAAI,EAAE,CAAC;QACtC,IAAI,IAAI,CAAC,aAAa,EAAE,IAAI,MAAM,EAAE,CAAC;YACjC,IAAI,CAAC,iBAAiB,GAAG,UAAU,CAC/B,GAAG,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,EACpC,IAAI,CAAC,kBAAkB,GAAG,kBAAU,CACvC,CAAC;QACN,CAAC;IACL,CAAC;IAED,sBAAsB,CAAE,MAAiB;QACrC,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACzB,YAAY,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;YACrC,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;QACpC,CAAC;IACL,CAAC;CACJ;AAlCD,sDAkCC"}
1
+ {"version":3,"file":"game-control-player-turn.js","sourceRoot":"","sources":["../../src/base/game-control-player-turn.ts"],"names":[],"mappings":";;;AAAA,oCAAsC;AAItC,MAAa,qBAAqB;IAM9B,YACI,kBAA0B,EAC1B,iBAA+C;QAE/C,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;QAC7C,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;IAC/C,CAAC;IAED,aAAa;QACT,OAAO,IAAI,CAAC,kBAAkB,GAAG,CAAC,CAAC;IACvC,CAAC;IAED,oBAAoB,CAAE,MAAyB;QAC3C,IAAI,CAAC,mBAAmB,GAAG,IAAI,IAAI,EAAE,CAAC;QACtC,IAAI,IAAI,CAAC,aAAa,EAAE,IAAI,MAAM,EAAE,CAAC;YACjC,IAAI,CAAC,iBAAiB,GAAG,UAAU,CAC/B,GAAG,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,EACpC,IAAI,CAAC,kBAAkB,GAAG,kBAAU,CACvC,CAAC;QACN,CAAC;IACL,CAAC;IAED,sBAAsB,CAAE,MAAyB;QAC7C,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACzB,YAAY,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;YACrC,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;QACpC,CAAC;IACL,CAAC;CACJ;AAlCD,sDAkCC"}
@@ -1,34 +1,40 @@
1
1
  import { GamePlayer } from './game-player';
2
- import { IGameTable } from './game-table';
3
2
  import { GameControlPlayerTurn } from './game-control-player-turn';
4
3
  import { GameControlRestart } from './game-control-restart';
5
- import { IGameRound } from './game-round';
6
- export declare abstract class GameMaster<GT extends IGameTable<GP>, GR extends IGameRound<GP>, GP extends GamePlayer, GSR> {
7
- protected readonly table: GT;
8
- protected gameRound: GR | null;
9
- readonly controlTurn: GameControlPlayerTurn<GP>;
4
+ import { GameTable } from './game-table';
5
+ import { GameSummaryResult } from './game-summary-result';
6
+ import { GameRound } from './game-round';
7
+ import { GameRoom } from './game-room';
8
+ import { BaseGameStateType } from './base-game-state.type';
9
+ export declare abstract class GameMaster {
10
+ protected readonly room: GameRoom;
11
+ protected readonly table: GameTable;
12
+ protected gameRound?: GameRound;
13
+ readonly controlTurn: GameControlPlayerTurn;
10
14
  readonly controlRestart: GameControlRestart;
11
- protected constructor(table: GT);
12
- abstract onHandleTurnTimeout(player: GP): any;
15
+ protected constructor(room: GameRoom);
16
+ abstract onHandleTurnTimeout(player: GamePlayer): any;
13
17
  abstract onHandleRestartTimeout(): any;
14
- abstract kickPlayer(player: GP): any;
18
+ abstract onHandleMove(player: GamePlayer): any;
19
+ abstract kickPlayer(player: GamePlayer): any;
15
20
  abstract startNewRound(): any;
16
21
  abstract finishRound(): any;
17
22
  abstract changePlayer(): any;
18
- abstract getResults(): GSR | null;
19
- abstract onHandleMove(player: GP): any;
20
- setGameRound(gameRound: GR): void;
21
- getGameRound(): GR | null;
22
- getTable(): GT;
23
- enterTheTable(player: GP): void;
24
- exitTheTable(player: GP): void;
25
- watchTheTable(player: GP): void;
23
+ abstract getResults(): GameSummaryResult | null;
24
+ getId(): string;
25
+ setGameRound(gameRound: GameRound): void;
26
+ getGameRound(): GameRound | null;
27
+ getTable(): GameTable;
28
+ enterTheTable(player: GamePlayer): void;
29
+ exitTheTable(player: GamePlayer): void;
30
+ watchTheTable(player: GamePlayer): void;
26
31
  startFromWhite(): void;
27
32
  changePlayerClockwise(): void;
28
33
  changePlayerCounterClockwise(): void;
29
- getActivePlayer(): GP | null;
30
- getNextPlayer(): GP;
31
- getNextAfterNextPlayer(): GP;
32
- getNextPlayerBySeat(seat: number): GP;
34
+ getActivePlayer(): GamePlayer | null;
35
+ getNextPlayer(): GamePlayer;
36
+ getNextAfterNextPlayer(): GamePlayer;
37
+ getNextPlayerBySeat(seat: number): GamePlayer;
38
+ getGameState(): BaseGameStateType;
33
39
  }
34
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,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,8BAAsB,UAAU,CAAC,EAAE,SAAS,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE,SAAS,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE,SAAS,UAAU,EAAE,GAAG;IAC7G,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC;IAC7B,SAAS,CAAC,SAAS,EAAE,EAAE,GAAG,IAAI,CAAC;IAC/B,SAAgB,WAAW,EAAE,qBAAqB,CAAC,EAAE,CAAC,CAAC;IACvD,SAAgB,cAAc,EAAE,kBAAkB,CAAC;IAEnD,SAAS,aAAc,KAAK,EAAE,EAAE;IAMhC,QAAQ,CAAC,mBAAmB,CAAE,MAAM,EAAE,EAAE;IAExC,QAAQ,CAAC,sBAAsB;IAE/B,QAAQ,CAAC,UAAU,CAAE,MAAM,EAAE,EAAE;IAE/B,QAAQ,CAAC,aAAa;IAEtB,QAAQ,CAAC,WAAW;IAEpB,QAAQ,CAAC,YAAY;IAErB,QAAQ,CAAC,UAAU,IAAK,GAAG,GAAG,IAAI;IAElC,QAAQ,CAAC,YAAY,CAAE,MAAM,EAAE,EAAE;IAEjC,YAAY,CAAE,SAAS,EAAE,EAAE,GAAG,IAAI;IAIlC,YAAY,IAAK,EAAE,GAAG,IAAI;IAI1B,QAAQ;IAIR,aAAa,CAAE,MAAM,EAAE,EAAE;IAQzB,YAAY,CAAE,MAAM,EAAE,EAAE;IAUxB,aAAa,CAAE,MAAM,EAAE,EAAE;IAIzB,cAAc;IAOd,qBAAqB;IASrB,4BAA4B;IAS5B,eAAe,IAAK,EAAE,GAAG,IAAI;IAI7B,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"}
@@ -3,12 +3,17 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.GameMaster = void 0;
4
4
  const game_control_player_turn_1 = require("./game-control-player-turn");
5
5
  const game_control_restart_1 = require("./game-control-restart");
6
+ const game_table_1 = require("./game-table");
6
7
  class GameMaster {
7
- constructor(table) {
8
- this.table = table;
8
+ constructor(room) {
9
+ this.room = room;
10
+ this.table = new game_table_1.GameTable(room.getConfigForTable());
9
11
  this.controlTurn = new game_control_player_turn_1.GameControlPlayerTurn(this.table.getTurnTimeout(), this.onHandleTurnTimeout);
10
12
  this.controlRestart = new game_control_restart_1.GameControlRestart(this.table.getRestartTimeout(), this.onHandleRestartTimeout);
11
13
  }
14
+ getId() {
15
+ return this.table.getId();
16
+ }
12
17
  setGameRound(gameRound) {
13
18
  this.gameRound = gameRound;
14
19
  }
@@ -78,6 +83,16 @@ class GameMaster {
78
83
  getNextPlayerBySeat(seat) {
79
84
  return this.table.getSeats().getNextPlayer(seat);
80
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
+ }
81
96
  }
82
97
  exports.GameMaster = GameMaster;
83
98
  //# sourceMappingURL=game-master.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"game-master.js","sourceRoot":"","sources":["../../src/base/game-master.ts"],"names":[],"mappings":";;;AAEA,yEAAmE;AACnE,iEAA4D;AAG5D,MAAsB,UAAU;IAM5B,YAAuB,KAAS;QAC5B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,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,YAAY,CAAE,SAAa;QACvB,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,MAAU;QACrB,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,MAAU;QACpB,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,CAAE,MAAU;QACrB,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;IAC3C,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;CACJ;AAtGD,gCAsGC"}
1
+ {"version":3,"file":"game-master.js","sourceRoot":"","sources":["../../src/base/game-master.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ import { Socket } from 'socket.io';
2
+ export declare class GamePlayerConnectionsHelper {
3
+ private readonly connections;
4
+ constructor();
5
+ getAllConnections(): {
6
+ key: string;
7
+ connection: Socket<import("socket.io").DefaultEventsMap, import("socket.io").DefaultEventsMap, import("socket.io").DefaultEventsMap, any>;
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
+ }[];
18
+ addConnection(connection: Socket): void;
19
+ clearConnections(): void;
20
+ hasOpenConnection(): boolean;
21
+ }
22
+ //# sourceMappingURL=game-player-connections-helper.d.ts.map
@@ -0,0 +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;;IAMrD,iBAAiB;;;;IAKjB,qBAAqB;IAKrB,kBAAkB;;;;IAMlB,oBAAoB;;;;IAMpB,aAAa,CAAE,UAAU,EAAE,MAAM;IAIjC,gBAAgB;IAMhB,iBAAiB;CAGpB"}
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GamePlayerConnectionsHelper = void 0;
4
+ class GamePlayerConnectionsHelper {
5
+ constructor() {
6
+ this.connections = {};
7
+ }
8
+ getAllConnections() {
9
+ return Object.keys(this.connections)
10
+ .map((key) => ({ key, connection: this.connections[key] }));
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
+ }
24
+ addConnection(connection) {
25
+ this.connections[connection.id] = connection;
26
+ }
27
+ clearConnections() {
28
+ this.getClosedConnections().forEach((connection) => {
29
+ delete this.connections[connection.key];
30
+ });
31
+ }
32
+ hasOpenConnection() {
33
+ return this.getOpenConnections().length > 0;
34
+ }
35
+ }
36
+ exports.GamePlayerConnectionsHelper = GamePlayerConnectionsHelper;
37
+ //# sourceMappingURL=game-player-connections-helper.js.map
@@ -0,0 +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;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"}
@@ -1,4 +1,5 @@
1
1
  import { GamePlayerMove } from './game-player-move';
2
+ import { GamePlayerConnectionsHelper } from './game-player-connections-helper';
2
3
  export declare enum GamePlayerRole {
3
4
  VISITOR = "VISITOR",
4
5
  WATCHER = "WATCHER",
@@ -25,7 +26,8 @@ export declare abstract class GamePlayer {
25
26
  private readonly color;
26
27
  private bet;
27
28
  private move;
28
- constructor(id: string, fullName: string, avatarUrl: string, balance: number, color?: number);
29
+ readonly connections: GamePlayerConnectionsHelper;
30
+ protected constructor(id: string, fullName: string, avatarUrl: string, balance: number, color?: number);
29
31
  getId(): string;
30
32
  getFullName(): string;
31
33
  getAvatarUrl(): string;
@@ -52,6 +54,7 @@ export declare abstract class GamePlayer {
52
54
  setStack(stack: number): void;
53
55
  hasEmptyStack(): boolean;
54
56
  hasOpenConnection(): boolean;
57
+ sendMessage(message: string): void;
55
58
  flush(): void;
56
59
  getMove(): GamePlayerMove;
57
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;AAEpD,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;gBAGrC,EAAE,EAAE,MAAM,EACV,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,KAAK,CAAC,EAAE,MAAM;IAWlB,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"}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.GamePlayer = exports.GamePlayerColor = exports.GamePlayerRole = void 0;
4
+ const game_player_connections_helper_1 = require("./game-player-connections-helper");
4
5
  var GamePlayerRole;
5
6
  (function (GamePlayerRole) {
6
7
  GamePlayerRole["VISITOR"] = "VISITOR";
@@ -29,6 +30,7 @@ class GamePlayer {
29
30
  this.stack = 0;
30
31
  this.color = color !== null && color !== void 0 ? color : 0;
31
32
  this.bet = 0;
33
+ this.connections = new game_player_connections_helper_1.GamePlayerConnectionsHelper();
32
34
  }
33
35
  getId() {
34
36
  return this.id;
@@ -119,7 +121,12 @@ class GamePlayer {
119
121
  return this.getStack() === 0;
120
122
  }
121
123
  hasOpenConnection() {
122
- return true;
124
+ return this.connections.hasOpenConnection();
125
+ }
126
+ sendMessage(message) {
127
+ this.connections.getAllOpenConnections().forEach((connection) => {
128
+ connection.send(message);
129
+ });
123
130
  }
124
131
  flush() {
125
132
  }
@@ -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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"}
@@ -1,5 +1,5 @@
1
- import { GameTableConfig, IGameTable } from './game-table';
2
- import { GamePlayer } from './game-player';
1
+ import { GameTable, GameTableConfig } from './game-table';
2
+ import { GameMaster } from './game-master';
3
3
  export type GameRoomConfig = {
4
4
  id: string;
5
5
  gameType: string;
@@ -10,38 +10,36 @@ export type GameRoomConfig = {
10
10
  turnTimeout: number;
11
11
  restartTimeout: number;
12
12
  };
13
- export declare abstract class GameRoom<GT extends IGameTable<GP>, GP extends GamePlayer> {
13
+ export declare abstract class GameRoom {
14
14
  private readonly id;
15
15
  private readonly gameType;
16
16
  private readonly roomType;
17
17
  private readonly rulesType;
18
18
  private readonly maxPlayers;
19
19
  private readonly bet;
20
- private readonly tables;
21
20
  private readonly turnTimeout;
22
21
  private readonly restartTimeout;
23
22
  private createdTableCount;
23
+ private readonly masters;
24
24
  constructor(config: GameRoomConfig);
25
- abstract createTable(): GT;
26
- abstract handleWatchTheTable(player: GP, tableId: string): any;
27
- abstract handleMove(player: GP, tableId: string): any;
28
- abstract handleFinishRound(table: IGameTable<GP>): any;
29
- abstract handleRestartRound(table: IGameTable<GP>): any;
25
+ abstract createMaster(): GameMaster;
26
+ abstract handleFinishRound(table: GameTable): void;
27
+ abstract handleRestartRound(table: GameTable): void;
30
28
  getId(): string;
31
29
  getRoomType(): string;
32
30
  getGameType(): string;
33
31
  getRulesType(): string;
34
32
  getMaxPlayers(): number;
35
- getTables(): Array<GT>;
36
- getFirstTable(): GT | undefined;
37
- getTableWithFreeSeats(): GT | undefined;
38
- remainOneTable(): boolean;
39
- getTableById(id: string): GT | undefined;
33
+ getMasters(): Array<GameMaster>;
34
+ getFirstMaster(): GameMaster | undefined;
35
+ getMasterWithFreeSeats(): GameTable | undefined;
36
+ remainOneMaster(): boolean;
37
+ getMasterById(id: string): GameMaster | undefined;
40
38
  getFreeTableNumber(): number;
41
39
  getCreatedTableCount(): number;
42
- addTable(newTable: GT): void;
43
- removeTable(removingTable: GT): void;
40
+ addMaster(): void;
41
+ removeMaster(masterId: string): void;
44
42
  getBet(): number;
45
- getConfigForTable(): GameTableConfig<GP>;
43
+ getConfigForTable(): GameTableConfig;
46
44
  }
47
45
  //# 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":"AAGA,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC3D,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,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;CAC1B,CAAA;AAED,8BAAsB,QAAQ,CAAC,EAAE,SAAS,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE,SAAS,UAAU;IAC3E,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,MAAM,CAAY;IACnC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IACxC,OAAO,CAAC,iBAAiB,CAAS;gBAErB,MAAM,EAAE,cAAc;IAanC,QAAQ,CAAC,WAAW,IAAK,EAAE;IAE3B,QAAQ,CAAC,mBAAmB,CAAE,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM;IAEzD,QAAQ,CAAC,UAAU,CAAE,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM;IAEhD,QAAQ,CAAC,iBAAiB,CAAE,KAAK,EAAE,UAAU,CAAC,EAAE,CAAC;IAEjD,QAAQ,CAAC,kBAAkB,CAAE,KAAK,EAAE,UAAU,CAAC,EAAE,CAAC;IAElD,KAAK;IAIL,WAAW;IAIX,WAAW;IAIX,YAAY;IAIZ,aAAa;IAIb,SAAS,IAAK,KAAK,CAAC,EAAE,CAAC;IAIvB,aAAa,IAAK,EAAE,GAAG,SAAS;IAIhC,qBAAqB,IAAK,EAAE,GAAG,SAAS;IAIxC,cAAc,IAAK,OAAO;IAI1B,YAAY,CAAE,EAAE,EAAE,MAAM,GAAG,EAAE,GAAG,SAAS;IAIzC,kBAAkB,IAAK,MAAM;IAI7B,oBAAoB,IAAK,MAAM;IAI/B,QAAQ,CAAE,QAAQ,EAAE,EAAE,GAAG,IAAI;IAK7B,WAAW,CAAE,aAAa,EAAE,EAAE,GAAG,IAAI;IAIrC,MAAM;IAIN,iBAAiB,IAAK,eAAe,CAAC,EAAE,CAAC;CAa5C"}
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,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,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;IAanC,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,cAAc,IAAK,UAAU,GAAG,SAAS;IAIzC,sBAAsB,IAAK,SAAS,GAAG,SAAS;IAKhD,eAAe,IAAK,OAAO;IAI3B,aAAa,CAAE,EAAE,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS;IAIlD,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;CAaxC"}
@@ -2,10 +2,9 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.GameRoom = void 0;
4
4
  const lodash_1 = require("lodash");
5
- const lodash_2 = require("lodash");
6
5
  class GameRoom {
7
6
  constructor(config) {
8
- this.tables = [];
7
+ this.masters = [];
9
8
  this.createdTableCount = 0;
10
9
  this.id = config.id;
11
10
  this.roomType = config.roomType;
@@ -31,20 +30,20 @@ class GameRoom {
31
30
  getMaxPlayers() {
32
31
  return this.maxPlayers;
33
32
  }
34
- getTables() {
35
- return this.tables;
33
+ getMasters() {
34
+ return this.masters;
36
35
  }
37
- getFirstTable() {
38
- return (0, lodash_1.first)(this.getTables());
36
+ getFirstMaster() {
37
+ return (0, lodash_1.first)(this.getMasters());
39
38
  }
40
- getTableWithFreeSeats() {
41
- return this.tables.find((table) => table.getPlayers().length + table.getQueue().length < table.getTableSize());
39
+ getMasterWithFreeSeats() {
40
+ return this.masters.find((master) => master.getTable().getPlayers().length + master.getTable().getQueue().length < master.getTable().getTableSize()).getTable();
42
41
  }
43
- remainOneTable() {
44
- return this.tables.length === 1;
42
+ remainOneMaster() {
43
+ return this.masters.length === 1;
45
44
  }
46
- getTableById(id) {
47
- return this.tables.find((item) => item.getId() === id);
45
+ getMasterById(id) {
46
+ return this.masters.find((item) => item.getId() === id);
48
47
  }
49
48
  getFreeTableNumber() {
50
49
  return this.createdTableCount + 1;
@@ -52,12 +51,12 @@ class GameRoom {
52
51
  getCreatedTableCount() {
53
52
  return this.createdTableCount;
54
53
  }
55
- addTable(newTable) {
56
- this.tables.push(newTable);
54
+ addMaster() {
55
+ this.masters.push(this.createMaster());
57
56
  this.createdTableCount += 1;
58
57
  }
59
- removeTable(removingTable) {
60
- (0, lodash_2.remove)(this.tables, (table) => table.getId() === removingTable.getId());
58
+ removeMaster(masterId) {
59
+ (0, lodash_1.remove)(this.masters, (master) => master.getId() === masterId);
61
60
  }
62
61
  getBet() {
63
62
  return this.bet;
@@ -68,11 +67,11 @@ class GameRoom {
68
67
  number: this.getFreeTableNumber(),
69
68
  tableSize: this.getMaxPlayers(),
70
69
  bet: this.getBet(),
70
+ rulesType: this.getRulesType(),
71
71
  turnTimeout: this.turnTimeout,
72
72
  restartTimeout: this.restartTimeout,
73
73
  onRoomFinishRound: this.handleFinishRound,
74
74
  onRoomRestartRound: this.handleRestartRound,
75
- rulesType: this.getRulesType(),
76
75
  };
77
76
  }
78
77
  }
@@ -1 +1 @@
1
- {"version":3,"file":"game-room.js","sourceRoot":"","sources":["../../src/base/game-room.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"game-room.js","sourceRoot":"","sources":["../../src/base/game-room.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,5 @@
1
+ import { GamePlayer } from './game-player';
2
+ import { GameStateMachine } from './game-state-machine';
1
3
  export type GameRoundHistoryItem = {
2
4
  userId: string;
3
5
  fullName: string;
@@ -5,24 +7,20 @@ export type GameRoundHistoryItem = {
5
7
  action: string;
6
8
  state: string;
7
9
  };
8
- export interface IGameRound<GP> {
9
- getActivePlayer(): GP;
10
- setActivePlayer(activePlayer: GP): any;
11
- }
12
- export declare abstract class GameRound<SM, GP> implements IGameRound<GP> {
10
+ export declare class GameRound {
13
11
  private readonly history;
14
12
  private id;
15
13
  private pot;
16
14
  private state;
17
15
  private activePlayer;
18
- protected constructor();
19
- getState(): SM;
20
- setState(state: SM): void;
16
+ constructor(state: GameStateMachine);
17
+ getId(): string;
18
+ getState(): GameStateMachine;
21
19
  getHistory(): Array<GameRoundHistoryItem>;
22
20
  addToHistory(item: GameRoundHistoryItem): void;
23
21
  addToPot(amount: number): void;
24
22
  getPot(): number;
25
- getActivePlayer(): GP;
26
- setActivePlayer(activePlayer: GP): void;
23
+ getActivePlayer(): GamePlayer;
24
+ setActivePlayer(activePlayer: GamePlayer): void;
27
25
  }
28
26
  //# sourceMappingURL=game-round.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"game-round.d.ts","sourceRoot":"","sources":["../../src/base/game-round.ts"],"names":[],"mappings":"AAEA,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,MAAM,WAAW,UAAU,CAAC,EAAE;IAC1B,eAAe,IAAK,EAAE,CAAC;IAEvB,eAAe,CAAE,YAAY,EAAE,EAAE,OAAE;CACtC;AAED,8BAAsB,SAAS,CAAC,EAAE,EAAE,EAAE,CAAE,YAAW,UAAU,CAAC,EAAE,CAAC;IAC7D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA8B;IACtD,OAAO,CAAC,EAAE,CAAS;IACnB,OAAO,CAAC,GAAG,CAAS;IACpB,OAAO,CAAC,KAAK,CAAK;IAClB,OAAO,CAAC,YAAY,CAAK;IAEzB,SAAS;IAMT,QAAQ,IAAK,EAAE;IAIf,QAAQ,CAAE,KAAK,EAAE,EAAE,GAAG,IAAI;IAI1B,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,EAAE;CAGpC"}
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"}
@@ -3,17 +3,18 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.GameRound = void 0;
4
4
  const uuid_1 = require("uuid");
5
5
  class GameRound {
6
- constructor() {
6
+ constructor(state) {
7
7
  this.id = (0, uuid_1.v4)();
8
8
  this.pot = 0;
9
9
  this.history = [];
10
+ this.state = state;
11
+ }
12
+ getId() {
13
+ return this.id;
10
14
  }
11
15
  getState() {
12
16
  return this.state;
13
17
  }
14
- setState(state) {
15
- this.state = state;
16
- }
17
18
  getHistory() {
18
19
  return this.history;
19
20
  }
@@ -1 +1 @@
1
- {"version":3,"file":"game-round.js","sourceRoot":"","sources":["../../src/base/game-round.ts"],"names":[],"mappings":";;;AAAA,+BAAmC;AAgBnC,MAAsB,SAAS;IAO3B;QACI,IAAI,CAAC,EAAE,GAAG,IAAA,SAAK,GAAE,CAAC;QAClB,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC;QACb,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;IACtB,CAAC;IAED,QAAQ;QACJ,OAAO,IAAI,CAAC,KAAK,CAAC;IACtB,CAAC;IAED,QAAQ,CAAE,KAAS;QACf,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACvB,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,YAAgB;QAC7B,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;IACrC,CAAC;CACJ;AA5CD,8BA4CC"}
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"}
@@ -1,13 +1,13 @@
1
1
  export type StateMachineConfig = Record<string, {
2
2
  on: Record<string, string>;
3
3
  }>;
4
- export declare abstract class GameStateMachine<S, A> {
4
+ export declare abstract class GameStateMachine {
5
5
  private readonly initialState;
6
6
  private currentState;
7
7
  private config;
8
- protected constructor(initialState: S, config: StateMachineConfig);
9
- getCurrentState(): S;
8
+ protected constructor(initialState: string, config: StateMachineConfig);
9
+ getCurrentState(): string;
10
10
  start(): void;
11
- send(action: A): void;
11
+ send(action: string): void;
12
12
  }
13
13
  //# sourceMappingURL=game-state-machine.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"game-state-machine.d.ts","sourceRoot":"","sources":["../../src/base/game-state-machine.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,kBAAkB,GAAG,MAAM,CAAC,MAAM,EAAE;IAAE,EAAE,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,CAAC,CAAA;AAE/E,8BAAsB,gBAAgB,CAAC,CAAC,EAAE,CAAC;IACvC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAI;IACjC,OAAO,CAAC,YAAY,CAAI;IACxB,OAAO,CAAC,MAAM,CAAqB;IAEnC,SAAS,aAAc,YAAY,EAAE,CAAC,EAAE,MAAM,EAAE,kBAAkB;IAMlE,eAAe,IAAK,CAAC;IAIrB,KAAK;IAIL,IAAI,CAAE,MAAM,EAAE,CAAC;CAGlB"}
1
+ {"version":3,"file":"game-state-machine.d.ts","sourceRoot":"","sources":["../../src/base/game-state-machine.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,kBAAkB,GAAG,MAAM,CAAC,MAAM,EAAE;IAAE,EAAE,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,CAAC,CAAA;AAE/E,8BAAsB,gBAAgB;IAClC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IACtC,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,MAAM,CAAqB;IAEnC,SAAS,aAAc,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,kBAAkB;IAMvE,eAAe,IAAK,MAAM;IAI1B,KAAK;IAIL,IAAI,CAAE,MAAM,EAAE,MAAM;CAGvB"}
@@ -1 +1 @@
1
- {"version":3,"file":"game-state-machine.js","sourceRoot":"","sources":["../../src/base/game-state-machine.ts"],"names":[],"mappings":";;;AAEA,MAAsB,gBAAgB;IAKlC,YAAuB,YAAe,EAAE,MAA0B;QAC9D,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;IAC1C,CAAC;IAED,eAAe;QACX,OAAO,IAAI,CAAC,YAAY,CAAC;IAC7B,CAAC;IAED,KAAK;QACD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;IAC1C,CAAC;IAED,IAAI,CAAE,MAAS;QACX,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,YAAsB,CAAC,CAAC,EAAE,CAAC,MAAgB,CAAM,CAAC;IAC3F,CAAC;CACJ;AAtBD,4CAsBC"}
1
+ {"version":3,"file":"game-state-machine.js","sourceRoot":"","sources":["../../src/base/game-state-machine.ts"],"names":[],"mappings":";;;AAEA,MAAsB,gBAAgB;IAKlC,YAAuB,YAAoB,EAAE,MAA0B;QACnE,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;IAC1C,CAAC;IAED,eAAe;QACX,OAAO,IAAI,CAAC,YAAY,CAAC;IAC7B,CAAC;IAED,KAAK;QACD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;IAC1C,CAAC;IAED,IAAI,CAAE,MAAc;QAChB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,YAAsB,CAAC,CAAC,EAAE,CAAC,MAAgB,CAAC,CAAC;IACtF,CAAC;CACJ;AAtBD,4CAsBC"}
@@ -0,0 +1,3 @@
1
+ export declare class GameSummaryResult {
2
+ }
3
+ //# sourceMappingURL=game-summary-result.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"game-summary-result.d.ts","sourceRoot":"","sources":["../../src/base/game-summary-result.ts"],"names":[],"mappings":"AAAA,qBAAa,iBAAiB;CAE7B"}