jp.ms.common.engine 1.0.2 → 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 +3 -2
  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 -8
  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
@@ -2,58 +2,9 @@ import { compact, first, remove, slice } from 'lodash';
2
2
 
3
3
  import { GamePlayer } from './game-player';
4
4
  import { GameTableSeats } from './game-table-seats';
5
+ import { GameMaster } from './game-master';
5
6
 
6
- export interface IGameTable<GP extends GamePlayer> {
7
- getId (): string;
8
-
9
- hasInQueue (PlayerId: string): boolean;
10
-
11
- hasInWatchers (PlayerId: string): boolean;
12
-
13
- isFull (): boolean;
14
-
15
- getSeats (): GameTableSeats<GP>;
16
-
17
- hasSeats (): boolean;
18
-
19
- addPlayerToQueue (player: GP);
20
-
21
- addPlayerToSeat (player: GP);
22
-
23
- removePlayerFromSeat (player: GP);
24
-
25
- removePlayerFromQueue (player: GP);
26
-
27
- removePlayerFromWatchers (player: GP);
28
-
29
- addPlayerToWatchers (player: GP);
30
-
31
- getPlayers (): Array<GP>;
32
-
33
- getPlayerByColor (color: number): GP | undefined;
34
-
35
- getPlayersWithQueue (): Array<GP>;
36
-
37
- getEmptyStackPlayers (): Array<GP>;
38
-
39
- remainOnePlayer (): boolean;
40
-
41
- startNewRound (): void;
42
-
43
- getQueue (): Array<GP>;
44
-
45
- getTableSize (): number;
46
-
47
- getRedundantQueuers (): Array<GP>;
48
-
49
- getLastPlayer (): GP | null;
50
-
51
- getTurnTimeout (): number;
52
-
53
- getRestartTimeout (): number;
54
- }
55
-
56
- export type GameTableConfig<GP extends GamePlayer> = {
7
+ export type GameTableConfig = {
57
8
  roomId: string;
58
9
  number: number;
59
10
  tableSize: number;
@@ -61,25 +12,25 @@ export type GameTableConfig<GP extends GamePlayer> = {
61
12
  rulesType: string;
62
13
  turnTimeout: number;
63
14
  restartTimeout: number;
64
- onRoomFinishRound: (table: IGameTable<GP>) => void
65
- onRoomRestartRound: (table: IGameTable<GP>) => void
15
+ onRoomFinishRound: (table: GameTable) => void
16
+ onRoomRestartRound: (table: GameTable) => void
66
17
  }
67
18
 
68
- export abstract class GameTable<GP extends GamePlayer, GM, GSR> implements IGameTable<GP> {
19
+ export class GameTable {
69
20
  private readonly roomId: string;
70
21
  private readonly number: number;
71
22
  private readonly tableSize: number;
72
23
  private readonly bet: number;
73
24
  private readonly turnTimeout: number;
74
25
  private readonly restartTimeout: number;
75
- private readonly queue: Array<GP>;
76
- private readonly watchers: Array<GP>;
77
- public readonly seats: GameTableSeats<GP>;
78
- public master: GM;
79
- public onRoomFinishRound: (table: IGameTable<GP>) => void;
80
- public onRoomRestartRound: (table: IGameTable<GP>) => void;
81
-
82
- protected constructor (config: GameTableConfig<GP>) {
26
+ private readonly queue: Array<GamePlayer>;
27
+ private readonly watchers: Array<GamePlayer>;
28
+ public readonly seats: GameTableSeats;
29
+ public master: GameMaster;
30
+ public onRoomFinishRound: (table: GameTable) => void;
31
+ public onRoomRestartRound: (table: GameTable) => void;
32
+
33
+ constructor (config: GameTableConfig) {
83
34
  this.queue = [];
84
35
  this.watchers = [];
85
36
  this.onRoomFinishRound = config.onRoomFinishRound;
@@ -93,8 +44,6 @@ export abstract class GameTable<GP extends GamePlayer, GM, GSR> implements IGame
93
44
  this.seats = new GameTableSeats(this.getTableSize());
94
45
  }
95
46
 
96
- abstract startNewRound (): void
97
-
98
47
  getRoomId () {
99
48
  return this.roomId;
100
49
  }
@@ -127,7 +76,7 @@ export abstract class GameTable<GP extends GamePlayer, GM, GSR> implements IGame
127
76
  return this.restartTimeout;
128
77
  }
129
78
 
130
- addPlayerToSeat (player: GP): boolean {
79
+ addPlayerToSeat (player: GamePlayer): boolean {
131
80
  const freeSeat = this.seats.findFreeSeat();
132
81
  if (freeSeat) {
133
82
  freeSeat.addPlayer(player);
@@ -138,7 +87,7 @@ export abstract class GameTable<GP extends GamePlayer, GM, GSR> implements IGame
138
87
  return false;
139
88
  }
140
89
 
141
- removePlayerFromSeat (player: GP): void {
90
+ removePlayerFromSeat (player: GamePlayer): void {
142
91
  const seat = this.seats.getSeat(player.getSeatNumber());
143
92
  if (seat) {
144
93
  seat.removePlayer();
@@ -146,19 +95,19 @@ export abstract class GameTable<GP extends GamePlayer, GM, GSR> implements IGame
146
95
  }
147
96
  }
148
97
 
149
- getPlayers (): Array<GP> {
98
+ getPlayers (): Array<GamePlayer> {
150
99
  return compact(this.seats.getSeats().map((seat) => seat.getPlayer()));
151
100
  }
152
101
 
153
- getPlayerByColor (color: number): GP | undefined {
102
+ getPlayerByColor (color: number): GamePlayer | undefined {
154
103
  return this.getPlayers().find((item) => item.getColor() === color);
155
104
  }
156
105
 
157
- getPlayersWithQueue (): Array<GP> {
106
+ getPlayersWithQueue (): Array<GamePlayer> {
158
107
  return [...this.getPlayers(), ...this.queue];
159
108
  }
160
109
 
161
- getLastPlayer (): GP | null {
110
+ getLastPlayer (): GamePlayer | null {
162
111
  return first(this.getPlayers()) ?? null;
163
112
  }
164
113
 
@@ -170,24 +119,24 @@ export abstract class GameTable<GP extends GamePlayer, GM, GSR> implements IGame
170
119
  return this.getPlayers().length > 1;
171
120
  }
172
121
 
173
- getEmptyStackPlayers (): Array<GP> {
122
+ getEmptyStackPlayers (): Array<GamePlayer> {
174
123
  return this.getPlayers().filter((player) => player.hasEmptyStack());
175
124
  }
176
125
 
177
- getQueue (): Array<GP> {
126
+ getQueue (): Array<GamePlayer> {
178
127
  return this.queue;
179
128
  }
180
129
 
181
- getRedundantQueuers (): Array<GP> {
130
+ getRedundantQueuers (): Array<GamePlayer> {
182
131
  return slice(this.queue, this.getTableSize() - this.getPlayers().length - 1);
183
132
  }
184
133
 
185
- addPlayerToQueue (player: GP): void {
134
+ addPlayerToQueue (player: GamePlayer): void {
186
135
  this.queue.push(player);
187
136
  player.getInTableQueue(this.getRoomId(), this.getId());
188
137
  }
189
138
 
190
- removePlayerFromQueue (player: GP): void {
139
+ removePlayerFromQueue (player: GamePlayer): void {
191
140
  remove(this.queue, (queuer) => queuer.getId() === player.getId());
192
141
  player.quit();
193
142
  }
@@ -196,16 +145,16 @@ export abstract class GameTable<GP extends GamePlayer, GM, GSR> implements IGame
196
145
  return !!this.getQueue().find((queuer) => queuer.getId() === PlayerId);
197
146
  }
198
147
 
199
- getWatchers (): Array<GP> {
148
+ getWatchers (): Array<GamePlayer> {
200
149
  return this.watchers;
201
150
  }
202
151
 
203
- addPlayerToWatchers (player: GP): void {
152
+ addPlayerToWatchers (player: GamePlayer): void {
204
153
  this.watchers.push(player);
205
154
  player.watch(this.getRoomId(), this.getId());
206
155
  }
207
156
 
208
- removePlayerFromWatchers (player: GP): void {
157
+ removePlayerFromWatchers (player: GamePlayer): void {
209
158
  remove(this.watchers, (watcher) => watcher.getId() === player.getId());
210
159
  player.quit();
211
160
  }
@@ -218,7 +167,7 @@ export abstract class GameTable<GP extends GamePlayer, GM, GSR> implements IGame
218
167
  return !this.seats.findFreeSeat();
219
168
  }
220
169
 
221
- getSeats (): GameTableSeats<GP> {
170
+ getSeats (): GameTableSeats {
222
171
  return this.seats;
223
172
  }
224
173
 
package/src/base/index.ts CHANGED
@@ -9,6 +9,7 @@ import { GameStateMachine, StateMachineConfig } from './game-state-machine';
9
9
  import { GameTable, GameTableConfig } from './game-table';
10
10
  import { GameTableSeat } from './game-table-seat';
11
11
  import { GameTableSeats } from './game-table-seats';
12
+ import { StandardGameState } from './standard-game-state';
12
13
 
13
14
  export {
14
15
  GameControlPlayerTurn,
@@ -25,4 +26,5 @@ export {
25
26
  GameTableSeat,
26
27
  GameTableSeats,
27
28
  GameRoomConfig,
29
+ StandardGameState,
28
30
  }
@@ -42,7 +42,7 @@ const config: StateMachineConfig = {
42
42
  },
43
43
  };
44
44
 
45
- export class StandardGameState extends GameStateMachine<StandardStateMachineStates, StandardStateMachineActions> {
45
+ export class StandardGameState extends GameStateMachine {
46
46
  constructor () {
47
47
  super(StandardStateMachineStates.STATE_WAITING_FOR_PLAYERS, config);
48
48
  }
@@ -55,7 +55,7 @@ export class StandardGameState extends GameStateMachine<StandardStateMachineStat
55
55
  return this.getCurrentState() === StandardStateMachineStates.STATE_IN_PROGRESS;
56
56
  }
57
57
 
58
- isEnd () {
58
+ isFinish () {
59
59
  return this.getCurrentState() === StandardStateMachineStates.STATE_END;
60
60
  }
61
61
 
@@ -1,59 +1,59 @@
1
- import { GamePlayer } from '../base';
2
- import { IGameTable } from '../base/game-table';
3
-
4
- import { TournamentRoom, TournamentRoomConfig } from './tournament-room';
5
-
6
- export abstract class FastTournamentRoom<
7
- GT extends IGameTable<GP>,
8
- GP extends GamePlayer,
9
- > extends TournamentRoom<GT, GP> {
10
- constructor (config: TournamentRoomConfig) {
11
- super(config);
12
- this.createTable();
13
- }
14
-
15
- handleJoinTournament (player: GP) {
16
- const onlyTable = this.getFirstTable();
17
- if (this.getState().isWaiting() && onlyTable && onlyTable.hasSeats()) {
18
- onlyTable.addPlayerToSeat(player);
19
- if (onlyTable.isFull()) {
20
- this.startTournament();
21
- }
22
- }
23
- }
24
-
25
- handleLeaveTournament (player: GP) {
26
- const onlyTable = this.getFirstTable();
27
- if (onlyTable) {
28
- if (player.isPlayer()) {
29
- onlyTable.removePlayerFromSeat(player);
30
- } else {
31
- onlyTable.removePlayerFromWatchers(player);
32
- }
33
- }
34
- }
35
-
36
- handleFinishRound = () => {
37
- };
38
-
39
- handleRestartRound = () => {
40
- if (this.isTournamentFinish()) {
41
- this.finishTournament();
42
- }
43
- };
44
-
45
- startTournament () {
46
- this.getFirstTable()?.getPlayers().forEach((player) => this.addParticipant(player));
47
- this.getState().toStart();
48
- this.getFirstTable()?.startNewRound();
49
- }
50
-
51
- finishTournament () {
52
- this.getState().toFinish();
53
- this.calculateWinners();
54
- }
55
-
56
- isTournamentFinish (): boolean {
57
- return this.getFirstTable()?.remainOnePlayer() ?? false;
58
- }
59
- }
1
+ // import { GamePlayer } from '../base';
2
+ // import { IGameTable } from '../base/game-table';
3
+ //
4
+ // import { TournamentRoom, TournamentRoomConfig } from './tournament-room';
5
+ //
6
+ // export abstract class FastTournamentRoom<
7
+ // GT extends IGameTable<GP>,
8
+ // GP extends GamePlayer,
9
+ // > extends TournamentRoom<GT, GP> {
10
+ // constructor (config: TournamentRoomConfig) {
11
+ // super(config);
12
+ // this.createTable();
13
+ // }
14
+ //
15
+ // handleJoinTournament (player: GP) {
16
+ // const onlyTable = this.getFirstTable();
17
+ // if (this.getState().isWaiting() && onlyTable && onlyTable.hasSeats()) {
18
+ // onlyTable.addPlayerToSeat(player);
19
+ // if (onlyTable.isFull()) {
20
+ // this.startTournament();
21
+ // }
22
+ // }
23
+ // }
24
+ //
25
+ // handleLeaveTournament (player: GP) {
26
+ // const onlyTable = this.getFirstTable();
27
+ // if (onlyTable) {
28
+ // if (player.isPlayer()) {
29
+ // onlyTable.removePlayerFromSeat(player);
30
+ // } else {
31
+ // onlyTable.removePlayerFromWatchers(player);
32
+ // }
33
+ // }
34
+ // }
35
+ //
36
+ // handleFinishRound = () => {
37
+ // };
38
+ //
39
+ // handleRestartRound = () => {
40
+ // if (this.isTournamentFinish()) {
41
+ // this.finishTournament();
42
+ // }
43
+ // };
44
+ //
45
+ // startTournament () {
46
+ // this.getFirstTable()?.getPlayers().forEach((player) => this.addParticipant(player));
47
+ // this.getState().toStart();
48
+ // this.getFirstTable()?.startNewRound();
49
+ // }
50
+ //
51
+ // finishTournament () {
52
+ // this.getState().toFinish();
53
+ // this.calculateWinners();
54
+ // }
55
+ //
56
+ // isTournamentFinish (): boolean {
57
+ // return this.getFirstTable()?.remainOnePlayer() ?? false;
58
+ // }
59
+ // }
@@ -1,19 +1,20 @@
1
- import { FastTournamentRoom } from './fast-tournament-room';
2
- import { ScheduledTournamentRoom } from './scheduled-tournament-room';
1
+ // import { FastTournamentRoom } from './fast-tournament-room';
2
+ // import { ScheduledTournamentRoom } from './scheduled-tournament-room';
3
3
  import { SimpleRoom } from './simple-room';
4
4
  import { ITournamentParticipant } from './tournament-participant';
5
5
  import { TournamentPrizes } from './tournament-prize';
6
- import { TournamentRoom } from './tournament-room';
7
- import { TournamentState } from './tournament-state';
6
+ // import { TournamentRoom, TournamentRoomConfig } from './tournament-room';
7
+ // import { TournamentState } from './tournament-state';
8
8
  import { ITournamentWinner } from './tournament-winner';
9
9
 
10
10
  export {
11
- FastTournamentRoom,
11
+ // TournamentRoomConfig,
12
+ // FastTournamentRoom,
12
13
  SimpleRoom,
13
14
  ITournamentParticipant,
14
15
  TournamentPrizes,
15
- ScheduledTournamentRoom,
16
- TournamentRoom,
17
- TournamentState,
16
+ // ScheduledTournamentRoom,
17
+ // TournamentRoom,
18
+ // TournamentState,
18
19
  ITournamentWinner,
19
20
  }