jp.ms.common.engine 1.0.20 → 2.0.0

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 (562) hide show
  1. package/dist/base/base-figure-type.enum.d.ts +4 -0
  2. package/dist/base/base-figure-type.enum.d.ts.map +1 -0
  3. package/dist/base/base-figure-type.enum.js +8 -0
  4. package/dist/base/base-figure-type.enum.js.map +1 -0
  5. package/dist/base/base-figure.d.ts +10 -0
  6. package/dist/base/base-figure.d.ts.map +1 -0
  7. package/dist/base/base-figure.js +20 -0
  8. package/dist/base/base-figure.js.map +1 -0
  9. package/dist/base/base-move-data.d.ts +7 -0
  10. package/dist/base/base-move-data.d.ts.map +1 -0
  11. package/dist/base/base-move-data.js +13 -0
  12. package/dist/base/base-move-data.js.map +1 -0
  13. package/dist/base/base-player-move-factory.d.ts +10 -0
  14. package/dist/base/base-player-move-factory.d.ts.map +1 -0
  15. package/dist/base/base-player-move-factory.js +13 -0
  16. package/dist/base/base-player-move-factory.js.map +1 -0
  17. package/dist/base/base-player-move.d.ts +17 -0
  18. package/dist/base/base-player-move.d.ts.map +1 -0
  19. package/dist/base/base-player-move.js +24 -0
  20. package/dist/base/base-player-move.js.map +1 -0
  21. package/dist/base/game-control-player-turn.d.ts +1 -0
  22. package/dist/base/game-control-player-turn.d.ts.map +1 -1
  23. package/dist/base/game-control-player-turn.js +6 -0
  24. package/dist/base/game-control-player-turn.js.map +1 -1
  25. package/dist/base/game-control-restart.d.ts +1 -0
  26. package/dist/base/game-control-restart.d.ts.map +1 -1
  27. package/dist/base/game-control-restart.js +5 -0
  28. package/dist/base/game-control-restart.js.map +1 -1
  29. package/dist/base/game-master.d.ts +94 -30
  30. package/dist/base/game-master.d.ts.map +1 -1
  31. package/dist/base/game-master.js +351 -55
  32. package/dist/base/game-master.js.map +1 -1
  33. package/dist/base/game-player-connections-helper.d.ts +3 -12
  34. package/dist/base/game-player-connections-helper.d.ts.map +1 -1
  35. package/dist/base/game-player-connections-helper.js +10 -16
  36. package/dist/base/game-player-connections-helper.js.map +1 -1
  37. package/dist/base/game-player-exited.d.ts +15 -0
  38. package/dist/base/game-player-exited.d.ts.map +1 -0
  39. package/dist/base/game-player-exited.js +29 -0
  40. package/dist/base/game-player-exited.js.map +1 -0
  41. package/dist/base/game-player.d.ts +76 -45
  42. package/dist/base/game-player.d.ts.map +1 -1
  43. package/dist/base/game-player.js +164 -98
  44. package/dist/base/game-player.js.map +1 -1
  45. package/dist/base/game-result-equal-helper.d.ts +6 -0
  46. package/dist/base/game-result-equal-helper.d.ts.map +1 -0
  47. package/dist/base/game-result-equal-helper.js +19 -0
  48. package/dist/base/game-result-equal-helper.js.map +1 -0
  49. package/dist/base/game-result-helper.d.ts +13 -0
  50. package/dist/base/game-result-helper.d.ts.map +1 -0
  51. package/dist/base/game-result-helper.js +24 -0
  52. package/dist/base/game-result-helper.js.map +1 -0
  53. package/dist/base/game-result-rating-helper.d.ts +18 -0
  54. package/dist/base/game-result-rating-helper.d.ts.map +1 -0
  55. package/dist/base/game-result-rating-helper.js +32 -0
  56. package/dist/base/game-result-rating-helper.js.map +1 -0
  57. package/dist/base/game-room.d.ts +38 -7
  58. package/dist/base/game-room.d.ts.map +1 -1
  59. package/dist/base/game-room.js +67 -10
  60. package/dist/base/game-room.js.map +1 -1
  61. package/dist/base/game-round-history-item.d.ts +25 -0
  62. package/dist/base/game-round-history-item.d.ts.map +1 -0
  63. package/dist/base/game-round-history-item.enum.d.ts +7 -0
  64. package/dist/base/game-round-history-item.enum.d.ts.map +1 -0
  65. package/dist/base/game-round-history-item.enum.js +11 -0
  66. package/dist/base/game-round-history-item.enum.js.map +1 -0
  67. package/dist/base/game-round-history-item.js +52 -0
  68. package/dist/base/game-round-history-item.js.map +1 -0
  69. package/dist/base/game-round.d.ts +16 -9
  70. package/dist/base/game-round.d.ts.map +1 -1
  71. package/dist/base/game-round.js +34 -0
  72. package/dist/base/game-round.js.map +1 -1
  73. package/dist/base/game-state-machine.d.ts +5 -0
  74. package/dist/base/game-state-machine.d.ts.map +1 -1
  75. package/dist/base/game-state-machine.js.map +1 -1
  76. package/dist/base/game-table-seat.d.ts +10 -3
  77. package/dist/base/game-table-seat.d.ts.map +1 -1
  78. package/dist/base/game-table-seat.js +43 -2
  79. package/dist/base/game-table-seat.js.map +1 -1
  80. package/dist/base/game-table-seats.d.ts +4 -6
  81. package/dist/base/game-table-seats.d.ts.map +1 -1
  82. package/dist/base/game-table-seats.js +13 -27
  83. package/dist/base/game-table-seats.js.map +1 -1
  84. package/dist/base/game-table.d.ts +24 -21
  85. package/dist/base/game-table.d.ts.map +1 -1
  86. package/dist/base/game-table.js +72 -42
  87. package/dist/base/game-table.js.map +1 -1
  88. package/dist/base/index.d.ts +10 -5
  89. package/dist/base/index.d.ts.map +1 -1
  90. package/dist/base/index.js +17 -3
  91. package/dist/base/index.js.map +1 -1
  92. package/dist/base-rooms/simple-room.d.ts +7 -7
  93. package/dist/base-rooms/simple-room.d.ts.map +1 -1
  94. package/dist/base-rooms/simple-room.js +5 -4
  95. package/dist/base-rooms/simple-room.js.map +1 -1
  96. package/dist/base-rooms/tournament-state.d.ts +1 -1
  97. package/dist/base-rooms/tournament-state.d.ts.map +1 -1
  98. package/dist/base-rooms/tournament-state.js +1 -1
  99. package/dist/base-rooms/tournament-state.js.map +1 -1
  100. package/dist/cards-game/cards/card.d.ts +14 -14
  101. package/dist/cards-game/cards/card.d.ts.map +1 -1
  102. package/dist/cards-game/cards/card.js +36 -17
  103. package/dist/cards-game/cards/card.js.map +1 -1
  104. package/dist/cards-game/cards-deck/cards-deck-type.enum.d.ts +8 -0
  105. package/dist/cards-game/cards-deck/cards-deck-type.enum.d.ts.map +1 -0
  106. package/dist/cards-game/cards-deck/cards-deck-type.enum.js +12 -0
  107. package/dist/cards-game/cards-deck/cards-deck-type.enum.js.map +1 -0
  108. package/dist/cards-game/cards-deck/cards-deck.d.ts +23 -0
  109. package/dist/cards-game/cards-deck/cards-deck.d.ts.map +1 -0
  110. package/dist/cards-game/cards-deck/cards-deck.js +84 -0
  111. package/dist/cards-game/cards-deck/cards-deck.js.map +1 -0
  112. package/dist/cards-game/cards-deck/types/deck12.d.ts +2 -0
  113. package/dist/cards-game/cards-deck/types/deck12.d.ts.map +1 -0
  114. package/dist/cards-game/cards-deck/types/deck12.js +19 -0
  115. package/dist/cards-game/cards-deck/types/deck12.js.map +1 -0
  116. package/dist/cards-game/cards-deck/types/deck24.d.ts +2 -0
  117. package/dist/cards-game/cards-deck/types/deck24.d.ts.map +1 -0
  118. package/dist/cards-game/cards-deck/types/deck24.js +31 -0
  119. package/dist/cards-game/cards-deck/types/deck24.js.map +1 -0
  120. package/dist/cards-game/cards-deck/types/deck36.d.ts +2 -0
  121. package/dist/cards-game/cards-deck/types/deck36.d.ts.map +1 -0
  122. package/dist/cards-game/{cards → cards-deck/types}/deck36.js +1 -1
  123. package/dist/cards-game/cards-deck/types/deck36.js.map +1 -0
  124. package/dist/cards-game/cards-deck/types/deck52.d.ts +2 -0
  125. package/dist/cards-game/cards-deck/types/deck52.d.ts.map +1 -0
  126. package/dist/cards-game/{cards → cards-deck/types}/deck52.js +1 -1
  127. package/dist/cards-game/cards-deck/types/deck52.js.map +1 -0
  128. package/dist/cards-game/cards-game-master.d.ts +16 -5
  129. package/dist/cards-game/cards-game-master.d.ts.map +1 -1
  130. package/dist/cards-game/cards-game-master.js +49 -20
  131. package/dist/cards-game/cards-game-master.js.map +1 -1
  132. package/dist/cards-game/cards-pairs/card-pair-slot.d.ts +24 -0
  133. package/dist/cards-game/cards-pairs/card-pair-slot.d.ts.map +1 -0
  134. package/dist/cards-game/cards-pairs/card-pair-slot.js +56 -0
  135. package/dist/cards-game/cards-pairs/card-pair-slot.js.map +1 -0
  136. package/dist/cards-game/cards-pairs/card-pair-slots.d.ts +25 -0
  137. package/dist/cards-game/cards-pairs/card-pair-slots.d.ts.map +1 -0
  138. package/dist/cards-game/cards-pairs/card-pair-slots.js +84 -0
  139. package/dist/cards-game/cards-pairs/card-pair-slots.js.map +1 -0
  140. package/dist/cards-game/cards-player.d.ts +17 -5
  141. package/dist/cards-game/cards-player.d.ts.map +1 -1
  142. package/dist/cards-game/cards-player.js +51 -11
  143. package/dist/cards-game/cards-player.js.map +1 -1
  144. package/dist/cards-game/index.d.ts +6 -3
  145. package/dist/cards-game/index.d.ts.map +1 -1
  146. package/dist/cards-game/index.js +9 -3
  147. package/dist/cards-game/index.js.map +1 -1
  148. package/dist/events/base/base-game.event.d.ts +3 -0
  149. package/dist/events/base/base-game.event.d.ts.map +1 -0
  150. package/dist/events/base/base-game.event.js +7 -0
  151. package/dist/events/base/base-game.event.js.map +1 -0
  152. package/dist/events/base/game-player.event.d.ts +11 -0
  153. package/dist/events/base/game-player.event.d.ts.map +1 -0
  154. package/dist/events/base/game-player.event.js +23 -0
  155. package/dist/events/base/game-player.event.js.map +1 -0
  156. package/dist/events/base/game-room.event.d.ts +8 -0
  157. package/dist/events/base/game-room.event.d.ts.map +1 -0
  158. package/dist/events/base/game-room.event.js +15 -0
  159. package/dist/events/base/game-room.event.js.map +1 -0
  160. package/dist/events/base/game-table.event.d.ts +8 -0
  161. package/dist/events/base/game-table.event.d.ts.map +1 -0
  162. package/dist/events/base/game-table.event.js +15 -0
  163. package/dist/events/base/game-table.event.js.map +1 -0
  164. package/dist/events/game/game-player-activate.event.d.ts +4 -0
  165. package/dist/events/game/game-player-activate.event.d.ts.map +1 -0
  166. package/dist/events/game/game-player-activate.event.js +8 -0
  167. package/dist/events/game/game-player-activate.event.js.map +1 -0
  168. package/dist/events/game/game-player-activated.event.d.ts +4 -0
  169. package/dist/events/game/game-player-activated.event.d.ts.map +1 -0
  170. package/dist/events/game/game-player-activated.event.js +8 -0
  171. package/dist/events/game/game-player-activated.event.js.map +1 -0
  172. package/dist/events/game/game-player-deactivate.event.d.ts +4 -0
  173. package/dist/events/game/game-player-deactivate.event.d.ts.map +1 -0
  174. package/dist/events/game/game-player-deactivate.event.js +8 -0
  175. package/dist/events/game/game-player-deactivate.event.js.map +1 -0
  176. package/dist/events/game/game-player-deactivated.event.d.ts +4 -0
  177. package/dist/events/game/game-player-deactivated.event.d.ts.map +1 -0
  178. package/dist/events/game/game-player-deactivated.event.js +8 -0
  179. package/dist/events/game/game-player-deactivated.event.js.map +1 -0
  180. package/dist/events/game/game-player-enter-the-table.event.d.ts +4 -0
  181. package/dist/events/game/game-player-enter-the-table.event.d.ts.map +1 -0
  182. package/dist/events/game/game-player-enter-the-table.event.js +8 -0
  183. package/dist/events/game/game-player-enter-the-table.event.js.map +1 -0
  184. package/dist/events/game/game-player-entered-the-table.event.d.ts +4 -0
  185. package/dist/events/game/game-player-entered-the-table.event.d.ts.map +1 -0
  186. package/dist/events/game/game-player-entered-the-table.event.js +8 -0
  187. package/dist/events/game/game-player-entered-the-table.event.js.map +1 -0
  188. package/dist/events/game/game-player-exit-the-table.event.d.ts +4 -0
  189. package/dist/events/game/game-player-exit-the-table.event.d.ts.map +1 -0
  190. package/dist/events/game/game-player-exit-the-table.event.js +8 -0
  191. package/dist/events/game/game-player-exit-the-table.event.js.map +1 -0
  192. package/dist/events/game/game-player-exited-the-table.event.d.ts +4 -0
  193. package/dist/events/game/game-player-exited-the-table.event.d.ts.map +1 -0
  194. package/dist/events/game/game-player-exited-the-table.event.js +8 -0
  195. package/dist/events/game/game-player-exited-the-table.event.js.map +1 -0
  196. package/dist/events/game/game-player-kick-out-the-table.event.d.ts +4 -0
  197. package/dist/events/game/game-player-kick-out-the-table.event.d.ts.map +1 -0
  198. package/dist/events/game/game-player-kick-out-the-table.event.js +8 -0
  199. package/dist/events/game/game-player-kick-out-the-table.event.js.map +1 -0
  200. package/dist/events/game/game-player-kicked-out-the-table.event.d.ts +4 -0
  201. package/dist/events/game/game-player-kicked-out-the-table.event.d.ts.map +1 -0
  202. package/dist/events/game/game-player-kicked-out-the-table.event.js +8 -0
  203. package/dist/events/game/game-player-kicked-out-the-table.event.js.map +1 -0
  204. package/dist/events/game/game-player-move-on-the-table.event.d.ts +4 -0
  205. package/dist/events/game/game-player-move-on-the-table.event.d.ts.map +1 -0
  206. package/dist/events/game/game-player-move-on-the-table.event.js +8 -0
  207. package/dist/events/game/game-player-move-on-the-table.event.js.map +1 -0
  208. package/dist/events/game/game-player-moved-on-the-table.event.d.ts +4 -0
  209. package/dist/events/game/game-player-moved-on-the-table.event.d.ts.map +1 -0
  210. package/dist/events/game/game-player-moved-on-the-table.event.js +8 -0
  211. package/dist/events/game/game-player-moved-on-the-table.event.js.map +1 -0
  212. package/dist/events/game/game-player-turn-timer-executed.event.d.ts +4 -0
  213. package/dist/events/game/game-player-turn-timer-executed.event.d.ts.map +1 -0
  214. package/dist/events/game/game-player-turn-timer-executed.event.js +8 -0
  215. package/dist/events/game/game-player-turn-timer-executed.event.js.map +1 -0
  216. package/dist/events/game/game-player-turn-timer-set-off.event.d.ts +4 -0
  217. package/dist/events/game/game-player-turn-timer-set-off.event.d.ts.map +1 -0
  218. package/dist/events/game/game-player-turn-timer-set-off.event.js +8 -0
  219. package/dist/events/game/game-player-turn-timer-set-off.event.js.map +1 -0
  220. package/dist/events/game/game-player-turn-timer-set-on.event.d.ts +4 -0
  221. package/dist/events/game/game-player-turn-timer-set-on.event.d.ts.map +1 -0
  222. package/dist/events/game/game-player-turn-timer-set-on.event.js +8 -0
  223. package/dist/events/game/game-player-turn-timer-set-on.event.js.map +1 -0
  224. package/dist/events/game/game-player-watch-the-table.event.d.ts +4 -0
  225. package/dist/events/game/game-player-watch-the-table.event.d.ts.map +1 -0
  226. package/dist/events/game/game-player-watch-the-table.event.js +8 -0
  227. package/dist/events/game/game-player-watch-the-table.event.js.map +1 -0
  228. package/dist/events/game/game-player-watched-the-table.event.d.ts +4 -0
  229. package/dist/events/game/game-player-watched-the-table.event.d.ts.map +1 -0
  230. package/dist/events/game/game-player-watched-the-table.event.js +8 -0
  231. package/dist/events/game/game-player-watched-the-table.event.js.map +1 -0
  232. package/dist/events/game/game-room-room-created.event.d.ts +4 -0
  233. package/dist/events/game/game-room-room-created.event.d.ts.map +1 -0
  234. package/dist/events/game/game-room-room-created.event.js +8 -0
  235. package/dist/events/game/game-room-room-created.event.js.map +1 -0
  236. package/dist/events/game/game-table-finish.event.d.ts +4 -0
  237. package/dist/events/game/game-table-finish.event.d.ts.map +1 -0
  238. package/dist/events/game/game-table-finish.event.js +8 -0
  239. package/dist/events/game/game-table-finish.event.js.map +1 -0
  240. package/dist/events/game/game-table-finished.event.d.ts +4 -0
  241. package/dist/events/game/game-table-finished.event.d.ts.map +1 -0
  242. package/dist/events/game/game-table-finished.event.js +8 -0
  243. package/dist/events/game/game-table-finished.event.js.map +1 -0
  244. package/dist/events/game/game-table-master-created.event.d.ts +4 -0
  245. package/dist/events/game/game-table-master-created.event.d.ts.map +1 -0
  246. package/dist/events/game/game-table-master-created.event.js +8 -0
  247. package/dist/events/game/game-table-master-created.event.js.map +1 -0
  248. package/dist/events/game/game-table-restart-timer-executed.event.d.ts +4 -0
  249. package/dist/events/game/game-table-restart-timer-executed.event.d.ts.map +1 -0
  250. package/dist/events/game/game-table-restart-timer-executed.event.js +8 -0
  251. package/dist/events/game/game-table-restart-timer-executed.event.js.map +1 -0
  252. package/dist/events/game/game-table-restart-timer-set-on.event.d.ts +4 -0
  253. package/dist/events/game/game-table-restart-timer-set-on.event.d.ts.map +1 -0
  254. package/dist/events/game/game-table-restart-timer-set-on.event.js +8 -0
  255. package/dist/events/game/game-table-restart-timer-set-on.event.js.map +1 -0
  256. package/dist/events/game/game-table-restart.event.d.ts +4 -0
  257. package/dist/events/game/game-table-restart.event.d.ts.map +1 -0
  258. package/dist/events/game/game-table-restart.event.js +8 -0
  259. package/dist/events/game/game-table-restart.event.js.map +1 -0
  260. package/dist/events/game/game-table-restarted.event.d.ts +4 -0
  261. package/dist/events/game/game-table-restarted.event.d.ts.map +1 -0
  262. package/dist/events/game/game-table-restarted.event.js +8 -0
  263. package/dist/events/game/game-table-restarted.event.js.map +1 -0
  264. package/dist/events/game/game-table-start.event.d.ts +4 -0
  265. package/dist/events/game/game-table-start.event.d.ts.map +1 -0
  266. package/dist/events/game/game-table-start.event.js +8 -0
  267. package/dist/events/game/game-table-start.event.js.map +1 -0
  268. package/dist/events/game/game-table-started.event.d.ts +4 -0
  269. package/dist/events/game/game-table-started.event.d.ts.map +1 -0
  270. package/dist/events/game/game-table-started.event.js +8 -0
  271. package/dist/events/game/game-table-started.event.js.map +1 -0
  272. package/dist/events/game/game-table-turn-finish.event.d.ts +4 -0
  273. package/dist/events/game/game-table-turn-finish.event.d.ts.map +1 -0
  274. package/dist/events/game/game-table-turn-finish.event.js +8 -0
  275. package/dist/events/game/game-table-turn-finish.event.js.map +1 -0
  276. package/dist/events/game/game-table-turn-finished.event.d.ts +4 -0
  277. package/dist/events/game/game-table-turn-finished.event.d.ts.map +1 -0
  278. package/dist/events/game/game-table-turn-finished.event.js +8 -0
  279. package/dist/events/game/game-table-turn-finished.event.js.map +1 -0
  280. package/dist/events/game/game-table-turn-start.event.d.ts +4 -0
  281. package/dist/events/game/game-table-turn-start.event.d.ts.map +1 -0
  282. package/dist/events/game/game-table-turn-start.event.js +8 -0
  283. package/dist/events/game/game-table-turn-start.event.js.map +1 -0
  284. package/dist/events/game/game-table-turn-started.event.d.ts +4 -0
  285. package/dist/events/game/game-table-turn-started.event.d.ts.map +1 -0
  286. package/dist/events/game/game-table-turn-started.event.js +8 -0
  287. package/dist/events/game/game-table-turn-started.event.js.map +1 -0
  288. package/dist/events/game/game-table-wait.event.d.ts +4 -0
  289. package/dist/events/game/game-table-wait.event.d.ts.map +1 -0
  290. package/dist/events/game/game-table-wait.event.js +8 -0
  291. package/dist/events/game/game-table-wait.event.js.map +1 -0
  292. package/dist/events/game/game-table-waited.event.d.ts +4 -0
  293. package/dist/events/game/game-table-waited.event.d.ts.map +1 -0
  294. package/dist/events/game/game-table-waited.event.js +8 -0
  295. package/dist/events/game/game-table-waited.event.js.map +1 -0
  296. package/dist/events/index.d.ts +40 -0
  297. package/dist/events/index.d.ts.map +1 -0
  298. package/dist/events/index.js +82 -0
  299. package/dist/events/index.js.map +1 -0
  300. package/dist/events/ws/base-ws-event.d.ts +3 -0
  301. package/dist/events/ws/base-ws-event.d.ts.map +1 -0
  302. package/dist/events/ws/base-ws-event.js +7 -0
  303. package/dist/events/ws/base-ws-event.js.map +1 -0
  304. package/dist/events/ws/ws-event.d.ts +8 -0
  305. package/dist/events/ws/ws-event.d.ts.map +1 -0
  306. package/dist/events/ws/ws-event.enum.d.ts +6 -0
  307. package/dist/events/ws/ws-event.enum.d.ts.map +1 -0
  308. package/dist/events/ws/ws-event.enum.js +10 -0
  309. package/dist/events/ws/ws-event.enum.js.map +1 -0
  310. package/dist/events/ws/ws-event.js +14 -0
  311. package/dist/events/ws/ws-event.js.map +1 -0
  312. package/dist/exceptions/index.d.ts +4 -0
  313. package/dist/exceptions/index.d.ts.map +1 -0
  314. package/dist/exceptions/index.js +10 -0
  315. package/dist/exceptions/index.js.map +1 -0
  316. package/dist/exceptions/not-active-player-move.exception.d.ts +5 -0
  317. package/dist/exceptions/not-active-player-move.exception.d.ts.map +1 -0
  318. package/dist/exceptions/not-active-player-move.exception.js +13 -0
  319. package/dist/exceptions/not-active-player-move.exception.js.map +1 -0
  320. package/dist/exceptions/not-implemented.exception.d.ts +5 -0
  321. package/dist/exceptions/not-implemented.exception.d.ts.map +1 -0
  322. package/dist/exceptions/not-implemented.exception.js +13 -0
  323. package/dist/exceptions/not-implemented.exception.js.map +1 -0
  324. package/dist/exceptions/not-valid-player-move.exception.d.ts +5 -0
  325. package/dist/exceptions/not-valid-player-move.exception.d.ts.map +1 -0
  326. package/dist/exceptions/not-valid-player-move.exception.js +13 -0
  327. package/dist/exceptions/not-valid-player-move.exception.js.map +1 -0
  328. package/dist/exceptions/player-has-no-possible-move.exception.d.ts +5 -0
  329. package/dist/exceptions/player-has-no-possible-move.exception.d.ts.map +1 -0
  330. package/dist/exceptions/player-has-no-possible-move.exception.js +13 -0
  331. package/dist/exceptions/player-has-no-possible-move.exception.js.map +1 -0
  332. package/dist/index.d.ts +3 -0
  333. package/dist/index.d.ts.map +1 -1
  334. package/dist/index.js +3 -1
  335. package/dist/index.js.map +1 -1
  336. package/dist/level-helper/base-game-level-helper.d.ts +16 -0
  337. package/dist/level-helper/base-game-level-helper.d.ts.map +1 -0
  338. package/dist/level-helper/base-game-level-helper.js +60 -0
  339. package/dist/level-helper/base-game-level-helper.js.map +1 -0
  340. package/dist/level-helper/experiences-amount.enum.d.ts +6 -0
  341. package/dist/level-helper/experiences-amount.enum.d.ts.map +1 -0
  342. package/dist/level-helper/experiences-amount.enum.js +10 -0
  343. package/dist/level-helper/experiences-amount.enum.js.map +1 -0
  344. package/dist/level-helper/experiences-level-edge.enum.d.ts +5 -0
  345. package/dist/level-helper/experiences-level-edge.enum.d.ts.map +1 -0
  346. package/dist/level-helper/experiences-level-edge.enum.js +9 -0
  347. package/dist/level-helper/experiences-level-edge.enum.js.map +1 -0
  348. package/dist/level-helper/experiences-level-rank.enum.d.ts +6 -0
  349. package/dist/level-helper/experiences-level-rank.enum.d.ts.map +1 -0
  350. package/dist/level-helper/experiences-level-rank.enum.js +10 -0
  351. package/dist/level-helper/experiences-level-rank.enum.js.map +1 -0
  352. package/dist/level-helper/index.d.ts +4 -0
  353. package/dist/level-helper/index.d.ts.map +1 -0
  354. package/dist/level-helper/index.js +10 -0
  355. package/dist/level-helper/index.js.map +1 -0
  356. package/dist/strategies/index.d.ts +4 -0
  357. package/dist/strategies/index.d.ts.map +1 -0
  358. package/dist/strategies/index.js +8 -0
  359. package/dist/strategies/index.js.map +1 -0
  360. package/dist/strategies/max-players-strategy.d.ts +6 -0
  361. package/dist/strategies/max-players-strategy.d.ts.map +1 -0
  362. package/dist/strategies/max-players-strategy.js +10 -0
  363. package/dist/strategies/max-players-strategy.js.map +1 -0
  364. package/dist/strategies/min-players-strategy.d.ts +6 -0
  365. package/dist/strategies/min-players-strategy.d.ts.map +1 -0
  366. package/dist/strategies/min-players-strategy.js +10 -0
  367. package/dist/strategies/min-players-strategy.js.map +1 -0
  368. package/dist/strategies/start-strategy-interface.d.ts +5 -0
  369. package/dist/strategies/start-strategy-interface.d.ts.map +1 -0
  370. package/dist/{base/base-move-data.type.js → strategies/start-strategy-interface.js} +1 -1
  371. package/dist/strategies/start-strategy-interface.js.map +1 -0
  372. package/dist/tests/just-black-jack/domain/black-jack-dealer.d.ts +1 -1
  373. package/dist/tests/just-black-jack/domain/black-jack-dealer.d.ts.map +1 -1
  374. package/dist/tests/just-black-jack/domain/black-jack-dealer.js +10 -2
  375. package/dist/tests/just-black-jack/domain/black-jack-dealer.js.map +1 -1
  376. package/dist/tests/just-black-jack/domain/black-jack-game-master.d.ts +14 -25
  377. package/dist/tests/just-black-jack/domain/black-jack-game-master.d.ts.map +1 -1
  378. package/dist/tests/just-black-jack/domain/black-jack-game-master.js +46 -61
  379. package/dist/tests/just-black-jack/domain/black-jack-game-master.js.map +1 -1
  380. package/dist/tests/just-black-jack/domain/black-jack-game-result-helper.d.ts +8 -0
  381. package/dist/tests/just-black-jack/domain/black-jack-game-result-helper.d.ts.map +1 -0
  382. package/dist/tests/just-black-jack/domain/black-jack-game-result-helper.js +16 -0
  383. package/dist/tests/just-black-jack/domain/black-jack-game-result-helper.js.map +1 -0
  384. package/dist/tests/just-black-jack/domain/black-jack-move-data.d.ts +7 -0
  385. package/dist/tests/just-black-jack/domain/black-jack-move-data.d.ts.map +1 -0
  386. package/dist/tests/just-black-jack/domain/black-jack-move-data.js +15 -0
  387. package/dist/tests/just-black-jack/domain/black-jack-move-data.js.map +1 -0
  388. package/dist/tests/just-black-jack/domain/black-jack-player-actions.enum.d.ts +5 -0
  389. package/dist/tests/just-black-jack/domain/black-jack-player-actions.enum.d.ts.map +1 -0
  390. package/dist/tests/just-black-jack/domain/black-jack-player-actions.enum.js +9 -0
  391. package/dist/tests/just-black-jack/domain/black-jack-player-actions.enum.js.map +1 -0
  392. package/dist/tests/just-black-jack/domain/black-jack-player.d.ts +6 -4
  393. package/dist/tests/just-black-jack/domain/black-jack-player.d.ts.map +1 -1
  394. package/dist/tests/just-black-jack/domain/black-jack-player.js +10 -7
  395. package/dist/tests/just-black-jack/domain/black-jack-player.js.map +1 -1
  396. package/dist/tests/just-black-jack/domain/moves/black-jack-move-factory.d.ts +7 -0
  397. package/dist/tests/just-black-jack/domain/moves/black-jack-move-factory.d.ts.map +1 -0
  398. package/dist/tests/just-black-jack/domain/moves/black-jack-move-factory.js +25 -0
  399. package/dist/tests/just-black-jack/domain/moves/black-jack-move-factory.js.map +1 -0
  400. package/dist/tests/just-black-jack/domain/moves/list/black-jack-player-move-finish-move.d.ts +6 -0
  401. package/dist/tests/just-black-jack/domain/moves/list/black-jack-player-move-finish-move.d.ts.map +1 -0
  402. package/dist/tests/just-black-jack/domain/moves/list/black-jack-player-move-finish-move.js +14 -0
  403. package/dist/tests/just-black-jack/domain/moves/list/black-jack-player-move-finish-move.js.map +1 -0
  404. package/dist/tests/just-black-jack/domain/moves/list/black-jack-player-move-get-card.d.ts +6 -0
  405. package/dist/tests/just-black-jack/domain/moves/list/black-jack-player-move-get-card.d.ts.map +1 -0
  406. package/dist/tests/just-black-jack/domain/moves/list/black-jack-player-move-get-card.js +14 -0
  407. package/dist/tests/just-black-jack/domain/moves/list/black-jack-player-move-get-card.js.map +1 -0
  408. package/dist/tests/just-black-jack/rooms/black-jack-simple-room.d.ts.map +1 -1
  409. package/dist/tests/just-black-jack/rooms/black-jack-simple-room.js +1 -2
  410. package/dist/tests/just-black-jack/rooms/black-jack-simple-room.js.map +1 -1
  411. package/dist/tests/just-black-jack/tests/black-jack-simple-room.test.js +240 -20
  412. package/dist/tests/just-black-jack/tests/black-jack-simple-room.test.js.map +1 -1
  413. package/dist/tests/just-black-jack/tests/common.d.ts +0 -6
  414. package/dist/tests/just-black-jack/tests/common.d.ts.map +1 -1
  415. package/dist/tests/just-black-jack/tests/common.js +19 -9
  416. package/dist/tests/just-black-jack/tests/common.js.map +1 -1
  417. package/dist/utils/circle-list.d.ts +9 -13
  418. package/dist/utils/circle-list.d.ts.map +1 -1
  419. package/dist/utils/circle-list.js +11 -20
  420. package/dist/utils/circle-list.js.map +1 -1
  421. package/dist/utils/tests/circle-list.test.d.ts +5 -1
  422. package/dist/utils/tests/circle-list.test.d.ts.map +1 -1
  423. package/dist/utils/tests/circle-list.test.js +21 -13
  424. package/dist/utils/tests/circle-list.test.js.map +1 -1
  425. package/dist/utils/timer.d.ts +2 -0
  426. package/dist/utils/timer.d.ts.map +1 -0
  427. package/dist/utils/timer.js +16 -0
  428. package/dist/utils/timer.js.map +1 -0
  429. package/package.json +3 -1
  430. package/src/base/base-figure-type.enum.ts +3 -0
  431. package/src/base/base-figure.ts +23 -0
  432. package/src/base/base-move-data.ts +13 -0
  433. package/src/base/base-player-move-factory.ts +18 -0
  434. package/src/base/base-player-move.ts +37 -0
  435. package/src/base/game-control-player-turn.ts +7 -1
  436. package/src/base/game-control-restart.ts +7 -1
  437. package/src/base/game-master.ts +525 -107
  438. package/src/base/game-player-connections-helper.ts +12 -20
  439. package/src/base/game-player-exited.ts +37 -0
  440. package/src/base/game-player.ts +230 -122
  441. package/src/base/game-result-equal-helper.ts +17 -0
  442. package/src/base/game-result-helper.ts +36 -0
  443. package/src/base/game-result-rating-helper.ts +44 -0
  444. package/src/base/game-room.ts +105 -18
  445. package/src/base/game-round-history-item.enum.ts +6 -0
  446. package/src/base/game-round-history-item.ts +110 -0
  447. package/src/base/game-round.ts +56 -10
  448. package/src/base/game-state-machine.ts +10 -0
  449. package/src/base/game-table-seat.ts +57 -6
  450. package/src/base/game-table-seats.ts +14 -29
  451. package/src/base/game-table.ts +92 -59
  452. package/src/base/index.ts +18 -7
  453. package/src/base-rooms/simple-room.ts +14 -12
  454. package/src/base-rooms/tournament-state.ts +1 -1
  455. package/src/cards-game/cards/card.ts +50 -28
  456. package/src/cards-game/cards-deck/cards-deck-type.enum.ts +8 -0
  457. package/src/cards-game/cards-deck/cards-deck.ts +105 -0
  458. package/src/cards-game/cards-deck/types/deck12.ts +32 -0
  459. package/src/cards-game/cards-deck/types/deck24.ts +56 -0
  460. package/src/cards-game/{cards → cards-deck/types}/deck36.ts +1 -1
  461. package/src/cards-game/{cards → cards-deck/types}/deck52.ts +1 -1
  462. package/src/cards-game/cards-game-master.ts +64 -27
  463. package/src/cards-game/cards-pairs/card-pair-slot.ts +73 -0
  464. package/src/cards-game/cards-pairs/card-pair-slots.ts +104 -0
  465. package/src/cards-game/cards-player.ts +68 -20
  466. package/src/cards-game/index.ts +8 -2
  467. package/src/events/base/base-game.event.ts +1 -0
  468. package/src/events/base/game-player.event.ts +26 -0
  469. package/src/events/base/game-room.event.ts +16 -0
  470. package/src/events/base/game-table.event.ts +16 -0
  471. package/src/events/game/game-player-activate.event.ts +3 -0
  472. package/src/events/game/game-player-activated.event.ts +3 -0
  473. package/src/events/game/game-player-deactivate.event.ts +3 -0
  474. package/src/events/game/game-player-deactivated.event.ts +3 -0
  475. package/src/events/game/game-player-enter-the-table.event.ts +3 -0
  476. package/src/events/game/game-player-entered-the-table.event.ts +3 -0
  477. package/src/events/game/game-player-exit-the-table.event.ts +3 -0
  478. package/src/events/game/game-player-exited-the-table.event.ts +3 -0
  479. package/src/events/game/game-player-kick-out-the-table.event.ts +3 -0
  480. package/src/events/game/game-player-kicked-out-the-table.event.ts +3 -0
  481. package/src/events/game/game-player-move-on-the-table.event.ts +3 -0
  482. package/src/events/game/game-player-moved-on-the-table.event.ts +3 -0
  483. package/src/events/game/game-player-turn-timer-executed.event.ts +3 -0
  484. package/src/events/game/game-player-turn-timer-set-off.event.ts +3 -0
  485. package/src/events/game/game-player-turn-timer-set-on.event.ts +3 -0
  486. package/src/events/game/game-player-watch-the-table.event.ts +3 -0
  487. package/src/events/game/game-player-watched-the-table.event.ts +3 -0
  488. package/src/events/game/game-room-room-created.event.ts +3 -0
  489. package/src/events/game/game-table-finish.event.ts +3 -0
  490. package/src/events/game/game-table-finished.event.ts +3 -0
  491. package/src/events/game/game-table-master-created.event.ts +3 -0
  492. package/src/events/game/game-table-restart-timer-executed.event.ts +3 -0
  493. package/src/events/game/game-table-restart-timer-set-on.event.ts +3 -0
  494. package/src/events/game/game-table-restart.event.ts +3 -0
  495. package/src/events/game/game-table-restarted.event.ts +3 -0
  496. package/src/events/game/game-table-start.event.ts +3 -0
  497. package/src/events/game/game-table-started.event.ts +3 -0
  498. package/src/events/game/game-table-turn-finish.event.ts +3 -0
  499. package/src/events/game/game-table-turn-finished.event.ts +3 -0
  500. package/src/events/game/game-table-turn-start.event.ts +3 -0
  501. package/src/events/game/game-table-turn-started.event.ts +3 -0
  502. package/src/events/game/game-table-wait.event.ts +3 -0
  503. package/src/events/game/game-table-waited.event.ts +3 -0
  504. package/src/events/index.ts +40 -0
  505. package/src/events/ws/base-ws-event.ts +1 -0
  506. package/src/events/ws/ws-event.enum.ts +5 -0
  507. package/src/events/ws/ws-event.ts +14 -0
  508. package/src/exceptions/index.ts +3 -0
  509. package/src/exceptions/not-active-player-move.exception.ts +10 -0
  510. package/src/exceptions/not-implemented.exception.ts +10 -0
  511. package/src/exceptions/not-valid-player-move.exception.ts +10 -0
  512. package/src/exceptions/player-has-no-possible-move.exception.ts +10 -0
  513. package/src/index.ts +3 -1
  514. package/src/level-helper/base-game-level-helper.ts +74 -0
  515. package/src/level-helper/experiences-amount.enum.ts +5 -0
  516. package/src/level-helper/experiences-level-edge.enum.ts +4 -0
  517. package/src/level-helper/experiences-level-rank.enum.ts +5 -0
  518. package/src/level-helper/index.ts +3 -0
  519. package/src/strategies/index.ts +3 -0
  520. package/src/strategies/max-players-strategy.ts +8 -0
  521. package/src/strategies/min-players-strategy.ts +8 -0
  522. package/src/strategies/start-strategy-interface.ts +5 -0
  523. package/src/tests/just-black-jack/domain/black-jack-dealer.ts +15 -10
  524. package/src/tests/just-black-jack/domain/black-jack-game-master.ts +53 -76
  525. package/src/tests/just-black-jack/domain/black-jack-game-result-helper.ts +15 -0
  526. package/src/tests/just-black-jack/domain/black-jack-move-data.ts +14 -0
  527. package/src/tests/just-black-jack/domain/black-jack-player-actions.enum.ts +4 -0
  528. package/src/tests/just-black-jack/domain/black-jack-player.ts +19 -19
  529. package/src/tests/just-black-jack/domain/moves/black-jack-move-factory.ts +24 -0
  530. package/src/tests/just-black-jack/domain/moves/list/black-jack-player-move-finish-move.ts +12 -0
  531. package/src/tests/just-black-jack/domain/moves/list/black-jack-player-move-get-card.ts +13 -0
  532. package/src/tests/just-black-jack/rooms/black-jack-simple-room.ts +3 -4
  533. package/src/tests/just-black-jack/tests/black-jack-simple-room.test.ts +392 -75
  534. package/src/tests/just-black-jack/tests/common.ts +20 -56
  535. package/src/utils/circle-list.ts +27 -39
  536. package/src/utils/tests/circle-list.test.ts +14 -9
  537. package/src/utils/timer.ts +14 -0
  538. package/dist/base/base-game-state.type.d.ts +0 -8
  539. package/dist/base/base-game-state.type.d.ts.map +0 -1
  540. package/dist/base/base-game-state.type.js +0 -3
  541. package/dist/base/base-game-state.type.js.map +0 -1
  542. package/dist/base/base-move-data.type.d.ts +0 -4
  543. package/dist/base/base-move-data.type.d.ts.map +0 -1
  544. package/dist/base/base-move-data.type.js.map +0 -1
  545. package/dist/base/game-player-move.d.ts +0 -13
  546. package/dist/base/game-player-move.d.ts.map +0 -1
  547. package/dist/base/game-player-move.js +0 -28
  548. package/dist/base/game-player-move.js.map +0 -1
  549. package/dist/base/game-summary-result.d.ts +0 -3
  550. package/dist/base/game-summary-result.d.ts.map +0 -1
  551. package/dist/base/game-summary-result.js +0 -7
  552. package/dist/base/game-summary-result.js.map +0 -1
  553. package/dist/cards-game/cards/deck36.d.ts +0 -2
  554. package/dist/cards-game/cards/deck36.d.ts.map +0 -1
  555. package/dist/cards-game/cards/deck36.js.map +0 -1
  556. package/dist/cards-game/cards/deck52.d.ts +0 -2
  557. package/dist/cards-game/cards/deck52.d.ts.map +0 -1
  558. package/dist/cards-game/cards/deck52.js.map +0 -1
  559. package/src/base/base-game-state.type.ts +0 -7
  560. package/src/base/base-move-data.type.ts +0 -3
  561. package/src/base/game-player-move.ts +0 -33
  562. package/src/base/game-summary-result.ts +0 -3
@@ -0,0 +1,3 @@
1
+ import { GameTableEvent } from '../base/game-table.event';
2
+
3
+ export class GameTableTurnStartedEvent extends GameTableEvent {}
@@ -0,0 +1,3 @@
1
+ import { GameTableEvent } from '../base/game-table.event';
2
+
3
+ export class GameTableWaitEvent extends GameTableEvent {}
@@ -0,0 +1,3 @@
1
+ import { GameTableEvent } from '../base/game-table.event';
2
+
3
+ export class GameTableWaitedEvent extends GameTableEvent {}
@@ -0,0 +1,40 @@
1
+ export { GameTableTurnStartEvent } from './game/game-table-turn-start.event';
2
+ export { GameTableTurnStartedEvent } from './game/game-table-turn-started.event';
3
+ export { GameTableTurnFinishEvent } from './game/game-table-turn-finish.event';
4
+ export { GameTableTurnFinishedEvent } from './game/game-table-turn-finished.event';
5
+ export { GameTableWaitEvent } from './game/game-table-wait.event';
6
+ export { GameTableWaitedEvent } from './game/game-table-waited.event';
7
+ export { GameTableStartEvent } from './game/game-table-start.event';
8
+ export { GameTableStartedEvent } from './game/game-table-started.event';
9
+ export { GameTableFinishEvent } from './game/game-table-finish.event';
10
+ export { GameTableFinishedEvent } from './game/game-table-finished.event';
11
+ export { GameTableRestartEvent } from './game/game-table-restart.event';
12
+ export { GameTableRestartedEvent } from './game/game-table-restarted.event';
13
+ export { GamePlayerActivateEvent } from './game/game-player-activate.event';
14
+ export { GamePlayerActivatedEvent } from './game/game-player-activated.event';
15
+ export { GamePlayerDeactivateEvent } from './game/game-player-deactivate.event';
16
+ export { GamePlayerDeactivatedEvent } from './game/game-player-deactivated.event';
17
+ export { GamePlayerTurnTimerSetOnEvent } from './game/game-player-turn-timer-set-on.event';
18
+ export { GamePlayerTurnTimerSetOffEvent } from './game/game-player-turn-timer-set-off.event';
19
+ export { GamePlayerTurnTimerExecutedEvent } from './game/game-player-turn-timer-executed.event';
20
+ export { GameTableRestartTimerSetOnEvent } from './game/game-table-restart-timer-set-on.event';
21
+ export { GameTableRestartTimerExecutedEvent } from './game/game-table-restart-timer-executed.event';
22
+ export { GamePlayerMoveOnTheTableEvent } from './game/game-player-move-on-the-table.event';
23
+ export { GamePlayerMovedOnTheTableEvent } from './game/game-player-moved-on-the-table.event';
24
+ export { GamePlayerWatchTheTableEvent } from './game/game-player-watch-the-table.event';
25
+ export { GamePlayerWatchedTheTableEvent } from './game/game-player-watched-the-table.event';
26
+ export { GamePlayerEnterTheTableEvent } from './game/game-player-enter-the-table.event';
27
+ export { GamePlayerEnteredTheTableEvent } from './game/game-player-entered-the-table.event';
28
+ export { GamePlayerExitTheTableEvent } from './game/game-player-exit-the-table.event';
29
+ export { GamePlayerExitedTheTableEvent } from './game/game-player-exited-the-table.event';
30
+ export { GamePlayerKickOutTheTableEvent } from './game/game-player-kick-out-the-table.event';
31
+ export { GamePlayerKickedOutTheTableEvent } from './game/game-player-kicked-out-the-table.event';
32
+ export { GameTableMasterCreatedEvent } from './game/game-table-master-created.event';
33
+ export { GameRoomRoomCreatedEvent } from './game/game-room-room-created.event';
34
+ export { BaseGameEvent } from './base/base-game.event';
35
+ export { GameTableEvent } from './base/game-table.event';
36
+ export { GamePlayerEvent } from './base/game-player.event';
37
+ export { GameRoomEvent } from './base/game-room.event';
38
+ export { WsEvent } from './ws/ws-event';
39
+ export { WsEventEnum } from './ws/ws-event.enum';
40
+
@@ -0,0 +1 @@
1
+ export class BaseWsEvent {}
@@ -0,0 +1,5 @@
1
+ export enum WsEventEnum {
2
+ STATE_UPDATE = 'STATE_UPDATE',
3
+ PLAYER_KICKED_OUT = 'PLAYER_KICKED_OUT',
4
+ PLAYER_MOVED = 'PLAYER_MOVED',
5
+ }
@@ -0,0 +1,14 @@
1
+ import { BaseWsEvent } from './base-ws-event';
2
+
3
+ export class WsEvent extends BaseWsEvent {
4
+ type: string;
5
+ action?: string;
6
+ data: object;
7
+
8
+ constructor (type: string, data: object, action?: string) {
9
+ super();
10
+ this.type = type;
11
+ this.data = data;
12
+ this.action = action;
13
+ }
14
+ }
@@ -0,0 +1,3 @@
1
+ export { PlayerHasNoPossibleMoveException } from './player-has-no-possible-move.exception';
2
+ export { NotValidPlayerMoveException } from './not-valid-player-move.exception';
3
+ export { NotActivePlayerMoveException } from './not-active-player-move.exception';
@@ -0,0 +1,10 @@
1
+ export class NotActivePlayerMoveException extends Error {
2
+ private statusCode: number;
3
+
4
+ constructor (message = 'Not active player move', statusCode = 500) {
5
+ super(message);
6
+ this.name = this.constructor.name;
7
+ this.statusCode = statusCode;
8
+ Error.captureStackTrace(this, this.constructor);
9
+ }
10
+ }
@@ -0,0 +1,10 @@
1
+ export class NotImplementedException extends Error {
2
+ private statusCode: number;
3
+
4
+ constructor (message = 'Not implemented case', statusCode = 500) {
5
+ super(message);
6
+ this.name = this.constructor.name;
7
+ this.statusCode = statusCode;
8
+ Error.captureStackTrace(this, this.constructor);
9
+ }
10
+ }
@@ -0,0 +1,10 @@
1
+ export class NotValidPlayerMoveException extends Error {
2
+ private statusCode: number;
3
+
4
+ constructor (message = 'Not valid player move', statusCode = 500) {
5
+ super(message);
6
+ this.name = this.constructor.name;
7
+ this.statusCode = statusCode;
8
+ Error.captureStackTrace(this, this.constructor);
9
+ }
10
+ }
@@ -0,0 +1,10 @@
1
+ export class PlayerHasNoPossibleMoveException extends Error {
2
+ private statusCode: number;
3
+
4
+ constructor (message = 'Player has no possible move', statusCode = 500) {
5
+ super(message);
6
+ this.name = this.constructor.name;
7
+ this.statusCode = statusCode;
8
+ Error.captureStackTrace(this, this.constructor);
9
+ }
10
+ }
package/src/index.ts CHANGED
@@ -1,5 +1,7 @@
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';
5
+ export * from './strategies';
6
+ export * from './events';
7
+ export * from './level-helper';
@@ -0,0 +1,74 @@
1
+ import { GameMaster, GamePlayer } from '../base';
2
+
3
+ import { ExperiencesAmountEnum } from './experiences-amount.enum';
4
+ import { ExperiencesLevelRankEnum } from './experiences-level-rank.enum';
5
+ import { ExperiencesLevelEdgeEnum } from './experiences-level-edge.enum';
6
+
7
+ const LEVEL_SIZE = 10;
8
+
9
+ export class BaseGameLevelHelper {
10
+ private readonly _master: GameMaster;
11
+
12
+ static getLevelRank (level: number): number {
13
+ if (level < ExperiencesLevelEdgeEnum.PLAYER) {
14
+ return ExperiencesLevelRankEnum.NEW;
15
+ } else if (
16
+ level >= ExperiencesLevelEdgeEnum.PLAYER &&
17
+ level < ExperiencesLevelEdgeEnum.PROFI
18
+ ) {
19
+ return ExperiencesLevelRankEnum.PLAYER;
20
+ } else {
21
+ return ExperiencesLevelRankEnum.PROFI;
22
+ }
23
+ }
24
+
25
+ constructor (master: GameMaster) {
26
+ this._master = master;
27
+ }
28
+
29
+ getMaster<T> () {
30
+ return this._master as T;
31
+ }
32
+
33
+ getNewExperienceAmount (player: GamePlayer): number {
34
+ if (player.isWinner) {
35
+ return ExperiencesAmountEnum.NORMAL;
36
+ }
37
+
38
+ return ExperiencesAmountEnum.MIN;
39
+ }
40
+
41
+ getNewLevelAdding (level: number, experience: number) {
42
+ return this.needUpLevel(level, experience) ? 1 : 0;
43
+ }
44
+
45
+ needUpLevel (level: number, experience: number) {
46
+ return this._getExperienceOnCurrentLevel(level, experience) >= this.getNextLevelExperience(level);
47
+ }
48
+
49
+ getNextLevelExperience (level: number) {
50
+ return level * LEVEL_SIZE;
51
+ }
52
+
53
+ getExperienceToNextLevel (level: number, experience: number) {
54
+ return this.getNextLevelExperience(level) - this._getExperienceOnCurrentLevel(level, experience);
55
+ }
56
+
57
+ getLevelRank (level: number) {
58
+ return BaseGameLevelHelper.getLevelRank(level);
59
+ }
60
+
61
+ private _getExperienceOnCurrentLevel (level: number, experience: number) {
62
+ return experience - this._getPrevLevelExperience(level);
63
+ }
64
+
65
+ private _getPrevLevelExperience (level: number) {
66
+ let prevLevelExperience = 0;
67
+ for (let i = 0; i < level; i += 1) {
68
+ prevLevelExperience += i * LEVEL_SIZE;
69
+ }
70
+
71
+ return prevLevelExperience;
72
+ }
73
+ }
74
+
@@ -0,0 +1,5 @@
1
+ export enum ExperiencesAmountEnum {
2
+ MAX = 10,
3
+ NORMAL = 5,
4
+ MIN = 2,
5
+ }
@@ -0,0 +1,4 @@
1
+ export enum ExperiencesLevelEdgeEnum {
2
+ PLAYER = 50,
3
+ PROFI = 100,
4
+ }
@@ -0,0 +1,5 @@
1
+ export enum ExperiencesLevelRankEnum {
2
+ NEW = 1,
3
+ PLAYER,
4
+ PROFI,
5
+ }
@@ -0,0 +1,3 @@
1
+ export { ExperiencesAmountEnum } from './experiences-amount.enum';
2
+ export { ExperiencesLevelRankEnum } from './experiences-level-rank.enum';
3
+ export { BaseGameLevelHelper } from './base-game-level-helper';
@@ -0,0 +1,3 @@
1
+ export { MaxPlayersStrategy } from './max-players-strategy';
2
+ export { MinPlayersStartStrategy } from './min-players-strategy';
3
+ export { IStartStrategy } from './start-strategy-interface';
@@ -0,0 +1,8 @@
1
+ import { IStartStrategy } from './start-strategy-interface';
2
+ import { GameTable } from '../base';
3
+
4
+ export class MaxPlayersStrategy implements IStartStrategy {
5
+ shouldStart (table: GameTable): boolean {
6
+ return table.isFull();
7
+ }
8
+ }
@@ -0,0 +1,8 @@
1
+ import { IStartStrategy } from './start-strategy-interface';
2
+ import { GameTable } from '../base';
3
+
4
+ export class MinPlayersStartStrategy implements IStartStrategy {
5
+ shouldStart (table: GameTable): boolean {
6
+ return table.getPlayers().length > 1;
7
+ }
8
+ }
@@ -0,0 +1,5 @@
1
+ import { GameTable } from '../base';
2
+
3
+ export interface IStartStrategy {
4
+ shouldStart (table: GameTable): boolean;
5
+ }
@@ -1,15 +1,20 @@
1
1
  import { BlackJackPlayer } from './black-jack-player';
2
2
 
3
3
  export class BlackJackDealer extends BlackJackPlayer {
4
- constructor (tableId: string) {
5
- super(`${tableId}_dealer`,
6
- 'Dealer John',
7
- '',
8
- 1000000
9
- );
10
- }
4
+ constructor (tableId: string) {
5
+ super({
6
+ id: `${tableId}_dealer`,
7
+ fullName: 'Dealer John',
8
+ avatarUrl: '',
9
+ balance: 1000000,
10
+ level: 1,
11
+ experience: 0,
12
+ language: 'ru',
13
+ }
14
+ );
15
+ }
11
16
 
12
- override isDealer (): boolean {
13
- return true;
14
- }
17
+ get isDealer (): boolean {
18
+ return true;
19
+ }
15
20
  }
@@ -1,120 +1,97 @@
1
- import { BaseGameStateType, GameRound, StandardGameState } from '../../../base';
1
+ import { IBaseTableGameState } from 'jp.common.models';
2
+
3
+ import {
4
+ GameRoom,
5
+ GamePlayer,
6
+ BasePlayerMoveFactory,
7
+ GameResultHelper,
8
+ } from '../../../base';
2
9
  import { CardsGameMaster } from '../../../cards-game';
3
10
 
4
11
  import { BlackJackPlayer } from './black-jack-player';
5
12
  import { BlackJackDealer } from './black-jack-dealer';
6
- import { BaseMoveDataType } from '../../../base/base-move-data.type';
7
-
8
- export enum BlackJackMoveActionType {
9
- GET_CARD = 'GET_CARD',
10
- FINISH_MOVE = 'FINISH_MOVE',
11
- }
13
+ import { BlackJackMoveFactory } from './moves/black-jack-move-factory';
14
+ import { BlackJackPlayerActionsEnum } from './black-jack-player-actions.enum';
15
+ import { NotImplementedException } from '../../../exceptions/not-implemented.exception';
16
+ import { BlackJackGameResultHelper } from './black-jack-game-result-helper';
12
17
 
13
18
  export enum BlackJackSeatRole {
14
19
  DEALER = 'DEALER',
15
20
  }
16
21
 
17
- export interface BlackJackGameStateType extends BaseGameStateType {
18
- superbit: boolean;
19
- }
20
-
21
- export interface BlackJackMoveData extends BaseMoveDataType {
22
- extra: number;
23
- }
24
-
25
22
  export class BlackJackGameMaster extends CardsGameMaster {
26
- getGameRoundState (): StandardGameState {
27
- return (this.gameRound?.getState() as StandardGameState);
28
- }
23
+ constructor (room: GameRoom) {
24
+ super(room);
29
25
 
30
- getPlayers (): Array<BlackJackPlayer> {
31
- return (this.table.getPlayers() as Array<BlackJackPlayer>);
26
+ this.getTable().getSeats().getFirstSeat()?.setRole(BlackJackSeatRole.DEALER);
27
+ this.getTable().addPlayerToSeat(new BlackJackDealer(this.getId()));
32
28
  }
33
29
 
34
30
  startNewRound () {
35
31
  this.takeNewDeck();
36
- this.setGameRound(new GameRound(new StandardGameState()));
37
-
38
- this.getTable().getSeats()[0].setRole(BlackJackSeatRole.DEALER);
39
- this.getTable().addPlayerToSeat(new BlackJackDealer(this.getId()));
40
-
41
32
  this.give2CardsToAllPlayers();
42
- this.getGameRoundState().toStart();
43
-
44
- const firstPlayer = this.table.seats.getNextPlayer(this.getDealerSeat()?.getNumber() ?? 0);
45
- if (firstPlayer) {
46
- this.gameRound?.setActivePlayer(firstPlayer);
47
- }
48
- }
49
-
50
- changePlayer () {
51
- this.changePlayerClockwise();
33
+ this.setActivePlayer(this.getFirstPlayerAfterDealer());
52
34
  }
53
35
 
54
36
  finishRound () {
55
- this.getGameRoundState().toFinish();
56
- }
57
-
58
- getResults (): {} | null {
59
- return null;
60
37
  }
61
38
 
62
- kickPlayer (player: BlackJackPlayer) {
39
+ isGameOver () {
40
+ return this.table.getPlayers<BlackJackPlayer>().filter((item) =>
41
+ item.isFinishedMove).length === this.table.getPlayers().length;
63
42
  }
64
43
 
65
- onHandleMove<T>(player: BlackJackPlayer, moveData: BaseMoveDataType): T {
66
- const bjMoveData = moveData as BlackJackMoveData;
67
-
68
- switch (bjMoveData.action) {
69
- case BlackJackMoveActionType.GET_CARD: {
70
- this.getCard(player);
71
- break;
72
- }
73
- case BlackJackMoveActionType.FINISH_MOVE: {
74
- this.finishMove(player);
75
- break;
76
- }
44
+ getNextGamePlayer (): GamePlayer | null {
45
+ const currentPlayer = this.getActivePlayer<BlackJackPlayer>();
46
+ if (currentPlayer && !currentPlayer?.isFinishedMove) {
47
+ return currentPlayer;
48
+ } else {
49
+ return this.getNextPlayerClockwise();
77
50
  }
78
-
79
- return this.getGameState() as T;
80
51
  }
81
52
 
82
- override getGameState (): BlackJackGameStateType {
83
- return {
84
- ...super.getGameState(),
85
- superbit: true,
86
- };
53
+ getDealerSeat () {
54
+ return this.getTable().seats.getSeats().find((seat) => seat.getRole() === BlackJackSeatRole.DEALER);
87
55
  }
88
56
 
89
- onHandleRestartTimeout () {
57
+ getDealer (): BlackJackPlayer | undefined {
58
+ return this.getDealerSeat()?.getPlayer() as BlackJackPlayer | undefined;
90
59
  }
91
60
 
92
- onHandleTurnTimeout (player: BlackJackPlayer) {
61
+ getFirstPlayerAfterDealer (): BlackJackPlayer | null {
62
+ return this.getDealerSeat()?.getNextPlayer() ?? null;
93
63
  }
94
64
 
95
- getCard (player: BlackJackPlayer) {
96
- this.give1CardsToPlayer(player);
65
+ createGameStateDto (): IBaseTableGameState {
66
+ throw new NotImplementedException();
97
67
  }
98
68
 
99
- finishMove (player: BlackJackPlayer) {
100
- player.finishMove();
69
+ createMoveFactory (): BasePlayerMoveFactory {
70
+ return new BlackJackMoveFactory(this);
71
+ }
101
72
 
102
- if (this.isFinish()) {
103
- this.finishRound();
104
- } else {
105
- this.changePlayer();
73
+ getPossibleMoves (player: BlackJackPlayer): Array<string> {
74
+ if (this.isActivePlayer(player.id)) {
75
+ return [
76
+ BlackJackPlayerActionsEnum.FINISH_MOVE,
77
+ BlackJackPlayerActionsEnum.GET_CARD,
78
+ ];
106
79
  }
80
+
81
+ return [];
107
82
  }
108
83
 
109
- isFinish () {
110
- return this.getPlayers().filter((item) => item.isFinishedMove()).length === this.table.getPlayers().length;
84
+ getGameResultHelper (): GameResultHelper {
85
+ return new BlackJackGameResultHelper(this);
111
86
  }
112
87
 
113
- getDealerSeat () {
114
- return this.getTable().seats.getSeats().find((seat) => seat.getRole() === BlackJackSeatRole.DEALER);
88
+ isTurnOver (): boolean {
89
+ return false;
115
90
  }
116
91
 
117
- getDealer (): BlackJackPlayer | undefined {
118
- return this.getDealerSeat()?.getPlayer() as BlackJackPlayer | undefined;
92
+ startNewTurn () {
93
+ }
94
+
95
+ finishTurn () {
119
96
  }
120
97
  }
@@ -0,0 +1,15 @@
1
+ import { GameResultHelper } from '../../../base/game-result-helper';
2
+ import { GamePlayer } from '../../../base';
3
+
4
+ export class BlackJackGameResultHelper extends GameResultHelper {
5
+ getLosers (): Array<GamePlayer> {
6
+ return [];
7
+ }
8
+
9
+ getWinners (): Array<GamePlayer> {
10
+ return [];
11
+ }
12
+
13
+ calcResult (): void {
14
+ }
15
+ }
@@ -0,0 +1,14 @@
1
+ import { BaseMoveData } from '../../../base';
2
+
3
+ export class BlackJackMoveData extends BaseMoveData {
4
+ private readonly _extra: string;
5
+
6
+ constructor (action: string, extra: string) {
7
+ super(action);
8
+ this._extra = extra;
9
+ }
10
+
11
+ get extra () {
12
+ return this._extra;
13
+ }
14
+ }
@@ -0,0 +1,4 @@
1
+ export class BlackJackPlayerActionsEnum {
2
+ static GET_CARD = 'GET_CARD';
3
+ static FINISH_MOVE = 'FINISH_MOVE';
4
+ }
@@ -1,27 +1,27 @@
1
1
  import { CardsPlayer } from '../../../cards-game';
2
+ import { IGamePlayerConfig } from '../../../base';
2
3
 
3
4
  export class BlackJackPlayer extends CardsPlayer {
4
- private isFinishMove: boolean;
5
+ private _isFinishMove: boolean;
5
6
 
6
- constructor (
7
- id: string,
8
- fullName: string,
9
- avatarUrl: string,
10
- balance: number,
11
- ) {
12
- super(id, fullName, avatarUrl, balance);
13
- this.isFinishMove = false;
14
- }
7
+ constructor (config: IGamePlayerConfig) {
8
+ super(config);
9
+ this._isFinishMove = false;
10
+ }
15
11
 
16
- isDealer (): boolean {
17
- return false;
18
- }
12
+ get isDealer (): boolean {
13
+ return false;
14
+ }
19
15
 
20
- finishMove () {
21
- this.isFinishMove = true;
22
- }
16
+ finishMove () {
17
+ this._isFinishMove = true;
18
+ }
23
19
 
24
- isFinishedMove () {
25
- return this.isFinishMove;
26
- }
20
+ get isFinishedMove () {
21
+ return this._isFinishMove;
22
+ }
23
+
24
+ hasOpenConnection (): boolean {
25
+ return true;
26
+ }
27
27
  }
@@ -0,0 +1,24 @@
1
+ import { BasePlayerMove, BasePlayerMoveFactory } from '../../../../base';
2
+ import { BlackJackPlayer } from '../black-jack-player';
3
+ import { BlackJackMoveData } from '../black-jack-move-data';
4
+ import { NotImplementedException } from '../../../../exceptions/not-implemented.exception';
5
+ import { BlackJackPlayerActionsEnum } from '../black-jack-player-actions.enum';
6
+
7
+ import { BlackJackPlayerMoveGetCard } from './list/black-jack-player-move-get-card';
8
+ import { BlackJackPlayerMoveFinishMove } from './list/black-jack-player-move-finish-move';
9
+
10
+ export class BlackJackMoveFactory extends BasePlayerMoveFactory {
11
+ createMove (player: BlackJackPlayer, moveData: BlackJackMoveData): BasePlayerMove {
12
+ switch (moveData.action) {
13
+ case BlackJackPlayerActionsEnum.FINISH_MOVE: {
14
+ return new BlackJackPlayerMoveFinishMove(this.master, player, moveData);
15
+ }
16
+ case BlackJackPlayerActionsEnum.GET_CARD: {
17
+ return new BlackJackPlayerMoveGetCard(this.master, player, moveData);
18
+ }
19
+ default: {
20
+ throw new NotImplementedException();
21
+ }
22
+ }
23
+ }
24
+ }
@@ -0,0 +1,12 @@
1
+ import { BlackJackPlayer } from '../../black-jack-player';
2
+ import { BasePlayerMove } from '../../../../../base';
3
+
4
+ export class BlackJackPlayerMoveFinishMove extends BasePlayerMove {
5
+ isValid (): boolean {
6
+ return true;
7
+ }
8
+
9
+ commit () {
10
+ this.getPlayer<BlackJackPlayer>().finishMove();
11
+ }
12
+ }
@@ -0,0 +1,13 @@
1
+ import { BasePlayerMove } from '../../../../../base';
2
+ import { BlackJackGameMaster } from '../../black-jack-game-master';
3
+ import { BlackJackPlayer } from '../../black-jack-player';
4
+
5
+ export class BlackJackPlayerMoveGetCard extends BasePlayerMove {
6
+ isValid (): boolean {
7
+ return true;
8
+ }
9
+
10
+ commit () {
11
+ this.getMaster<BlackJackGameMaster>().give1CardsToPlayer(this.getPlayer<BlackJackPlayer>());
12
+ }
13
+ }
@@ -1,10 +1,9 @@
1
1
  import { SimpleRoom } from '../../../base-rooms';
2
2
  import { GameMaster } from '../../../base';
3
3
  import { BlackJackGameMaster } from '../domain/black-jack-game-master';
4
- import { deck52 } from '../../../cards-game';
5
4
 
6
5
  export class BlackJackSimpleRoom extends SimpleRoom {
7
- createMaster (): GameMaster {
8
- return new BlackJackGameMaster(this, deck52);
9
- }
6
+ createMaster (): GameMaster {
7
+ return new BlackJackGameMaster(this);
8
+ }
10
9
  }