jp.ms.common.engine 1.0.3 → 1.0.4

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 (218) hide show
  1. package/dist/base/game-control-player-turn.d.ts +4 -4
  2. package/dist/base/game-control-player-turn.d.ts.map +1 -1
  3. package/dist/base/game-control-player-turn.js.map +1 -1
  4. package/dist/base/game-master.d.ts +24 -21
  5. package/dist/base/game-master.d.ts.map +1 -1
  6. package/dist/base/game-master.js +6 -2
  7. package/dist/base/game-master.js.map +1 -1
  8. package/dist/base/game-player-connections-helper.d.ts +15 -0
  9. package/dist/base/game-player-connections-helper.d.ts.map +1 -0
  10. package/dist/base/game-player-connections-helper.js +33 -0
  11. package/dist/base/game-player-connections-helper.js.map +1 -0
  12. package/dist/base/game-player.d.ts +3 -1
  13. package/dist/base/game-player.d.ts.map +1 -1
  14. package/dist/base/game-player.js +3 -1
  15. package/dist/base/game-player.js.map +1 -1
  16. package/dist/base/game-room.d.ts +15 -17
  17. package/dist/base/game-room.d.ts.map +1 -1
  18. package/dist/base/game-room.js +16 -17
  19. package/dist/base/game-room.js.map +1 -1
  20. package/dist/base/game-round.d.ts +7 -10
  21. package/dist/base/game-round.d.ts.map +1 -1
  22. package/dist/base/game-round.js +2 -4
  23. package/dist/base/game-round.js.map +1 -1
  24. package/dist/base/game-state-machine.d.ts +4 -4
  25. package/dist/base/game-state-machine.d.ts.map +1 -1
  26. package/dist/base/game-state-machine.js.map +1 -1
  27. package/dist/base/game-summary-result.d.ts +3 -0
  28. package/dist/base/game-summary-result.d.ts.map +1 -0
  29. package/dist/base/game-summary-result.js +7 -0
  30. package/dist/base/game-summary-result.js.map +1 -0
  31. package/dist/base/game-table-seat.d.ts +3 -3
  32. package/dist/base/game-table-seat.d.ts.map +1 -1
  33. package/dist/base/game-table-seat.js.map +1 -1
  34. package/dist/base/game-table-seats.d.ts +12 -12
  35. package/dist/base/game-table-seats.d.ts.map +1 -1
  36. package/dist/base/game-table-seats.js.map +1 -1
  37. package/dist/base/game-table.d.ts +25 -51
  38. package/dist/base/game-table.d.ts.map +1 -1
  39. package/dist/base/game-table.js.map +1 -1
  40. package/dist/base/index.d.ts +2 -1
  41. package/dist/base/index.d.ts.map +1 -1
  42. package/dist/base/index.js +3 -1
  43. package/dist/base/index.js.map +1 -1
  44. package/dist/base/standard-game-state.d.ts +2 -2
  45. package/dist/base/standard-game-state.d.ts.map +1 -1
  46. package/dist/base/standard-game-state.js +1 -1
  47. package/dist/base/standard-game-state.js.map +1 -1
  48. package/dist/base-rooms/fast-tournament-room.d.ts +0 -13
  49. package/dist/base-rooms/fast-tournament-room.d.ts.map +1 -1
  50. package/dist/base-rooms/fast-tournament-room.js +59 -51
  51. package/dist/base-rooms/fast-tournament-room.js.map +1 -1
  52. package/dist/base-rooms/index.d.ts +1 -5
  53. package/dist/base-rooms/index.d.ts.map +1 -1
  54. package/dist/base-rooms/index.js +3 -9
  55. package/dist/base-rooms/index.js.map +1 -1
  56. package/dist/base-rooms/scheduled-tournament-room.d.ts +0 -27
  57. package/dist/base-rooms/scheduled-tournament-room.d.ts.map +1 -1
  58. package/dist/base-rooms/scheduled-tournament-room.js +181 -164
  59. package/dist/base-rooms/scheduled-tournament-room.js.map +1 -1
  60. package/dist/base-rooms/simple-room.d.ts +5 -4
  61. package/dist/base-rooms/simple-room.d.ts.map +1 -1
  62. package/dist/base-rooms/simple-room.js +16 -0
  63. package/dist/base-rooms/simple-room.js.map +1 -1
  64. package/dist/base-rooms/tournament-room.d.ts +0 -46
  65. package/dist/base-rooms/tournament-room.d.ts.map +1 -1
  66. package/dist/base-rooms/tournament-room.js +169 -109
  67. package/dist/base-rooms/tournament-room.js.map +1 -1
  68. package/dist/base-rooms/tournament-state.d.ts +2 -2
  69. package/dist/base-rooms/tournament-state.d.ts.map +1 -1
  70. package/dist/base-rooms/tournament-state.js +2 -2
  71. package/dist/base-rooms/tournament-state.js.map +1 -1
  72. package/dist/board-game/base/board-cell.d.ts +0 -15
  73. package/dist/board-game/base/board-cell.d.ts.map +1 -1
  74. package/dist/board-game/base/board-cell.js +50 -40
  75. package/dist/board-game/base/board-cell.js.map +1 -1
  76. package/dist/board-game/base/board-figure.d.ts +0 -15
  77. package/dist/board-game/base/board-figure.d.ts.map +1 -1
  78. package/dist/board-game/base/board-figure.js +49 -36
  79. package/dist/board-game/base/board-figure.js.map +1 -1
  80. package/dist/board-game/base/board-game-master.d.ts +0 -18
  81. package/dist/board-game/base/board-game-master.d.ts.map +1 -1
  82. package/dist/board-game/base/board-game-master.js +56 -34
  83. package/dist/board-game/base/board-game-master.js.map +1 -1
  84. package/dist/board-game/base/board-player-move.d.ts +0 -10
  85. package/dist/board-game/base/board-player-move.d.ts.map +1 -1
  86. package/dist/board-game/base/board-player-move.js +29 -28
  87. package/dist/board-game/base/board-player-move.js.map +1 -1
  88. package/dist/board-game/base/board-player.d.ts +0 -12
  89. package/dist/board-game/base/board-player.d.ts.map +1 -1
  90. package/dist/board-game/base/board-player.js +43 -29
  91. package/dist/board-game/base/board-player.js.map +1 -1
  92. package/dist/board-game/base/board-table.d.ts +0 -16
  93. package/dist/board-game/base/board-table.d.ts.map +1 -1
  94. package/dist/board-game/base/board-table.js +52 -33
  95. package/dist/board-game/base/board-table.js.map +1 -1
  96. package/dist/board-game/d1-board-game/d1-board-table.d.ts +0 -18
  97. package/dist/board-game/d1-board-game/d1-board-table.d.ts.map +1 -1
  98. package/dist/board-game/d1-board-game/d1-board-table.js +56 -39
  99. package/dist/board-game/d1-board-game/d1-board-table.js.map +1 -1
  100. package/dist/board-game/d2-board-game/d2-board-cell.d.ts +0 -11
  101. package/dist/board-game/d2-board-game/d2-board-cell.d.ts.map +1 -1
  102. package/dist/board-game/d2-board-game/d2-board-cell.js +30 -24
  103. package/dist/board-game/d2-board-game/d2-board-cell.js.map +1 -1
  104. package/dist/board-game/d2-board-game/d2-board-pattern-move-figure.d.ts +0 -28
  105. package/dist/board-game/d2-board-game/d2-board-pattern-move-figure.d.ts.map +1 -1
  106. package/dist/board-game/d2-board-game/d2-board-pattern-move-figure.js +79 -49
  107. package/dist/board-game/d2-board-game/d2-board-pattern-move-figure.js.map +1 -1
  108. package/dist/board-game/d2-board-game/d2-board-table.d.ts +0 -48
  109. package/dist/board-game/d2-board-game/d2-board-table.d.ts.map +1 -1
  110. package/dist/board-game/d2-board-game/d2-board-table.js +262 -182
  111. package/dist/board-game/d2-board-game/d2-board-table.js.map +1 -1
  112. package/dist/board-game/d2-board-game/types.d.ts +0 -4
  113. package/dist/board-game/d2-board-game/types.d.ts.map +1 -1
  114. package/dist/board-game/d2-board-game/types.js +4 -1
  115. package/dist/board-game/d2-board-game/types.js.map +1 -1
  116. package/dist/board-game/dice.js +2 -2
  117. package/dist/board-game/dice.js.map +1 -1
  118. package/dist/board-game/index.d.ts +0 -12
  119. package/dist/board-game/index.d.ts.map +1 -1
  120. package/dist/board-game/index.js +28 -24
  121. package/dist/board-game/index.js.map +1 -1
  122. package/dist/cards-game/cards-game-master.d.ts +7 -8
  123. package/dist/cards-game/cards-game-master.d.ts.map +1 -1
  124. package/dist/cards-game/cards-game-master.js +13 -10
  125. package/dist/cards-game/cards-game-master.js.map +1 -1
  126. package/dist/cards-game/cards-player.d.ts.map +1 -1
  127. package/dist/cards-game/cards-player.js +1 -1
  128. package/dist/cards-game/cards-player.js.map +1 -1
  129. package/dist/cards-game/index.d.ts +1 -2
  130. package/dist/cards-game/index.d.ts.map +1 -1
  131. package/dist/cards-game/index.js +1 -3
  132. package/dist/cards-game/index.js.map +1 -1
  133. package/dist/index.d.ts +0 -1
  134. package/dist/index.d.ts.map +1 -1
  135. package/dist/index.js +1 -1
  136. package/dist/index.js.map +1 -1
  137. package/dist/tests/just-black-jack/domain/black-jack-dealer.d.ts +6 -0
  138. package/dist/tests/just-black-jack/domain/black-jack-dealer.d.ts.map +1 -0
  139. package/dist/tests/just-black-jack/domain/black-jack-dealer.js +14 -0
  140. package/dist/tests/just-black-jack/domain/black-jack-dealer.js.map +1 -0
  141. package/dist/tests/just-black-jack/domain/black-jack-game-master.d.ts +28 -0
  142. package/dist/tests/just-black-jack/domain/black-jack-game-master.d.ts.map +1 -0
  143. package/dist/tests/just-black-jack/domain/black-jack-game-master.js +90 -0
  144. package/dist/tests/just-black-jack/domain/black-jack-game-master.js.map +1 -0
  145. package/dist/tests/just-black-jack/domain/black-jack-player.d.ts +9 -0
  146. package/dist/tests/just-black-jack/domain/black-jack-player.d.ts.map +1 -0
  147. package/dist/tests/just-black-jack/domain/black-jack-player.js +21 -0
  148. package/dist/tests/just-black-jack/domain/black-jack-player.js.map +1 -0
  149. package/dist/tests/just-black-jack/helpers/calculate-result.d.ts +3 -0
  150. package/dist/tests/just-black-jack/helpers/calculate-result.d.ts.map +1 -0
  151. package/dist/tests/just-black-jack/helpers/calculate-result.js +30 -0
  152. package/dist/tests/just-black-jack/helpers/calculate-result.js.map +1 -0
  153. package/dist/tests/just-black-jack/helpers/calculate-result.test.d.ts +2 -0
  154. package/dist/tests/just-black-jack/helpers/calculate-result.test.d.ts.map +1 -0
  155. package/dist/tests/just-black-jack/helpers/calculate-result.test.js +34 -0
  156. package/dist/tests/just-black-jack/helpers/calculate-result.test.js.map +1 -0
  157. package/dist/tests/just-black-jack/rooms/black-jack-simple-room.d.ts +6 -0
  158. package/dist/tests/just-black-jack/rooms/black-jack-simple-room.d.ts.map +1 -0
  159. package/dist/tests/just-black-jack/rooms/black-jack-simple-room.js +13 -0
  160. package/dist/tests/just-black-jack/rooms/black-jack-simple-room.js.map +1 -0
  161. package/dist/tests/just-black-jack/tests/black-jack-simple-room.test.d.ts +2 -0
  162. package/dist/tests/just-black-jack/tests/black-jack-simple-room.test.d.ts.map +1 -0
  163. package/dist/tests/just-black-jack/tests/black-jack-simple-room.test.js +58 -0
  164. package/dist/tests/just-black-jack/tests/black-jack-simple-room.test.js.map +1 -0
  165. package/dist/tests/just-black-jack/tests/common.d.ts +11 -0
  166. package/dist/tests/just-black-jack/tests/common.d.ts.map +1 -0
  167. package/dist/tests/just-black-jack/tests/common.js +51 -0
  168. package/dist/tests/just-black-jack/tests/common.js.map +1 -0
  169. package/package.json +2 -1
  170. package/src/base/game-control-player-turn.ts +5 -5
  171. package/src/base/game-master.ts +25 -19
  172. package/src/base/game-player-connections-helper.ts +40 -0
  173. package/src/base/game-player.ts +5 -2
  174. package/src/base/game-room.ts +26 -30
  175. package/src/base/game-round.ts +10 -16
  176. package/src/base/game-state-machine.ts +7 -7
  177. package/src/base/game-summary-result.ts +3 -0
  178. package/src/base/game-table-seat.ts +3 -3
  179. package/src/base/game-table-seats.ts +13 -13
  180. package/src/base/game-table.ts +28 -79
  181. package/src/base/index.ts +2 -0
  182. package/src/base/standard-game-state.ts +2 -2
  183. package/src/base-rooms/fast-tournament-room.ts +59 -59
  184. package/src/base-rooms/index.ts +9 -9
  185. package/src/base-rooms/scheduled-tournament-room.ts +181 -181
  186. package/src/base-rooms/simple-room.ts +15 -4
  187. package/src/base-rooms/tournament-room.ts +169 -169
  188. package/src/base-rooms/tournament-state.ts +2 -2
  189. package/src/board-game/base/board-cell.ts +50 -50
  190. package/src/board-game/base/board-figure.ts +49 -49
  191. package/src/board-game/base/board-game-master.ts +56 -56
  192. package/src/board-game/base/board-player-move.ts +29 -29
  193. package/src/board-game/base/board-player.ts +43 -43
  194. package/src/board-game/base/board-table.ts +52 -52
  195. package/src/board-game/d1-board-game/d1-board-table.ts +56 -56
  196. package/src/board-game/d2-board-game/d2-board-cell.ts +30 -30
  197. package/src/board-game/d2-board-game/d2-board-pattern-move-figure.ts +79 -79
  198. package/src/board-game/d2-board-game/d2-board-table.ts +262 -262
  199. package/src/board-game/d2-board-game/types.ts +4 -4
  200. package/src/board-game/dice.ts +1 -1
  201. package/src/board-game/index.ts +28 -28
  202. package/src/cards-game/cards-game-master.ts +19 -16
  203. package/src/cards-game/cards-player.ts +2 -1
  204. package/src/cards-game/index.ts +0 -2
  205. package/src/index.ts +1 -1
  206. package/src/tests/just-black-jack/domain/black-jack-dealer.ts +15 -0
  207. package/src/tests/just-black-jack/domain/black-jack-game-master.ts +103 -0
  208. package/src/tests/just-black-jack/domain/black-jack-player.ts +27 -0
  209. package/src/tests/just-black-jack/helpers/calculate-result.test.ts +49 -0
  210. package/src/tests/just-black-jack/helpers/calculate-result.ts +34 -0
  211. package/src/tests/just-black-jack/rooms/black-jack-simple-room.ts +10 -0
  212. package/src/tests/just-black-jack/tests/black-jack-simple-room.test.ts +75 -0
  213. package/src/tests/just-black-jack/tests/common.ts +63 -0
  214. package/dist/cards-game/cards-table.d.ts +0 -11
  215. package/dist/cards-game/cards-table.d.ts.map +0 -1
  216. package/dist/cards-game/cards-table.js +0 -20
  217. package/dist/cards-game/cards-table.js.map +0 -1
  218. package/src/cards-game/cards-table.ts +0 -28
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/board-game/index.ts"],"names":[],"mappings":";;;AAAA,kDAA8C;AAa1C,0FAbK,sBAAS,OAaL;AAZb,sDAAkD;AAa9C,4FAbK,0BAAW,OAaL;AAZf,gEAA2D;AAavD,gGAbK,mCAAe,OAaL;AAZnB,sDAAkD;AAa9C,4FAbK,0BAAW,OAaL;AAZf,gEAA2D;AAavD,gGAbK,mCAAe,OAaL;AAZnB,oDAAgD;AAa5C,2FAbK,wBAAU,OAaL;AAZd,mEAA8D;AAa1D,6FAbK,6BAAY,OAaL;AAZhB,iEAA4D;AAaxD,4FAbK,2BAAW,OAaL;AAZf,+FAAwF;AAapF,yGAbK,uDAAwB,OAaL;AAZ5B,mEAA8D;AAa1D,6FAbK,6BAAY,OAaL;AAZhB,iCAA8B;AAa1B,qFAbK,WAAI,OAaL"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/board-game/index.ts"],"names":[],"mappings":";AAAA,iDAAiD;AACjD,qDAAqD;AACrD,8DAA8D;AAC9D,qDAAqD;AACrD,8DAA8D;AAC9D,mDAAmD;AACnD,iEAAiE;AACjE,+DAA+D;AAC/D,2FAA2F;AAC3F,iEAAiE;AACjE,iCAAiC;AACjC,EAAE;AACF,WAAW;AACX,iBAAiB;AACjB,mBAAmB;AACnB,uBAAuB;AACvB,mBAAmB;AACnB,uBAAuB;AACvB,kBAAkB;AAClB,oBAAoB;AACpB,mBAAmB;AACnB,gCAAgC;AAChC,oBAAoB;AACpB,YAAY;AACZ,IAAI;AACJ,EAAE;AACF,EAAE;AACF,EAAE"}
@@ -1,14 +1,13 @@
1
- import { GameMaster } from '../base';
2
- import { IGameTable } from '../base/game-table';
3
- import { IGameRound } from '../base/game-round';
1
+ import { GameMaster, GameRoom } from '../base';
4
2
  import { CardsPlayer } from './cards-player';
5
3
  import { Card } from './cards/card';
6
- export declare abstract class CardsGameMaster<GT extends IGameTable<GP>, GR extends IGameRound<GP>, GP extends CardsPlayer, GSR> extends GameMaster<GT, GR, GP, GSR> {
7
- private deck;
4
+ export declare abstract class CardsGameMaster extends GameMaster {
5
+ private sourceDeck;
6
+ private gameDeck;
8
7
  private readonly gameCards;
9
- protected constructor(table: GT);
10
- getDeck(): Card[];
11
- takeNewDeck(deck: Array<Card>): void;
8
+ constructor(room: GameRoom, sourceDeck: Array<Card>);
9
+ shuffleDeck(): void;
10
+ takeNewDeck(): void;
12
11
  getGameCards(): Card[];
13
12
  putCardsOnTheTableFromDeck(): void;
14
13
  putCardOnTheTable(card: Card): void;
@@ -1 +1 @@
1
- {"version":3,"file":"cards-game-master.d.ts","sourceRoot":"","sources":["../../src/cards-game/cards-game-master.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAEhD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAMpC,8BAAsB,eAAe,CAAC,EAAE,SAAS,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE,SAAS,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE,SAAS,WAAW,EAAE,GAAG,CAAE,SAAQ,UAAU,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC;IACxJ,OAAO,CAAC,IAAI,CAAc;IAC1B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAc;IAExC,SAAS,aAAc,KAAK,EAAE,EAAE;IAMhC,OAAO;IAIP,WAAW,CAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC;IAI9B,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;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,27 +1,30 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.CardsGameMaster = void 0;
4
+ const lodash_1 = require("lodash");
4
5
  const base_1 = require("../base");
6
+ const utils_1 = require("../utils");
5
7
  const ONE_CARD = 1;
6
8
  const TWO_CARDS = 2;
7
9
  const SIX_CARDS = 6;
8
10
  class CardsGameMaster extends base_1.GameMaster {
9
- constructor(table) {
10
- super(table);
11
- this.deck = [];
11
+ constructor(room, sourceDeck) {
12
+ super(room);
13
+ this.sourceDeck = (0, lodash_1.cloneDeep)(sourceDeck);
14
+ this.gameDeck = [];
12
15
  this.gameCards = [];
13
16
  }
14
- getDeck() {
15
- return this.deck;
17
+ shuffleDeck() {
18
+ this.sourceDeck = (0, utils_1.superShuffle)(this.sourceDeck);
16
19
  }
17
- takeNewDeck(deck) {
18
- this.deck = deck;
20
+ takeNewDeck() {
21
+ this.gameDeck = (0, lodash_1.cloneDeep)(this.sourceDeck);
19
22
  }
20
23
  getGameCards() {
21
24
  return this.gameCards;
22
25
  }
23
26
  putCardsOnTheTableFromDeck() {
24
- const popCard = this.deck.pop();
27
+ const popCard = this.gameDeck.pop();
25
28
  if (popCard) {
26
29
  this.gameCards.push(popCard);
27
30
  }
@@ -30,10 +33,10 @@ class CardsGameMaster extends base_1.GameMaster {
30
33
  this.gameCards.push(card);
31
34
  }
32
35
  popCardFromDeck() {
33
- return this.deck.pop();
36
+ return this.gameDeck.pop();
34
37
  }
35
38
  pushCardToDeck(card, position) {
36
- this.deck.splice(position, 0, card);
39
+ this.gameDeck.splice(position, 0, card);
37
40
  }
38
41
  pushCardToBeggingOfTheDeck(card) {
39
42
  this.pushCardToDeck(card, 0);
@@ -1 +1 @@
1
- {"version":3,"file":"cards-game-master.js","sourceRoot":"","sources":["../../src/cards-game/cards-game-master.ts"],"names":[],"mappings":";;;AAAA,kCAAqC;AAOrC,MAAM,QAAQ,GAAG,CAAC,CAAC;AACnB,MAAM,SAAS,GAAG,CAAC,CAAC;AACpB,MAAM,SAAS,GAAG,CAAC,CAAC;AAEpB,MAAsB,eAAmG,SAAQ,iBAA2B;IAIxJ,YAAuB,KAAS;QAC5B,KAAK,CAAC,KAAK,CAAC,CAAC;QACb,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;QACf,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;IACxB,CAAC;IAED,OAAO;QACH,OAAO,IAAI,CAAC,IAAI,CAAC;IACrB,CAAC;IAED,WAAW,CAAE,IAAiB;QAC1B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACrB,CAAC;IAED,YAAY;QACR,OAAO,IAAI,CAAC,SAAS,CAAC;IAC1B,CAAC;IAED,0BAA0B;QACtB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;QAChC,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,IAAI,CAAC,GAAG,EAAE,CAAC;IAC3B,CAAC;IAED,cAAc,CAAE,IAAU,EAAE,QAAgB;QACxC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;IACxC,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,MAAM,EAAE,KAAK,CAAC,CAAC;QAC1C,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;AAvED,0CAuEC"}
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 +1 @@
1
- {"version":3,"file":"cards-player.d.ts","sourceRoot":"","sources":["../../src/cards-game/cards-player.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAErC,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAGpC,8BAAsB,WAAY,SAAQ,UAAU;IAChD,OAAO,CAAC,KAAK,CAAc;IAE3B,SAAS,aACL,EAAE,EAAE,MAAM,EACV,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM;IAMnB,QAAQ,IAAK,KAAK,CAAC,IAAI,CAAC;IAIxB,QAAQ,IAAK,OAAO;IAIpB,UAAU,IAAK,IAAI;IAInB,QAAQ,CAAE,IAAI,EAAE,IAAI,GAAG,IAAI;IAI3B,OAAO,CAAE,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS;CAK7C"}
1
+ {"version":3,"file":"cards-player.d.ts","sourceRoot":"","sources":["../../src/cards-game/cards-player.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAErC,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAEpC,8BAAsB,WAAY,SAAQ,UAAU;IAChD,OAAO,CAAC,KAAK,CAAc;IAE3B,SAAS,aACL,EAAE,EAAE,MAAM,EACV,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM;IAMnB,QAAQ,IAAK,KAAK,CAAC,IAAI,CAAC;IAIxB,QAAQ,IAAK,OAAO;IAIpB,UAAU,IAAK,IAAI;IAInB,QAAQ,CAAE,IAAI,EAAE,IAAI,GAAG,IAAI;IAI3B,OAAO,CAAE,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS;CAK7C"}
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.CardsPlayer = void 0;
4
- const base_1 = require("../base");
5
4
  const lodash_1 = require("lodash");
5
+ const base_1 = require("../base");
6
6
  class CardsPlayer extends base_1.GamePlayer {
7
7
  constructor(id, fullName, avatarUrl, balance) {
8
8
  super(id, fullName, avatarUrl, balance);
@@ -1 +1 @@
1
- {"version":3,"file":"cards-player.js","sourceRoot":"","sources":["../../src/cards-game/cards-player.ts"],"names":[],"mappings":";;;AAAA,kCAAqC;AAGrC,mCAAuC;AAEvC,MAAsB,WAAY,SAAQ,iBAAU;IAGhD,YACI,EAAU,EACV,QAAgB,EAChB,SAAiB,EACjB,OAAe;QAEf,KAAK,CAAC,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;QACxC,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;IACpB,CAAC;IAED,QAAQ;QACJ,OAAO,IAAI,CAAC,KAAK,CAAC;IACtB,CAAC;IAED,QAAQ;QACJ,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;IACjC,CAAC;IAED,UAAU;QACN,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;IACpB,CAAC;IAED,QAAQ,CAAE,IAAU;QAChB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED,OAAO,CAAE,MAAc;QACnB,MAAM,WAAW,GAAG,IAAA,eAAM,EAAC,IAAI,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,MAAM,CAAC,CAAC;QAE1E,OAAO,IAAA,cAAK,EAAC,WAAW,CAAC,CAAC;IAC9B,CAAC;CACJ;AAlCD,kCAkCC"}
1
+ {"version":3,"file":"cards-player.js","sourceRoot":"","sources":["../../src/cards-game/cards-player.ts"],"names":[],"mappings":";;;AAAA,mCAAuC;AAEvC,kCAAqC;AAIrC,MAAsB,WAAY,SAAQ,iBAAU;IAGhD,YACI,EAAU,EACV,QAAgB,EAChB,SAAiB,EACjB,OAAe;QAEf,KAAK,CAAC,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;QACxC,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;IACpB,CAAC;IAED,QAAQ;QACJ,OAAO,IAAI,CAAC,KAAK,CAAC;IACtB,CAAC;IAED,QAAQ;QACJ,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;IACjC,CAAC;IAED,UAAU;QACN,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;IACpB,CAAC;IAED,QAAQ,CAAE,IAAU;QAChB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED,OAAO,CAAE,MAAc;QACnB,MAAM,WAAW,GAAG,IAAA,eAAM,EAAC,IAAI,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,MAAM,CAAC,CAAC;QAE1E,OAAO,IAAA,cAAK,EAAC,WAAW,CAAC,CAAC;IAC9B,CAAC;CACJ;AAlCD,kCAkCC"}
@@ -6,6 +6,5 @@ import { Ranks } from './cards/ranks';
6
6
  import { Suits } from './cards/suits';
7
7
  import { CardsGameMaster } from './cards-game-master';
8
8
  import { CardsPlayer } from './cards-player';
9
- import { CardsTable } from './cards-table';
10
- export { cards, Card, deck36, deck52, Ranks, Suits, CardsGameMaster, CardsPlayer, CardsTable, };
9
+ export { cards, Card, deck36, deck52, Ranks, Suits, CardsGameMaster, CardsPlayer, };
11
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cards-game/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,eAAe,CAAC;AACvC,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,OAAO,EACL,KAAK,EACL,IAAI,EACJ,MAAM,EACN,MAAM,EACN,KAAK,EACL,KAAK,EACL,eAAe,EACf,WAAW,EACX,UAAU,GACX,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cards-game/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,eAAe,CAAC;AACvC,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,OAAO,EACL,KAAK,EACL,IAAI,EACJ,MAAM,EACN,MAAM,EACN,KAAK,EACL,KAAK,EACL,eAAe,EACf,WAAW,GACZ,CAAA"}
@@ -33,7 +33,7 @@ var __importStar = (this && this.__importStar) || (function () {
33
33
  };
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.CardsTable = exports.CardsPlayer = exports.CardsGameMaster = exports.Suits = exports.Ranks = exports.deck52 = exports.deck36 = exports.Card = exports.cards = void 0;
36
+ exports.CardsPlayer = exports.CardsGameMaster = exports.Suits = exports.Ranks = exports.deck52 = exports.deck36 = exports.Card = exports.cards = void 0;
37
37
  const cards = __importStar(require("./cards/cards"));
38
38
  exports.cards = cards;
39
39
  const card_1 = require("./cards/card");
@@ -50,6 +50,4 @@ const cards_game_master_1 = require("./cards-game-master");
50
50
  Object.defineProperty(exports, "CardsGameMaster", { enumerable: true, get: function () { return cards_game_master_1.CardsGameMaster; } });
51
51
  const cards_player_1 = require("./cards-player");
52
52
  Object.defineProperty(exports, "CardsPlayer", { enumerable: true, get: function () { return cards_player_1.CardsPlayer; } });
53
- const cards_table_1 = require("./cards-table");
54
- Object.defineProperty(exports, "CardsTable", { enumerable: true, get: function () { return cards_table_1.CardsTable; } });
55
53
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cards-game/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qDAAuC;AAWrC,sBAAK;AAVP,uCAAoC;AAWlC,qFAXO,WAAI,OAWP;AAVN,2CAAwC;AAWtC,uFAXO,eAAM,OAWP;AAVR,2CAAwC;AAWtC,uFAXO,eAAM,OAWP;AAVR,yCAAsC;AAWpC,sFAXO,aAAK,OAWP;AAVP,yCAAsC;AAWpC,sFAXO,aAAK,OAWP;AAVP,2DAAsD;AAWpD,gGAXO,mCAAe,OAWP;AAVjB,iDAA6C;AAW3C,4FAXO,0BAAW,OAWP;AAVb,+CAA2C;AAWzC,2FAXO,wBAAU,OAWP"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cards-game/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qDAAuC;AAUrC,sBAAK;AATP,uCAAoC;AAUlC,qFAVO,WAAI,OAUP;AATN,2CAAwC;AAUtC,uFAVO,eAAM,OAUP;AATR,2CAAwC;AAUtC,uFAVO,eAAM,OAUP;AATR,yCAAsC;AAUpC,sFAVO,aAAK,OAUP;AATP,yCAAsC;AAUpC,sFAVO,aAAK,OAUP;AATP,2DAAsD;AAUpD,gGAVO,mCAAe,OAUP;AATjB,iDAA6C;AAU3C,4FAVO,0BAAW,OAUP"}
package/dist/index.d.ts CHANGED
@@ -1,6 +1,5 @@
1
1
  export * from './base';
2
2
  export * from './base-rooms';
3
- export * from './board-game';
4
3
  export * from './cards-game';
5
4
  export * from './utils';
6
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,cAAc,CAAC;AAE7B,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC"}
package/dist/index.js CHANGED
@@ -16,7 +16,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./base"), exports);
18
18
  __exportStar(require("./base-rooms"), exports);
19
- __exportStar(require("./board-game"), exports);
19
+ // export * from './board-game';
20
20
  __exportStar(require("./cards-game"), exports);
21
21
  __exportStar(require("./utils"), exports);
22
22
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yCAAuB;AACvB,+CAA6B;AAC7B,+CAA6B;AAC7B,+CAA6B;AAC7B,0CAAwB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yCAAuB;AACvB,+CAA6B;AAC7B,gCAAgC;AAChC,+CAA6B;AAC7B,0CAAwB"}
@@ -0,0 +1,6 @@
1
+ import { BlackJackPlayer } from './black-jack-player';
2
+ export declare class BlackJackDealer extends BlackJackPlayer {
3
+ constructor(tableId: string);
4
+ isDealer(): boolean;
5
+ }
6
+ //# sourceMappingURL=black-jack-dealer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"black-jack-dealer.d.ts","sourceRoot":"","sources":["../../../../src/tests/just-black-jack/domain/black-jack-dealer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,qBAAa,eAAgB,SAAQ,eAAe;gBACrC,OAAO,EAAE,MAAM;IAQnB,QAAQ,IAAK,OAAO;CAG9B"}
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BlackJackDealer = void 0;
4
+ const black_jack_player_1 = require("./black-jack-player");
5
+ class BlackJackDealer extends black_jack_player_1.BlackJackPlayer {
6
+ constructor(tableId) {
7
+ super(`${tableId}_dealer`, 'Dealer John', '', 1000000);
8
+ }
9
+ isDealer() {
10
+ return true;
11
+ }
12
+ }
13
+ exports.BlackJackDealer = BlackJackDealer;
14
+ //# sourceMappingURL=black-jack-dealer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"black-jack-dealer.js","sourceRoot":"","sources":["../../../../src/tests/just-black-jack/domain/black-jack-dealer.ts"],"names":[],"mappings":";;;AAAA,2DAAsD;AAEtD,MAAa,eAAgB,SAAQ,mCAAe;IAClD,YAAa,OAAe;QAC1B,KAAK,CAAC,GAAG,OAAO,SAAS,EACvB,aAAa,EACb,EAAE,EACF,OAAO,CACR,CAAC;IACJ,CAAC;IAEQ,QAAQ;QACf,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAZD,0CAYC"}
@@ -0,0 +1,28 @@
1
+ import { StandardGameState } from '../../../base';
2
+ import { CardsGameMaster } from '../../../cards-game';
3
+ import { BlackJackPlayer } from './black-jack-player';
4
+ export declare enum BlackJackMoveActionType {
5
+ GET_CARD = "GET_CARD",
6
+ FINISH_MOVE = "FINISH_MOVE"
7
+ }
8
+ export declare enum BlackJackSeatRole {
9
+ DEALER = "DEALER"
10
+ }
11
+ export declare class BlackJackGameMaster extends CardsGameMaster {
12
+ getGameRoundState(): StandardGameState;
13
+ getPlayers(): Array<BlackJackPlayer>;
14
+ startNewRound(): void;
15
+ changePlayer(): void;
16
+ finishRound(): void;
17
+ getResults(): {} | null;
18
+ kickPlayer(player: BlackJackPlayer): void;
19
+ onHandleMove(player: BlackJackPlayer): void;
20
+ onHandleRestartTimeout(): void;
21
+ onHandleTurnTimeout(player: BlackJackPlayer): void;
22
+ getCard(player: BlackJackPlayer): void;
23
+ finishMove(player: BlackJackPlayer): void;
24
+ isFinish(): boolean;
25
+ getDealerSeat(): import("../../../base").GameTableSeat;
26
+ getDealer(): BlackJackPlayer | undefined;
27
+ }
28
+ //# sourceMappingURL=black-jack-game-master.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,90 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BlackJackGameMaster = exports.BlackJackSeatRole = exports.BlackJackMoveActionType = void 0;
4
+ const base_1 = require("../../../base");
5
+ const cards_game_1 = require("../../../cards-game");
6
+ const black_jack_dealer_1 = require("./black-jack-dealer");
7
+ var BlackJackMoveActionType;
8
+ (function (BlackJackMoveActionType) {
9
+ BlackJackMoveActionType["GET_CARD"] = "GET_CARD";
10
+ BlackJackMoveActionType["FINISH_MOVE"] = "FINISH_MOVE";
11
+ })(BlackJackMoveActionType || (exports.BlackJackMoveActionType = BlackJackMoveActionType = {}));
12
+ var BlackJackSeatRole;
13
+ (function (BlackJackSeatRole) {
14
+ BlackJackSeatRole["DEALER"] = "DEALER";
15
+ })(BlackJackSeatRole || (exports.BlackJackSeatRole = BlackJackSeatRole = {}));
16
+ class BlackJackGameMaster extends cards_game_1.CardsGameMaster {
17
+ getGameRoundState() {
18
+ var _a;
19
+ return (_a = this.gameRound) === null || _a === void 0 ? void 0 : _a.getState();
20
+ }
21
+ getPlayers() {
22
+ return this.table.getPlayers();
23
+ }
24
+ startNewRound() {
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
+ this.takeNewDeck();
30
+ this.setGameRound(new base_1.GameRound(new base_1.StandardGameState()));
31
+ this.give2CardsToAllPlayers();
32
+ this.getGameRoundState().toStart();
33
+ const firstPlayer = this.table.seats.getNextPlayer((_b = (_a = this.getDealerSeat()) === null || _a === void 0 ? void 0 : _a.getNumber()) !== null && _b !== void 0 ? _b : 0);
34
+ if (firstPlayer) {
35
+ (_c = this.gameRound) === null || _c === void 0 ? void 0 : _c.setActivePlayer(firstPlayer);
36
+ }
37
+ }
38
+ changePlayer() {
39
+ this.changePlayerClockwise();
40
+ }
41
+ finishRound() {
42
+ this.getGameRoundState().toFinish();
43
+ }
44
+ getResults() {
45
+ return null;
46
+ }
47
+ kickPlayer(player) {
48
+ }
49
+ onHandleMove(player) {
50
+ const move = player.getMove();
51
+ switch (move === null || move === void 0 ? void 0 : move.getAction()) {
52
+ case BlackJackMoveActionType.GET_CARD: {
53
+ this.getCard(player);
54
+ break;
55
+ }
56
+ case BlackJackMoveActionType.FINISH_MOVE: {
57
+ this.finishMove(player);
58
+ break;
59
+ }
60
+ }
61
+ }
62
+ onHandleRestartTimeout() {
63
+ }
64
+ onHandleTurnTimeout(player) {
65
+ }
66
+ getCard(player) {
67
+ this.give1CardsToPlayer(player);
68
+ }
69
+ finishMove(player) {
70
+ player.finishMove();
71
+ if (this.isFinish()) {
72
+ this.finishRound();
73
+ }
74
+ else {
75
+ this.changePlayer();
76
+ }
77
+ }
78
+ isFinish() {
79
+ return this.getPlayers().filter((item) => item.isFinishedMove()).length === this.table.getPlayers().length;
80
+ }
81
+ getDealerSeat() {
82
+ return this.getTable().seats.getSeats().find((seat) => seat.getRole() === BlackJackSeatRole.DEALER);
83
+ }
84
+ getDealer() {
85
+ var _a;
86
+ return (_a = this.getDealerSeat()) === null || _a === void 0 ? void 0 : _a.getPlayer();
87
+ }
88
+ }
89
+ exports.BlackJackGameMaster = BlackJackGameMaster;
90
+ //# sourceMappingURL=black-jack-game-master.js.map
@@ -0,0 +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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"}
@@ -0,0 +1,9 @@
1
+ import { CardsPlayer } from '../../../cards-game';
2
+ export declare class BlackJackPlayer extends CardsPlayer {
3
+ private isFinishMove;
4
+ constructor(id: string, fullName: string, avatarUrl: string, balance: number);
5
+ isDealer(): boolean;
6
+ finishMove(): void;
7
+ isFinishedMove(): boolean;
8
+ }
9
+ //# sourceMappingURL=black-jack-player.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"black-jack-player.d.ts","sourceRoot":"","sources":["../../../../src/tests/just-black-jack/domain/black-jack-player.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAElD,qBAAa,eAAgB,SAAQ,WAAW;IAC9C,OAAO,CAAC,YAAY,CAAU;gBAG5B,EAAE,EAAE,MAAM,EACV,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM;IAMjB,QAAQ,IAAK,OAAO;IAIpB,UAAU;IAIV,cAAc;CAGf"}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BlackJackPlayer = void 0;
4
+ const cards_game_1 = require("../../../cards-game");
5
+ class BlackJackPlayer extends cards_game_1.CardsPlayer {
6
+ constructor(id, fullName, avatarUrl, balance) {
7
+ super(id, fullName, avatarUrl, balance);
8
+ this.isFinishMove = false;
9
+ }
10
+ isDealer() {
11
+ return false;
12
+ }
13
+ finishMove() {
14
+ this.isFinishMove = true;
15
+ }
16
+ isFinishedMove() {
17
+ return this.isFinishMove;
18
+ }
19
+ }
20
+ exports.BlackJackPlayer = BlackJackPlayer;
21
+ //# sourceMappingURL=black-jack-player.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"black-jack-player.js","sourceRoot":"","sources":["../../../../src/tests/just-black-jack/domain/black-jack-player.ts"],"names":[],"mappings":";;;AAAA,oDAAkD;AAElD,MAAa,eAAgB,SAAQ,wBAAW;IAG9C,YACE,EAAU,EACV,QAAgB,EAChB,SAAiB,EACjB,OAAe;QAEf,KAAK,CAAC,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;QACxC,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;IAC5B,CAAC;IAED,QAAQ;QACN,OAAO,KAAK,CAAC;IACf,CAAC;IAED,UAAU;QACR,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;IAC3B,CAAC;IAED,cAAc;QACZ,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;CACF;AAxBD,0CAwBC"}
@@ -0,0 +1,3 @@
1
+ import { Card } from '../../../cards-game';
2
+ export declare function calculateResult(cards: Array<Card>): number;
3
+ //# sourceMappingURL=calculate-result.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"calculate-result.d.ts","sourceRoot":"","sources":["../../../../src/tests/just-black-jack/helpers/calculate-result.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAS,MAAM,qBAAqB,CAAC;AAQlD,wBAAgB,eAAe,CAAE,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,CAuB3D"}
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.calculateResult = calculateResult;
4
+ const lodash_1 = require("lodash");
5
+ const cards_game_1 = require("../../../cards-game");
6
+ const PICTURE_RANK = 10;
7
+ const ACE_RANK_11 = 11;
8
+ const AIM = 21;
9
+ const ACE_DIFF = 10;
10
+ function calculateResult(cards) {
11
+ const result = (0, lodash_1.sumBy)(cards, (card) => {
12
+ switch (card.getRank()) {
13
+ case cards_game_1.Ranks.JACK:
14
+ case cards_game_1.Ranks.QUEEN:
15
+ case cards_game_1.Ranks.KING: {
16
+ return PICTURE_RANK;
17
+ }
18
+ case cards_game_1.Ranks.ACE: {
19
+ return ACE_RANK_11;
20
+ }
21
+ }
22
+ return card.getRank();
23
+ });
24
+ const aces = cards.filter((item) => item.getRank() === cards_game_1.Ranks.ACE);
25
+ if (result > AIM && aces.length > 0) {
26
+ return result - (ACE_DIFF * aces.length);
27
+ }
28
+ return result;
29
+ }
30
+ //# sourceMappingURL=calculate-result.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"calculate-result.js","sourceRoot":"","sources":["../../../../src/tests/just-black-jack/helpers/calculate-result.ts"],"names":[],"mappings":";;AAUA,0CAuBC;AAjCD,mCAA+B;AAE/B,oDAAkD;AAGlD,MAAM,YAAY,GAAG,EAAE,CAAC;AACxB,MAAM,WAAW,GAAG,EAAE,CAAC;AACvB,MAAM,GAAG,GAAG,EAAE,CAAC;AACf,MAAM,QAAQ,GAAG,EAAE,CAAC;AAEpB,SAAgB,eAAe,CAAE,KAAkB;IACjD,MAAM,MAAM,GAAG,IAAA,cAAK,EAAC,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE;QACnC,QAAQ,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;YACvB,KAAK,kBAAK,CAAC,IAAI,CAAC;YAChB,KAAK,kBAAK,CAAC,KAAK,CAAC;YACjB,KAAK,kBAAK,CAAC,IAAI,CAAC,CAAC,CAAC;gBAChB,OAAO,YAAY,CAAC;YACtB,CAAC;YACD,KAAK,kBAAK,CAAC,GAAG,CAAC,CAAC,CAAC;gBACf,OAAO,WAAW,CAAC;YACrB,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;IACxB,CAAC,CAAC,CAAC;IAEH,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,kBAAK,CAAC,GAAG,CAAC,CAAC;IAElE,IAAI,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpC,OAAO,MAAM,GAAG,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;IAC3C,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=calculate-result.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"calculate-result.test.d.ts","sourceRoot":"","sources":["../../../../src/tests/just-black-jack/helpers/calculate-result.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const cards_1 = require("../../../cards-game/cards/cards");
4
+ const calculate_result_1 = require("./calculate-result");
5
+ describe('calculate result', () => {
6
+ it('calc digit', () => {
7
+ expect((0, calculate_result_1.calculateResult)([cards_1.heart_2, cards_1.heart_3])).toBe(5);
8
+ });
9
+ it('calc with jack', () => {
10
+ expect((0, calculate_result_1.calculateResult)([cards_1.heart_2, cards_1.heart_jack])).toBe(12);
11
+ });
12
+ it('calc with queen', () => {
13
+ expect((0, calculate_result_1.calculateResult)([cards_1.heart_2, cards_1.heart_queen])).toBe(12);
14
+ });
15
+ it('calc with king', () => {
16
+ expect((0, calculate_result_1.calculateResult)([cards_1.heart_2, cards_1.heart_king])).toBe(12);
17
+ });
18
+ it('calc with ace, less 21', () => {
19
+ expect((0, calculate_result_1.calculateResult)([cards_1.heart_2, cards_1.heart_ace])).toBe(13);
20
+ });
21
+ it('calc with ace, more 21', () => {
22
+ expect((0, calculate_result_1.calculateResult)([cards_1.heart_2, cards_1.heart_king, cards_1.heart_ace])).toBe(13);
23
+ });
24
+ it('calc with two aces, more 21', () => {
25
+ expect((0, calculate_result_1.calculateResult)([cards_1.heart_2, cards_1.heart_king, cards_1.heart_ace, cards_1.club_ace])).toBe(14);
26
+ });
27
+ it('calc with ace, more 21, overlimit', () => {
28
+ expect((0, calculate_result_1.calculateResult)([cards_1.heart_2, cards_1.heart_king, cards_1.heart_queen, cards_1.heart_ace])).toBe(23);
29
+ });
30
+ it('calc 21', () => {
31
+ expect((0, calculate_result_1.calculateResult)([cards_1.heart_king, cards_1.heart_ace])).toBe(21);
32
+ });
33
+ });
34
+ //# sourceMappingURL=calculate-result.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"calculate-result.test.js","sourceRoot":"","sources":["../../../../src/tests/just-black-jack/helpers/calculate-result.test.ts"],"names":[],"mappings":";;AAAA,2DAQyC;AAEzC,yDAAqD;AAErD,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IAChC,EAAE,CAAC,YAAY,EAAE,GAAG,EAAE;QACpB,MAAM,CAAC,IAAA,kCAAe,EAAC,CAAC,eAAO,EAAE,eAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gBAAgB,EAAE,GAAG,EAAE;QACxB,MAAM,CAAC,IAAA,kCAAe,EAAC,CAAC,eAAO,EAAE,kBAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iBAAiB,EAAE,GAAG,EAAE;QACzB,MAAM,CAAC,IAAA,kCAAe,EAAC,CAAC,eAAO,EAAE,mBAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gBAAgB,EAAE,GAAG,EAAE;QACxB,MAAM,CAAC,IAAA,kCAAe,EAAC,CAAC,eAAO,EAAE,kBAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wBAAwB,EAAE,GAAG,EAAE;QAChC,MAAM,CAAC,IAAA,kCAAe,EAAC,CAAC,eAAO,EAAE,iBAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wBAAwB,EAAE,GAAG,EAAE;QAChC,MAAM,CAAC,IAAA,kCAAe,EAAC,CAAC,eAAO,EAAE,kBAAU,EAAE,iBAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACrE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6BAA6B,EAAE,GAAG,EAAE;QACrC,MAAM,CAAC,IAAA,kCAAe,EAAC,CAAC,eAAO,EAAE,kBAAU,EAAE,iBAAS,EAAE,gBAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC/E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mCAAmC,EAAE,GAAG,EAAE;QAC3C,MAAM,CAAC,IAAA,kCAAe,EAAC,CAAC,eAAO,EAAE,kBAAU,EAAE,mBAAW,EAAE,iBAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAClF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE;QACjB,MAAM,CAAC,IAAA,kCAAe,EAAC,CAAC,kBAAU,EAAE,iBAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { SimpleRoom } from '../../../base-rooms';
2
+ import { GameMaster } from '../../../base';
3
+ export declare class BlackJackSimpleRoom extends SimpleRoom {
4
+ createMaster(): GameMaster;
5
+ }
6
+ //# sourceMappingURL=black-jack-simple-room.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"black-jack-simple-room.d.ts","sourceRoot":"","sources":["../../../../src/tests/just-black-jack/rooms/black-jack-simple-room.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAI3C,qBAAa,mBAAoB,SAAQ,UAAU;IACjD,YAAY,IAAK,UAAU;CAG5B"}
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BlackJackSimpleRoom = void 0;
4
+ const base_rooms_1 = require("../../../base-rooms");
5
+ const black_jack_game_master_1 = require("../domain/black-jack-game-master");
6
+ const cards_game_1 = require("../../../cards-game");
7
+ class BlackJackSimpleRoom extends base_rooms_1.SimpleRoom {
8
+ createMaster() {
9
+ return new black_jack_game_master_1.BlackJackGameMaster(this, cards_game_1.deck52);
10
+ }
11
+ }
12
+ exports.BlackJackSimpleRoom = BlackJackSimpleRoom;
13
+ //# sourceMappingURL=black-jack-simple-room.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"black-jack-simple-room.js","sourceRoot":"","sources":["../../../../src/tests/just-black-jack/rooms/black-jack-simple-room.ts"],"names":[],"mappings":";;;AAAA,oDAAiD;AAEjD,6EAAuE;AACvE,oDAA6C;AAE7C,MAAa,mBAAoB,SAAQ,uBAAU;IACjD,YAAY;QACV,OAAO,IAAI,4CAAmB,CAAC,IAAI,EAAE,mBAAM,CAAC,CAAC;IAC/C,CAAC;CACF;AAJD,kDAIC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=black-jack-simple-room.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"black-jack-simple-room.test.d.ts","sourceRoot":"","sources":["../../../../src/tests/just-black-jack/tests/black-jack-simple-room.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const lodash_1 = require("lodash");
4
+ const black_jack_simple_room_1 = require("../rooms/black-jack-simple-room");
5
+ const common_1 = require("./common");
6
+ const calculate_result_1 = require("../helpers/calculate-result");
7
+ describe('black jack simple room', () => {
8
+ let newPlayer1;
9
+ let newPlayer2;
10
+ let cashRoomConfig = {
11
+ id: '1',
12
+ gameType: 'JUST_BLACK_JACK',
13
+ roomType: 'simple',
14
+ rulesType: 'STANDARD',
15
+ maxPlayers: 6,
16
+ bet: 10,
17
+ turnTimeout: 0,
18
+ restartTimeout: 0,
19
+ };
20
+ beforeAll(() => {
21
+ (0, common_1.mockDeck)();
22
+ });
23
+ beforeEach(() => {
24
+ newPlayer1 = (0, lodash_1.cloneDeep)(common_1.player1);
25
+ newPlayer2 = (0, lodash_1.cloneDeep)(common_1.player2);
26
+ });
27
+ it('black jack simple room', () => {
28
+ var _a, _b, _c, _d, _e, _f;
29
+ const room = new black_jack_simple_room_1.BlackJackSimpleRoom(cashRoomConfig);
30
+ room.addMaster();
31
+ const master = room.getMasters()[0];
32
+ const table1 = master.getTable();
33
+ const dealer = master.getDealer();
34
+ if (table1 && dealer) {
35
+ table1.addPlayerToSeat(newPlayer1);
36
+ newPlayer1.setStack(100);
37
+ table1.addPlayerToSeat(newPlayer2);
38
+ newPlayer2.setStack(100);
39
+ expect((_a = master.getGameRound()) === null || _a === void 0 ? void 0 : _a.getState()).toBeUndefined();
40
+ master.startNewRound();
41
+ expect(master.getGameRoundState().isInProgress()).toBeTruthy();
42
+ expect(table1.getPlayers().length).toBe(3);
43
+ expect((_b = master.getGameRound()) === null || _b === void 0 ? void 0 : _b.getActivePlayer()).toBe(newPlayer1);
44
+ expect((0, calculate_result_1.calculateResult)(newPlayer1.getCards())).toBe(20);
45
+ master.finishMove(newPlayer1);
46
+ expect((_c = master.getGameRound()) === null || _c === void 0 ? void 0 : _c.getActivePlayer()).toBe(newPlayer2);
47
+ expect((0, calculate_result_1.calculateResult)(newPlayer2.getCards())).toBe(19);
48
+ master.getCard(newPlayer2);
49
+ expect((0, calculate_result_1.calculateResult)(newPlayer2.getCards())).toBe(27);
50
+ master.finishMove(newPlayer2);
51
+ expect((_d = master.getGameRound()) === null || _d === void 0 ? void 0 : _d.getActivePlayer()).toBe(dealer);
52
+ expect((0, calculate_result_1.calculateResult)((_f = (_e = master.getDealer()) === null || _e === void 0 ? void 0 : _e.getCards()) !== null && _f !== void 0 ? _f : [])).toBe(21);
53
+ master.finishMove(dealer);
54
+ expect(master.getGameRoundState().isFinish()).toBeTruthy();
55
+ }
56
+ });
57
+ });
58
+ //# sourceMappingURL=black-jack-simple-room.test.js.map
@@ -0,0 +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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"}
@@ -0,0 +1,11 @@
1
+ import { BlackJackPlayer } from '../domain/black-jack-player';
2
+ export declare const player1: BlackJackPlayer;
3
+ export declare const player2: BlackJackPlayer;
4
+ export declare const player3: BlackJackPlayer;
5
+ export declare const player4: BlackJackPlayer;
6
+ export declare const player5: BlackJackPlayer;
7
+ export declare const player6: BlackJackPlayer;
8
+ export declare const player7: BlackJackPlayer;
9
+ export declare const player8: BlackJackPlayer;
10
+ export declare function mockDeck(): void;
11
+ //# sourceMappingURL=common.d.ts.map