jp.ms.common.engine 1.0.21 → 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.
- package/dist/base/base-figure-type.enum.d.ts +4 -0
- package/dist/base/base-figure-type.enum.d.ts.map +1 -0
- package/dist/base/base-figure-type.enum.js +8 -0
- package/dist/base/base-figure-type.enum.js.map +1 -0
- package/dist/base/base-figure.d.ts +10 -0
- package/dist/base/base-figure.d.ts.map +1 -0
- package/dist/base/base-figure.js +20 -0
- package/dist/base/base-figure.js.map +1 -0
- package/dist/base/base-move-data.d.ts +5 -4
- package/dist/base/base-move-data.d.ts.map +1 -1
- package/dist/base/base-move-data.js +3 -3
- package/dist/base/base-move-data.js.map +1 -1
- package/dist/base/base-player-move-factory.d.ts +10 -0
- package/dist/base/base-player-move-factory.d.ts.map +1 -0
- package/dist/base/base-player-move-factory.js +13 -0
- package/dist/base/base-player-move-factory.js.map +1 -0
- package/dist/base/base-player-move.d.ts +17 -0
- package/dist/base/base-player-move.d.ts.map +1 -0
- package/dist/base/base-player-move.js +24 -0
- package/dist/base/base-player-move.js.map +1 -0
- package/dist/base/game-control-player-turn.d.ts +1 -0
- package/dist/base/game-control-player-turn.d.ts.map +1 -1
- package/dist/base/game-control-player-turn.js +6 -0
- package/dist/base/game-control-player-turn.js.map +1 -1
- package/dist/base/game-control-restart.d.ts +1 -0
- package/dist/base/game-control-restart.d.ts.map +1 -1
- package/dist/base/game-control-restart.js +5 -0
- package/dist/base/game-control-restart.js.map +1 -1
- package/dist/base/game-master.d.ts +94 -30
- package/dist/base/game-master.d.ts.map +1 -1
- package/dist/base/game-master.js +351 -55
- package/dist/base/game-master.js.map +1 -1
- package/dist/base/game-player-connections-helper.d.ts +3 -12
- package/dist/base/game-player-connections-helper.d.ts.map +1 -1
- package/dist/base/game-player-connections-helper.js +10 -16
- package/dist/base/game-player-connections-helper.js.map +1 -1
- package/dist/base/game-player-exited.d.ts +15 -0
- package/dist/base/game-player-exited.d.ts.map +1 -0
- package/dist/base/game-player-exited.js +29 -0
- package/dist/base/game-player-exited.js.map +1 -0
- package/dist/base/game-player.d.ts +76 -45
- package/dist/base/game-player.d.ts.map +1 -1
- package/dist/base/game-player.js +164 -98
- package/dist/base/game-player.js.map +1 -1
- package/dist/base/game-result-equal-helper.d.ts +6 -0
- package/dist/base/game-result-equal-helper.d.ts.map +1 -0
- package/dist/base/game-result-equal-helper.js +19 -0
- package/dist/base/game-result-equal-helper.js.map +1 -0
- package/dist/base/game-result-helper.d.ts +13 -0
- package/dist/base/game-result-helper.d.ts.map +1 -0
- package/dist/base/game-result-helper.js +24 -0
- package/dist/base/game-result-helper.js.map +1 -0
- package/dist/base/game-result-rating-helper.d.ts +18 -0
- package/dist/base/game-result-rating-helper.d.ts.map +1 -0
- package/dist/base/game-result-rating-helper.js +32 -0
- package/dist/base/game-result-rating-helper.js.map +1 -0
- package/dist/base/game-room.d.ts +38 -7
- package/dist/base/game-room.d.ts.map +1 -1
- package/dist/base/game-room.js +67 -10
- package/dist/base/game-room.js.map +1 -1
- package/dist/base/game-round-history-item.d.ts +25 -0
- package/dist/base/game-round-history-item.d.ts.map +1 -0
- package/dist/base/game-round-history-item.enum.d.ts +7 -0
- package/dist/base/game-round-history-item.enum.d.ts.map +1 -0
- package/dist/base/game-round-history-item.enum.js +11 -0
- package/dist/base/game-round-history-item.enum.js.map +1 -0
- package/dist/base/game-round-history-item.js +52 -0
- package/dist/base/game-round-history-item.js.map +1 -0
- package/dist/base/game-round.d.ts +16 -9
- package/dist/base/game-round.d.ts.map +1 -1
- package/dist/base/game-round.js +34 -0
- package/dist/base/game-round.js.map +1 -1
- package/dist/base/game-state-machine.d.ts +5 -0
- package/dist/base/game-state-machine.d.ts.map +1 -1
- package/dist/base/game-state-machine.js.map +1 -1
- package/dist/base/game-table-seat.d.ts +10 -3
- package/dist/base/game-table-seat.d.ts.map +1 -1
- package/dist/base/game-table-seat.js +43 -2
- package/dist/base/game-table-seat.js.map +1 -1
- package/dist/base/game-table-seats.d.ts +4 -6
- package/dist/base/game-table-seats.d.ts.map +1 -1
- package/dist/base/game-table-seats.js +13 -27
- package/dist/base/game-table-seats.js.map +1 -1
- package/dist/base/game-table.d.ts +24 -21
- package/dist/base/game-table.d.ts.map +1 -1
- package/dist/base/game-table.js +72 -42
- package/dist/base/game-table.js.map +1 -1
- package/dist/base/index.d.ts +9 -4
- package/dist/base/index.d.ts.map +1 -1
- package/dist/base/index.js +15 -3
- package/dist/base/index.js.map +1 -1
- package/dist/base-rooms/simple-room.d.ts +7 -7
- package/dist/base-rooms/simple-room.d.ts.map +1 -1
- package/dist/base-rooms/simple-room.js +5 -4
- package/dist/base-rooms/simple-room.js.map +1 -1
- package/dist/base-rooms/tournament-state.d.ts +1 -1
- package/dist/base-rooms/tournament-state.d.ts.map +1 -1
- package/dist/base-rooms/tournament-state.js +1 -1
- package/dist/base-rooms/tournament-state.js.map +1 -1
- package/dist/cards-game/cards/card.d.ts +14 -14
- package/dist/cards-game/cards/card.d.ts.map +1 -1
- package/dist/cards-game/cards/card.js +36 -17
- package/dist/cards-game/cards/card.js.map +1 -1
- package/dist/cards-game/cards-deck/cards-deck-type.enum.d.ts +8 -0
- package/dist/cards-game/cards-deck/cards-deck-type.enum.d.ts.map +1 -0
- package/dist/cards-game/cards-deck/cards-deck-type.enum.js +12 -0
- package/dist/cards-game/cards-deck/cards-deck-type.enum.js.map +1 -0
- package/dist/cards-game/cards-deck/cards-deck.d.ts +23 -0
- package/dist/cards-game/cards-deck/cards-deck.d.ts.map +1 -0
- package/dist/cards-game/cards-deck/cards-deck.js +84 -0
- package/dist/cards-game/cards-deck/cards-deck.js.map +1 -0
- package/dist/cards-game/cards-deck/types/deck12.d.ts +2 -0
- package/dist/cards-game/cards-deck/types/deck12.d.ts.map +1 -0
- package/dist/cards-game/cards-deck/types/deck12.js +19 -0
- package/dist/cards-game/cards-deck/types/deck12.js.map +1 -0
- package/dist/cards-game/cards-deck/types/deck24.d.ts +2 -0
- package/dist/cards-game/cards-deck/types/deck24.d.ts.map +1 -0
- package/dist/cards-game/cards-deck/types/deck24.js +31 -0
- package/dist/cards-game/cards-deck/types/deck24.js.map +1 -0
- package/dist/cards-game/cards-deck/types/deck36.d.ts +2 -0
- package/dist/cards-game/cards-deck/types/deck36.d.ts.map +1 -0
- package/dist/cards-game/{cards → cards-deck/types}/deck36.js +1 -1
- package/dist/cards-game/cards-deck/types/deck36.js.map +1 -0
- package/dist/cards-game/cards-deck/types/deck52.d.ts +2 -0
- package/dist/cards-game/cards-deck/types/deck52.d.ts.map +1 -0
- package/dist/cards-game/{cards → cards-deck/types}/deck52.js +1 -1
- package/dist/cards-game/cards-deck/types/deck52.js.map +1 -0
- package/dist/cards-game/cards-game-master.d.ts +16 -5
- package/dist/cards-game/cards-game-master.d.ts.map +1 -1
- package/dist/cards-game/cards-game-master.js +49 -20
- package/dist/cards-game/cards-game-master.js.map +1 -1
- package/dist/cards-game/cards-pairs/card-pair-slot.d.ts +24 -0
- package/dist/cards-game/cards-pairs/card-pair-slot.d.ts.map +1 -0
- package/dist/cards-game/cards-pairs/card-pair-slot.js +56 -0
- package/dist/cards-game/cards-pairs/card-pair-slot.js.map +1 -0
- package/dist/cards-game/cards-pairs/card-pair-slots.d.ts +25 -0
- package/dist/cards-game/cards-pairs/card-pair-slots.d.ts.map +1 -0
- package/dist/cards-game/cards-pairs/card-pair-slots.js +84 -0
- package/dist/cards-game/cards-pairs/card-pair-slots.js.map +1 -0
- package/dist/cards-game/cards-player.d.ts +17 -5
- package/dist/cards-game/cards-player.d.ts.map +1 -1
- package/dist/cards-game/cards-player.js +51 -11
- package/dist/cards-game/cards-player.js.map +1 -1
- package/dist/cards-game/index.d.ts +6 -3
- package/dist/cards-game/index.d.ts.map +1 -1
- package/dist/cards-game/index.js +9 -3
- package/dist/cards-game/index.js.map +1 -1
- package/dist/events/base/base-game.event.d.ts +3 -0
- package/dist/events/base/base-game.event.d.ts.map +1 -0
- package/dist/events/base/base-game.event.js +7 -0
- package/dist/events/base/base-game.event.js.map +1 -0
- package/dist/events/base/game-player.event.d.ts +11 -0
- package/dist/events/base/game-player.event.d.ts.map +1 -0
- package/dist/events/base/game-player.event.js +23 -0
- package/dist/events/base/game-player.event.js.map +1 -0
- package/dist/events/base/game-room.event.d.ts +8 -0
- package/dist/events/base/game-room.event.d.ts.map +1 -0
- package/dist/events/base/game-room.event.js +15 -0
- package/dist/events/base/game-room.event.js.map +1 -0
- package/dist/events/base/game-table.event.d.ts +8 -0
- package/dist/events/base/game-table.event.d.ts.map +1 -0
- package/dist/events/base/game-table.event.js +15 -0
- package/dist/events/base/game-table.event.js.map +1 -0
- package/dist/events/game/game-player-activate.event.d.ts +4 -0
- package/dist/events/game/game-player-activate.event.d.ts.map +1 -0
- package/dist/events/game/game-player-activate.event.js +8 -0
- package/dist/events/game/game-player-activate.event.js.map +1 -0
- package/dist/events/game/game-player-activated.event.d.ts +4 -0
- package/dist/events/game/game-player-activated.event.d.ts.map +1 -0
- package/dist/events/game/game-player-activated.event.js +8 -0
- package/dist/events/game/game-player-activated.event.js.map +1 -0
- package/dist/events/game/game-player-deactivate.event.d.ts +4 -0
- package/dist/events/game/game-player-deactivate.event.d.ts.map +1 -0
- package/dist/events/game/game-player-deactivate.event.js +8 -0
- package/dist/events/game/game-player-deactivate.event.js.map +1 -0
- package/dist/events/game/game-player-deactivated.event.d.ts +4 -0
- package/dist/events/game/game-player-deactivated.event.d.ts.map +1 -0
- package/dist/events/game/game-player-deactivated.event.js +8 -0
- package/dist/events/game/game-player-deactivated.event.js.map +1 -0
- package/dist/events/game/game-player-enter-the-table.event.d.ts +4 -0
- package/dist/events/game/game-player-enter-the-table.event.d.ts.map +1 -0
- package/dist/events/game/game-player-enter-the-table.event.js +8 -0
- package/dist/events/game/game-player-enter-the-table.event.js.map +1 -0
- package/dist/events/game/game-player-entered-the-table.event.d.ts +4 -0
- package/dist/events/game/game-player-entered-the-table.event.d.ts.map +1 -0
- package/dist/events/game/game-player-entered-the-table.event.js +8 -0
- package/dist/events/game/game-player-entered-the-table.event.js.map +1 -0
- package/dist/events/game/game-player-exit-the-table.event.d.ts +4 -0
- package/dist/events/game/game-player-exit-the-table.event.d.ts.map +1 -0
- package/dist/events/game/game-player-exit-the-table.event.js +8 -0
- package/dist/events/game/game-player-exit-the-table.event.js.map +1 -0
- package/dist/events/game/game-player-exited-the-table.event.d.ts +4 -0
- package/dist/events/game/game-player-exited-the-table.event.d.ts.map +1 -0
- package/dist/events/game/game-player-exited-the-table.event.js +8 -0
- package/dist/events/game/game-player-exited-the-table.event.js.map +1 -0
- package/dist/events/game/game-player-kick-out-the-table.event.d.ts +4 -0
- package/dist/events/game/game-player-kick-out-the-table.event.d.ts.map +1 -0
- package/dist/events/game/game-player-kick-out-the-table.event.js +8 -0
- package/dist/events/game/game-player-kick-out-the-table.event.js.map +1 -0
- package/dist/events/game/game-player-kicked-out-the-table.event.d.ts +4 -0
- package/dist/events/game/game-player-kicked-out-the-table.event.d.ts.map +1 -0
- package/dist/events/game/game-player-kicked-out-the-table.event.js +8 -0
- package/dist/events/game/game-player-kicked-out-the-table.event.js.map +1 -0
- package/dist/events/game/game-player-move-on-the-table.event.d.ts +4 -0
- package/dist/events/game/game-player-move-on-the-table.event.d.ts.map +1 -0
- package/dist/events/game/game-player-move-on-the-table.event.js +8 -0
- package/dist/events/game/game-player-move-on-the-table.event.js.map +1 -0
- package/dist/events/game/game-player-moved-on-the-table.event.d.ts +4 -0
- package/dist/events/game/game-player-moved-on-the-table.event.d.ts.map +1 -0
- package/dist/events/game/game-player-moved-on-the-table.event.js +8 -0
- package/dist/events/game/game-player-moved-on-the-table.event.js.map +1 -0
- package/dist/events/game/game-player-turn-timer-executed.event.d.ts +4 -0
- package/dist/events/game/game-player-turn-timer-executed.event.d.ts.map +1 -0
- package/dist/events/game/game-player-turn-timer-executed.event.js +8 -0
- package/dist/events/game/game-player-turn-timer-executed.event.js.map +1 -0
- package/dist/events/game/game-player-turn-timer-set-off.event.d.ts +4 -0
- package/dist/events/game/game-player-turn-timer-set-off.event.d.ts.map +1 -0
- package/dist/events/game/game-player-turn-timer-set-off.event.js +8 -0
- package/dist/events/game/game-player-turn-timer-set-off.event.js.map +1 -0
- package/dist/events/game/game-player-turn-timer-set-on.event.d.ts +4 -0
- package/dist/events/game/game-player-turn-timer-set-on.event.d.ts.map +1 -0
- package/dist/events/game/game-player-turn-timer-set-on.event.js +8 -0
- package/dist/events/game/game-player-turn-timer-set-on.event.js.map +1 -0
- package/dist/events/game/game-player-watch-the-table.event.d.ts +4 -0
- package/dist/events/game/game-player-watch-the-table.event.d.ts.map +1 -0
- package/dist/events/game/game-player-watch-the-table.event.js +8 -0
- package/dist/events/game/game-player-watch-the-table.event.js.map +1 -0
- package/dist/events/game/game-player-watched-the-table.event.d.ts +4 -0
- package/dist/events/game/game-player-watched-the-table.event.d.ts.map +1 -0
- package/dist/events/game/game-player-watched-the-table.event.js +8 -0
- package/dist/events/game/game-player-watched-the-table.event.js.map +1 -0
- package/dist/events/game/game-room-room-created.event.d.ts +4 -0
- package/dist/events/game/game-room-room-created.event.d.ts.map +1 -0
- package/dist/events/game/game-room-room-created.event.js +8 -0
- package/dist/events/game/game-room-room-created.event.js.map +1 -0
- package/dist/events/game/game-table-finish.event.d.ts +4 -0
- package/dist/events/game/game-table-finish.event.d.ts.map +1 -0
- package/dist/events/game/game-table-finish.event.js +8 -0
- package/dist/events/game/game-table-finish.event.js.map +1 -0
- package/dist/events/game/game-table-finished.event.d.ts +4 -0
- package/dist/events/game/game-table-finished.event.d.ts.map +1 -0
- package/dist/events/game/game-table-finished.event.js +8 -0
- package/dist/events/game/game-table-finished.event.js.map +1 -0
- package/dist/events/game/game-table-master-created.event.d.ts +4 -0
- package/dist/events/game/game-table-master-created.event.d.ts.map +1 -0
- package/dist/events/game/game-table-master-created.event.js +8 -0
- package/dist/events/game/game-table-master-created.event.js.map +1 -0
- package/dist/events/game/game-table-restart-timer-executed.event.d.ts +4 -0
- package/dist/events/game/game-table-restart-timer-executed.event.d.ts.map +1 -0
- package/dist/events/game/game-table-restart-timer-executed.event.js +8 -0
- package/dist/events/game/game-table-restart-timer-executed.event.js.map +1 -0
- package/dist/events/game/game-table-restart-timer-set-on.event.d.ts +4 -0
- package/dist/events/game/game-table-restart-timer-set-on.event.d.ts.map +1 -0
- package/dist/events/game/game-table-restart-timer-set-on.event.js +8 -0
- package/dist/events/game/game-table-restart-timer-set-on.event.js.map +1 -0
- package/dist/events/game/game-table-restart.event.d.ts +4 -0
- package/dist/events/game/game-table-restart.event.d.ts.map +1 -0
- package/dist/events/game/game-table-restart.event.js +8 -0
- package/dist/events/game/game-table-restart.event.js.map +1 -0
- package/dist/events/game/game-table-restarted.event.d.ts +4 -0
- package/dist/events/game/game-table-restarted.event.d.ts.map +1 -0
- package/dist/events/game/game-table-restarted.event.js +8 -0
- package/dist/events/game/game-table-restarted.event.js.map +1 -0
- package/dist/events/game/game-table-start.event.d.ts +4 -0
- package/dist/events/game/game-table-start.event.d.ts.map +1 -0
- package/dist/events/game/game-table-start.event.js +8 -0
- package/dist/events/game/game-table-start.event.js.map +1 -0
- package/dist/events/game/game-table-started.event.d.ts +4 -0
- package/dist/events/game/game-table-started.event.d.ts.map +1 -0
- package/dist/events/game/game-table-started.event.js +8 -0
- package/dist/events/game/game-table-started.event.js.map +1 -0
- package/dist/events/game/game-table-turn-finish.event.d.ts +4 -0
- package/dist/events/game/game-table-turn-finish.event.d.ts.map +1 -0
- package/dist/events/game/game-table-turn-finish.event.js +8 -0
- package/dist/events/game/game-table-turn-finish.event.js.map +1 -0
- package/dist/events/game/game-table-turn-finished.event.d.ts +4 -0
- package/dist/events/game/game-table-turn-finished.event.d.ts.map +1 -0
- package/dist/events/game/game-table-turn-finished.event.js +8 -0
- package/dist/events/game/game-table-turn-finished.event.js.map +1 -0
- package/dist/events/game/game-table-turn-start.event.d.ts +4 -0
- package/dist/events/game/game-table-turn-start.event.d.ts.map +1 -0
- package/dist/events/game/game-table-turn-start.event.js +8 -0
- package/dist/events/game/game-table-turn-start.event.js.map +1 -0
- package/dist/events/game/game-table-turn-started.event.d.ts +4 -0
- package/dist/events/game/game-table-turn-started.event.d.ts.map +1 -0
- package/dist/events/game/game-table-turn-started.event.js +8 -0
- package/dist/events/game/game-table-turn-started.event.js.map +1 -0
- package/dist/events/game/game-table-wait.event.d.ts +4 -0
- package/dist/events/game/game-table-wait.event.d.ts.map +1 -0
- package/dist/events/game/game-table-wait.event.js +8 -0
- package/dist/events/game/game-table-wait.event.js.map +1 -0
- package/dist/events/game/game-table-waited.event.d.ts +4 -0
- package/dist/events/game/game-table-waited.event.d.ts.map +1 -0
- package/dist/events/game/game-table-waited.event.js +8 -0
- package/dist/events/game/game-table-waited.event.js.map +1 -0
- package/dist/events/index.d.ts +40 -0
- package/dist/events/index.d.ts.map +1 -0
- package/dist/events/index.js +82 -0
- package/dist/events/index.js.map +1 -0
- package/dist/events/ws/base-ws-event.d.ts +3 -0
- package/dist/events/ws/base-ws-event.d.ts.map +1 -0
- package/dist/events/ws/base-ws-event.js +7 -0
- package/dist/events/ws/base-ws-event.js.map +1 -0
- package/dist/events/ws/ws-event.d.ts +8 -0
- package/dist/events/ws/ws-event.d.ts.map +1 -0
- package/dist/events/ws/ws-event.enum.d.ts +6 -0
- package/dist/events/ws/ws-event.enum.d.ts.map +1 -0
- package/dist/events/ws/ws-event.enum.js +10 -0
- package/dist/events/ws/ws-event.enum.js.map +1 -0
- package/dist/events/ws/ws-event.js +14 -0
- package/dist/events/ws/ws-event.js.map +1 -0
- package/dist/exceptions/index.d.ts +4 -0
- package/dist/exceptions/index.d.ts.map +1 -0
- package/dist/exceptions/index.js +10 -0
- package/dist/exceptions/index.js.map +1 -0
- package/dist/exceptions/not-active-player-move.exception.d.ts +5 -0
- package/dist/exceptions/not-active-player-move.exception.d.ts.map +1 -0
- package/dist/exceptions/not-active-player-move.exception.js +13 -0
- package/dist/exceptions/not-active-player-move.exception.js.map +1 -0
- package/dist/exceptions/not-implemented.exception.d.ts +5 -0
- package/dist/exceptions/not-implemented.exception.d.ts.map +1 -0
- package/dist/exceptions/not-implemented.exception.js +13 -0
- package/dist/exceptions/not-implemented.exception.js.map +1 -0
- package/dist/exceptions/not-valid-player-move.exception.d.ts +5 -0
- package/dist/exceptions/not-valid-player-move.exception.d.ts.map +1 -0
- package/dist/exceptions/not-valid-player-move.exception.js +13 -0
- package/dist/exceptions/not-valid-player-move.exception.js.map +1 -0
- package/dist/exceptions/player-has-no-possible-move.exception.d.ts +5 -0
- package/dist/exceptions/player-has-no-possible-move.exception.d.ts.map +1 -0
- package/dist/exceptions/player-has-no-possible-move.exception.js +13 -0
- package/dist/exceptions/player-has-no-possible-move.exception.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/level-helper/base-game-level-helper.d.ts +16 -0
- package/dist/level-helper/base-game-level-helper.d.ts.map +1 -0
- package/dist/level-helper/base-game-level-helper.js +60 -0
- package/dist/level-helper/base-game-level-helper.js.map +1 -0
- package/dist/level-helper/experiences-amount.enum.d.ts +6 -0
- package/dist/level-helper/experiences-amount.enum.d.ts.map +1 -0
- package/dist/level-helper/experiences-amount.enum.js +10 -0
- package/dist/level-helper/experiences-amount.enum.js.map +1 -0
- package/dist/level-helper/experiences-level-edge.enum.d.ts +5 -0
- package/dist/level-helper/experiences-level-edge.enum.d.ts.map +1 -0
- package/dist/level-helper/experiences-level-edge.enum.js +9 -0
- package/dist/level-helper/experiences-level-edge.enum.js.map +1 -0
- package/dist/level-helper/experiences-level-rank.enum.d.ts +6 -0
- package/dist/level-helper/experiences-level-rank.enum.d.ts.map +1 -0
- package/dist/level-helper/experiences-level-rank.enum.js +10 -0
- package/dist/level-helper/experiences-level-rank.enum.js.map +1 -0
- package/dist/level-helper/index.d.ts +4 -0
- package/dist/level-helper/index.d.ts.map +1 -0
- package/dist/level-helper/index.js +10 -0
- package/dist/level-helper/index.js.map +1 -0
- package/dist/strategies/index.d.ts +4 -0
- package/dist/strategies/index.d.ts.map +1 -0
- package/dist/strategies/index.js +8 -0
- package/dist/strategies/index.js.map +1 -0
- package/dist/strategies/max-players-strategy.d.ts +6 -0
- package/dist/strategies/max-players-strategy.d.ts.map +1 -0
- package/dist/strategies/max-players-strategy.js +10 -0
- package/dist/strategies/max-players-strategy.js.map +1 -0
- package/dist/strategies/min-players-strategy.d.ts +6 -0
- package/dist/strategies/min-players-strategy.d.ts.map +1 -0
- package/dist/strategies/min-players-strategy.js +10 -0
- package/dist/strategies/min-players-strategy.js.map +1 -0
- package/dist/strategies/start-strategy-interface.d.ts +5 -0
- package/dist/strategies/start-strategy-interface.d.ts.map +1 -0
- package/dist/{base/base-game-state.type.js → strategies/start-strategy-interface.js} +1 -1
- package/dist/strategies/start-strategy-interface.js.map +1 -0
- package/dist/tests/just-black-jack/domain/black-jack-dealer.d.ts +1 -1
- package/dist/tests/just-black-jack/domain/black-jack-dealer.d.ts.map +1 -1
- package/dist/tests/just-black-jack/domain/black-jack-dealer.js +10 -2
- package/dist/tests/just-black-jack/domain/black-jack-dealer.js.map +1 -1
- package/dist/tests/just-black-jack/domain/black-jack-game-master.d.ts +14 -22
- package/dist/tests/just-black-jack/domain/black-jack-game-master.d.ts.map +1 -1
- package/dist/tests/just-black-jack/domain/black-jack-game-master.js +46 -61
- package/dist/tests/just-black-jack/domain/black-jack-game-master.js.map +1 -1
- package/dist/tests/just-black-jack/domain/black-jack-game-result-helper.d.ts +8 -0
- package/dist/tests/just-black-jack/domain/black-jack-game-result-helper.d.ts.map +1 -0
- package/dist/tests/just-black-jack/domain/black-jack-game-result-helper.js +16 -0
- package/dist/tests/just-black-jack/domain/black-jack-game-result-helper.js.map +1 -0
- package/dist/tests/just-black-jack/domain/black-jack-move-data.d.ts +2 -2
- package/dist/tests/just-black-jack/domain/black-jack-move-data.d.ts.map +1 -1
- package/dist/tests/just-black-jack/domain/black-jack-move-data.js +3 -2
- package/dist/tests/just-black-jack/domain/black-jack-move-data.js.map +1 -1
- package/dist/tests/just-black-jack/domain/black-jack-player-actions.enum.d.ts +5 -0
- package/dist/tests/just-black-jack/domain/black-jack-player-actions.enum.d.ts.map +1 -0
- package/dist/tests/just-black-jack/domain/black-jack-player-actions.enum.js +9 -0
- package/dist/tests/just-black-jack/domain/black-jack-player-actions.enum.js.map +1 -0
- package/dist/tests/just-black-jack/domain/black-jack-player.d.ts +6 -4
- package/dist/tests/just-black-jack/domain/black-jack-player.d.ts.map +1 -1
- package/dist/tests/just-black-jack/domain/black-jack-player.js +10 -7
- package/dist/tests/just-black-jack/domain/black-jack-player.js.map +1 -1
- package/dist/tests/just-black-jack/domain/moves/black-jack-move-factory.d.ts +7 -0
- package/dist/tests/just-black-jack/domain/moves/black-jack-move-factory.d.ts.map +1 -0
- package/dist/tests/just-black-jack/domain/moves/black-jack-move-factory.js +25 -0
- package/dist/tests/just-black-jack/domain/moves/black-jack-move-factory.js.map +1 -0
- package/dist/tests/just-black-jack/domain/moves/list/black-jack-player-move-finish-move.d.ts +6 -0
- package/dist/tests/just-black-jack/domain/moves/list/black-jack-player-move-finish-move.d.ts.map +1 -0
- package/dist/tests/just-black-jack/domain/moves/list/black-jack-player-move-finish-move.js +14 -0
- package/dist/tests/just-black-jack/domain/moves/list/black-jack-player-move-finish-move.js.map +1 -0
- package/dist/tests/just-black-jack/domain/moves/list/black-jack-player-move-get-card.d.ts +6 -0
- package/dist/tests/just-black-jack/domain/moves/list/black-jack-player-move-get-card.d.ts.map +1 -0
- package/dist/tests/just-black-jack/domain/moves/list/black-jack-player-move-get-card.js +14 -0
- package/dist/tests/just-black-jack/domain/moves/list/black-jack-player-move-get-card.js.map +1 -0
- package/dist/tests/just-black-jack/rooms/black-jack-simple-room.d.ts.map +1 -1
- package/dist/tests/just-black-jack/rooms/black-jack-simple-room.js +1 -2
- package/dist/tests/just-black-jack/rooms/black-jack-simple-room.js.map +1 -1
- package/dist/tests/just-black-jack/tests/black-jack-simple-room.test.js +240 -20
- package/dist/tests/just-black-jack/tests/black-jack-simple-room.test.js.map +1 -1
- package/dist/tests/just-black-jack/tests/common.d.ts +0 -6
- package/dist/tests/just-black-jack/tests/common.d.ts.map +1 -1
- package/dist/tests/just-black-jack/tests/common.js +19 -9
- package/dist/tests/just-black-jack/tests/common.js.map +1 -1
- package/dist/utils/circle-list.d.ts +9 -13
- package/dist/utils/circle-list.d.ts.map +1 -1
- package/dist/utils/circle-list.js +11 -20
- package/dist/utils/circle-list.js.map +1 -1
- package/dist/utils/tests/circle-list.test.d.ts +5 -1
- package/dist/utils/tests/circle-list.test.d.ts.map +1 -1
- package/dist/utils/tests/circle-list.test.js +21 -13
- package/dist/utils/tests/circle-list.test.js.map +1 -1
- package/dist/utils/timer.d.ts +2 -0
- package/dist/utils/timer.d.ts.map +1 -0
- package/dist/utils/timer.js +16 -0
- package/dist/utils/timer.js.map +1 -0
- package/package.json +3 -1
- package/src/base/base-figure-type.enum.ts +3 -0
- package/src/base/base-figure.ts +23 -0
- package/src/base/base-move-data.ts +7 -5
- package/src/base/base-player-move-factory.ts +18 -0
- package/src/base/base-player-move.ts +37 -0
- package/src/base/game-control-player-turn.ts +7 -1
- package/src/base/game-control-restart.ts +7 -1
- package/src/base/game-master.ts +525 -107
- package/src/base/game-player-connections-helper.ts +12 -20
- package/src/base/game-player-exited.ts +37 -0
- package/src/base/game-player.ts +230 -122
- package/src/base/game-result-equal-helper.ts +17 -0
- package/src/base/game-result-helper.ts +36 -0
- package/src/base/game-result-rating-helper.ts +44 -0
- package/src/base/game-room.ts +105 -18
- package/src/base/game-round-history-item.enum.ts +6 -0
- package/src/base/game-round-history-item.ts +110 -0
- package/src/base/game-round.ts +56 -10
- package/src/base/game-state-machine.ts +10 -0
- package/src/base/game-table-seat.ts +57 -6
- package/src/base/game-table-seats.ts +14 -29
- package/src/base/game-table.ts +92 -59
- package/src/base/index.ts +16 -5
- package/src/base-rooms/simple-room.ts +14 -12
- package/src/base-rooms/tournament-state.ts +1 -1
- package/src/cards-game/cards/card.ts +50 -28
- package/src/cards-game/cards-deck/cards-deck-type.enum.ts +8 -0
- package/src/cards-game/cards-deck/cards-deck.ts +105 -0
- package/src/cards-game/cards-deck/types/deck12.ts +32 -0
- package/src/cards-game/cards-deck/types/deck24.ts +56 -0
- package/src/cards-game/{cards → cards-deck/types}/deck36.ts +1 -1
- package/src/cards-game/{cards → cards-deck/types}/deck52.ts +1 -1
- package/src/cards-game/cards-game-master.ts +64 -27
- package/src/cards-game/cards-pairs/card-pair-slot.ts +73 -0
- package/src/cards-game/cards-pairs/card-pair-slots.ts +104 -0
- package/src/cards-game/cards-player.ts +68 -20
- package/src/cards-game/index.ts +8 -2
- package/src/events/base/base-game.event.ts +1 -0
- package/src/events/base/game-player.event.ts +26 -0
- package/src/events/base/game-room.event.ts +16 -0
- package/src/events/base/game-table.event.ts +16 -0
- package/src/events/game/game-player-activate.event.ts +3 -0
- package/src/events/game/game-player-activated.event.ts +3 -0
- package/src/events/game/game-player-deactivate.event.ts +3 -0
- package/src/events/game/game-player-deactivated.event.ts +3 -0
- package/src/events/game/game-player-enter-the-table.event.ts +3 -0
- package/src/events/game/game-player-entered-the-table.event.ts +3 -0
- package/src/events/game/game-player-exit-the-table.event.ts +3 -0
- package/src/events/game/game-player-exited-the-table.event.ts +3 -0
- package/src/events/game/game-player-kick-out-the-table.event.ts +3 -0
- package/src/events/game/game-player-kicked-out-the-table.event.ts +3 -0
- package/src/events/game/game-player-move-on-the-table.event.ts +3 -0
- package/src/events/game/game-player-moved-on-the-table.event.ts +3 -0
- package/src/events/game/game-player-turn-timer-executed.event.ts +3 -0
- package/src/events/game/game-player-turn-timer-set-off.event.ts +3 -0
- package/src/events/game/game-player-turn-timer-set-on.event.ts +3 -0
- package/src/events/game/game-player-watch-the-table.event.ts +3 -0
- package/src/events/game/game-player-watched-the-table.event.ts +3 -0
- package/src/events/game/game-room-room-created.event.ts +3 -0
- package/src/events/game/game-table-finish.event.ts +3 -0
- package/src/events/game/game-table-finished.event.ts +3 -0
- package/src/events/game/game-table-master-created.event.ts +3 -0
- package/src/events/game/game-table-restart-timer-executed.event.ts +3 -0
- package/src/events/game/game-table-restart-timer-set-on.event.ts +3 -0
- package/src/events/game/game-table-restart.event.ts +3 -0
- package/src/events/game/game-table-restarted.event.ts +3 -0
- package/src/events/game/game-table-start.event.ts +3 -0
- package/src/events/game/game-table-started.event.ts +3 -0
- package/src/events/game/game-table-turn-finish.event.ts +3 -0
- package/src/events/game/game-table-turn-finished.event.ts +3 -0
- package/src/events/game/game-table-turn-start.event.ts +3 -0
- package/src/events/game/game-table-turn-started.event.ts +3 -0
- package/src/events/game/game-table-wait.event.ts +3 -0
- package/src/events/game/game-table-waited.event.ts +3 -0
- package/src/events/index.ts +40 -0
- package/src/events/ws/base-ws-event.ts +1 -0
- package/src/events/ws/ws-event.enum.ts +5 -0
- package/src/events/ws/ws-event.ts +14 -0
- package/src/exceptions/index.ts +3 -0
- package/src/exceptions/not-active-player-move.exception.ts +10 -0
- package/src/exceptions/not-implemented.exception.ts +10 -0
- package/src/exceptions/not-valid-player-move.exception.ts +10 -0
- package/src/exceptions/player-has-no-possible-move.exception.ts +10 -0
- package/src/index.ts +3 -1
- package/src/level-helper/base-game-level-helper.ts +74 -0
- package/src/level-helper/experiences-amount.enum.ts +5 -0
- package/src/level-helper/experiences-level-edge.enum.ts +4 -0
- package/src/level-helper/experiences-level-rank.enum.ts +5 -0
- package/src/level-helper/index.ts +3 -0
- package/src/strategies/index.ts +3 -0
- package/src/strategies/max-players-strategy.ts +8 -0
- package/src/strategies/min-players-strategy.ts +8 -0
- package/src/strategies/start-strategy-interface.ts +5 -0
- package/src/tests/just-black-jack/domain/black-jack-dealer.ts +15 -10
- package/src/tests/just-black-jack/domain/black-jack-game-master.ts +53 -73
- package/src/tests/just-black-jack/domain/black-jack-game-result-helper.ts +15 -0
- package/src/tests/just-black-jack/domain/black-jack-move-data.ts +4 -3
- package/src/tests/just-black-jack/domain/black-jack-player-actions.enum.ts +4 -0
- package/src/tests/just-black-jack/domain/black-jack-player.ts +19 -19
- package/src/tests/just-black-jack/domain/moves/black-jack-move-factory.ts +24 -0
- package/src/tests/just-black-jack/domain/moves/list/black-jack-player-move-finish-move.ts +12 -0
- package/src/tests/just-black-jack/domain/moves/list/black-jack-player-move-get-card.ts +13 -0
- package/src/tests/just-black-jack/rooms/black-jack-simple-room.ts +3 -4
- package/src/tests/just-black-jack/tests/black-jack-simple-room.test.ts +392 -75
- package/src/tests/just-black-jack/tests/common.ts +20 -56
- package/src/utils/circle-list.ts +27 -39
- package/src/utils/tests/circle-list.test.ts +14 -9
- package/src/utils/timer.ts +14 -0
- package/dist/base/base-game-state.type.d.ts +0 -8
- package/dist/base/base-game-state.type.d.ts.map +0 -1
- package/dist/base/base-game-state.type.js.map +0 -1
- package/dist/base/game-player-move.d.ts +0 -13
- package/dist/base/game-player-move.d.ts.map +0 -1
- package/dist/base/game-player-move.js +0 -28
- package/dist/base/game-player-move.js.map +0 -1
- package/dist/base/game-summary-result.d.ts +0 -3
- package/dist/base/game-summary-result.d.ts.map +0 -1
- package/dist/base/game-summary-result.js +0 -7
- package/dist/base/game-summary-result.js.map +0 -1
- package/dist/cards-game/cards/deck36.d.ts +0 -2
- package/dist/cards-game/cards/deck36.d.ts.map +0 -1
- package/dist/cards-game/cards/deck36.js.map +0 -1
- package/dist/cards-game/cards/deck52.d.ts +0 -2
- package/dist/cards-game/cards/deck52.d.ts.map +0 -1
- package/dist/cards-game/cards/deck52.js.map +0 -1
- package/src/base/base-game-state.type.ts +0 -7
- package/src/base/game-player-move.ts +0 -33
- package/src/base/game-summary-result.ts +0 -3
package/src/base/game-table.ts
CHANGED
|
@@ -1,11 +1,13 @@
|
|
|
1
|
-
import { compact, first,
|
|
1
|
+
import { compact, first, slice } from 'lodash';
|
|
2
2
|
|
|
3
3
|
import { GamePlayer } from './game-player';
|
|
4
4
|
import { GameTableSeats } from './game-table-seats';
|
|
5
|
+
import { GameRoom } from './game-room';
|
|
6
|
+
import { GamePlayerExited } from './game-player-exited';
|
|
5
7
|
import { GameMaster } from './game-master';
|
|
6
8
|
|
|
7
|
-
export
|
|
8
|
-
|
|
9
|
+
export interface GameTableConfig {
|
|
10
|
+
room: GameRoom;
|
|
9
11
|
number: number;
|
|
10
12
|
tableSize: number;
|
|
11
13
|
bet: number;
|
|
@@ -14,12 +16,15 @@ export type GameTableConfig = {
|
|
|
14
16
|
subtitle: Record<string, string>;
|
|
15
17
|
turnTimeout: number;
|
|
16
18
|
restartTimeout: number;
|
|
17
|
-
onRoomFinishRound: (table: GameTable) => void
|
|
18
|
-
onRoomRestartRound: (table: GameTable) => void
|
|
19
19
|
}
|
|
20
20
|
|
|
21
21
|
export class GameTable {
|
|
22
|
-
private readonly
|
|
22
|
+
private readonly room: GameRoom;
|
|
23
|
+
private readonly watchers: Map<string, GamePlayer>;
|
|
24
|
+
private readonly tableQueue: Map<string, GamePlayer>;
|
|
25
|
+
public readonly seats: GameTableSeats;
|
|
26
|
+
private readonly exitedPlayers: Map<string, GamePlayerExited>;
|
|
27
|
+
|
|
23
28
|
private readonly number: number;
|
|
24
29
|
private readonly tableSize: number;
|
|
25
30
|
private readonly bet: number;
|
|
@@ -27,19 +32,12 @@ export class GameTable {
|
|
|
27
32
|
private readonly subtitle: Record<string, string>;
|
|
28
33
|
private readonly turnTimeout: number;
|
|
29
34
|
private readonly restartTimeout: number;
|
|
30
|
-
private readonly queue: Array<GamePlayer>;
|
|
31
|
-
private readonly watchers: Array<GamePlayer>;
|
|
32
|
-
public readonly seats: GameTableSeats;
|
|
33
|
-
public master: GameMaster;
|
|
34
|
-
public onRoomFinishRound: (table: GameTable) => void;
|
|
35
|
-
public onRoomRestartRound: (table: GameTable) => void;
|
|
36
35
|
|
|
37
36
|
constructor (config: GameTableConfig) {
|
|
38
|
-
this.
|
|
39
|
-
this.watchers =
|
|
40
|
-
this.
|
|
41
|
-
this.
|
|
42
|
-
this.roomId = config.roomId;
|
|
37
|
+
this.tableQueue = new Map();
|
|
38
|
+
this.watchers = new Map();
|
|
39
|
+
this.exitedPlayers = new Map();
|
|
40
|
+
this.room = config.room;
|
|
43
41
|
this.number = config.number;
|
|
44
42
|
this.tableSize = config.tableSize;
|
|
45
43
|
this.bet = config.bet;
|
|
@@ -50,12 +48,16 @@ export class GameTable {
|
|
|
50
48
|
this.seats = new GameTableSeats(this.getTableSize());
|
|
51
49
|
}
|
|
52
50
|
|
|
51
|
+
getMaster<T extends GameMaster> () {
|
|
52
|
+
return this.room.getMasterById(this.getId()) as T;
|
|
53
|
+
}
|
|
54
|
+
|
|
53
55
|
getRoomId () {
|
|
54
|
-
return this.
|
|
56
|
+
return this.room.getId();
|
|
55
57
|
}
|
|
56
58
|
|
|
57
59
|
getId () {
|
|
58
|
-
return `${this.
|
|
60
|
+
return `${this.getRoomId()}_${this.number}`;
|
|
59
61
|
}
|
|
60
62
|
|
|
61
63
|
getNumber (): number {
|
|
@@ -90,11 +92,23 @@ export class GameTable {
|
|
|
90
92
|
return this.restartTimeout;
|
|
91
93
|
}
|
|
92
94
|
|
|
95
|
+
getPlayers<T extends GamePlayer> (): Array<T> {
|
|
96
|
+
return compact(this.seats.getSeats().map((seat) => seat.getPlayer())) as Array<T>;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
getPlayerById (playerId: string): GamePlayer | undefined {
|
|
100
|
+
return this.getPlayers().find((item) => item.id === playerId);
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
getPlayerByColor (color: number): GamePlayer | undefined {
|
|
104
|
+
return this.getPlayers().find((item) => item.color === color);
|
|
105
|
+
}
|
|
106
|
+
|
|
93
107
|
addPlayerToSeat (player: GamePlayer): boolean {
|
|
94
108
|
const freeSeat = this.seats.findFreeSeat();
|
|
95
109
|
if (freeSeat) {
|
|
96
110
|
freeSeat.addPlayer(player);
|
|
97
|
-
player.
|
|
111
|
+
player.becomePlayer(this.room, this, freeSeat);
|
|
98
112
|
return true;
|
|
99
113
|
}
|
|
100
114
|
|
|
@@ -102,23 +116,15 @@ export class GameTable {
|
|
|
102
116
|
}
|
|
103
117
|
|
|
104
118
|
removePlayerFromSeat (player: GamePlayer): void {
|
|
105
|
-
const seat = this.seats.
|
|
119
|
+
const seat = this.seats.getSeatByNumber(player.seatNumber);
|
|
106
120
|
if (seat) {
|
|
107
121
|
seat.removePlayer();
|
|
108
122
|
player.quit();
|
|
109
123
|
}
|
|
110
124
|
}
|
|
111
125
|
|
|
112
|
-
getPlayers (): Array<GamePlayer> {
|
|
113
|
-
return compact(this.seats.getSeats().map((seat) => seat.getPlayer()));
|
|
114
|
-
}
|
|
115
|
-
|
|
116
|
-
getPlayerByColor (color: number): GamePlayer | undefined {
|
|
117
|
-
return this.getPlayers().find((item) => item.getColor() === color);
|
|
118
|
-
}
|
|
119
|
-
|
|
120
126
|
getPlayersWithQueue (): Array<GamePlayer> {
|
|
121
|
-
return [...this.getPlayers(), ...this.
|
|
127
|
+
return [...this.getPlayers(), ...this.getTableQueue()];
|
|
122
128
|
}
|
|
123
129
|
|
|
124
130
|
getLastPlayer (): GamePlayer | null {
|
|
@@ -137,54 +143,89 @@ export class GameTable {
|
|
|
137
143
|
return this.getPlayers().filter((player) => player.hasEmptyStack());
|
|
138
144
|
}
|
|
139
145
|
|
|
140
|
-
|
|
141
|
-
return this.
|
|
146
|
+
getTableQueue (): Array<GamePlayer> {
|
|
147
|
+
return Array.from(this.tableQueue.values());
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
getTableQueuerById (playerId: string): GamePlayer | undefined {
|
|
151
|
+
return this.tableQueue.get(playerId);
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
moveUsersFromQueueToSeats () {
|
|
155
|
+
for (let i = 0; i < this.getTableQueue().length; i++) {
|
|
156
|
+
const queuedUser = this.getTableQueue()[i];
|
|
157
|
+
const freeSeat = this.seats.findFreeSeat();
|
|
158
|
+
|
|
159
|
+
if (!queuedUser.hasOpenConnection()) {
|
|
160
|
+
this.removePlayerFromQueue(queuedUser);
|
|
161
|
+
} else if (freeSeat) {
|
|
162
|
+
freeSeat.addPlayer(queuedUser);
|
|
163
|
+
queuedUser.becomePlayer(this.room, this, freeSeat);
|
|
164
|
+
i -= 1;
|
|
165
|
+
|
|
166
|
+
this.removePlayerFromQueue(queuedUser);
|
|
167
|
+
} else {
|
|
168
|
+
break;
|
|
169
|
+
}
|
|
170
|
+
}
|
|
142
171
|
}
|
|
143
172
|
|
|
144
|
-
|
|
145
|
-
return slice(this.
|
|
173
|
+
getRedundantTableQueuers (): Array<GamePlayer> {
|
|
174
|
+
return slice(this.getTableQueue(), this.getTableSize() - this.getPlayers().length - 1);
|
|
146
175
|
}
|
|
147
176
|
|
|
148
177
|
addPlayerToQueue (player: GamePlayer): void {
|
|
149
|
-
this.
|
|
150
|
-
player.
|
|
178
|
+
this.tableQueue.set(player.id, player);
|
|
179
|
+
player.becomeTableQueuer(this.room, this);
|
|
151
180
|
}
|
|
152
181
|
|
|
153
182
|
removePlayerFromQueue (player: GamePlayer): void {
|
|
154
|
-
|
|
183
|
+
this.tableQueue.delete(player.id);
|
|
155
184
|
player.quit();
|
|
156
185
|
}
|
|
157
186
|
|
|
158
|
-
|
|
159
|
-
return
|
|
187
|
+
getWatchers (): Array<GamePlayer> {
|
|
188
|
+
return Array.from(this.watchers.values());
|
|
160
189
|
}
|
|
161
190
|
|
|
162
|
-
|
|
163
|
-
return this.watchers;
|
|
191
|
+
getWatcherById (playerId: string): GamePlayer | undefined {
|
|
192
|
+
return this.watchers.get(playerId);
|
|
164
193
|
}
|
|
165
194
|
|
|
166
195
|
addPlayerToWatchers (player: GamePlayer): void {
|
|
167
|
-
this.watchers.
|
|
168
|
-
player.
|
|
196
|
+
this.watchers.set(player.id, player);
|
|
197
|
+
player.becomeWatcher(this.room, this);
|
|
169
198
|
}
|
|
170
199
|
|
|
171
200
|
removePlayerFromWatchers (player: GamePlayer): void {
|
|
172
|
-
|
|
201
|
+
this.watchers.delete(player.id);
|
|
173
202
|
player.quit();
|
|
174
203
|
}
|
|
175
204
|
|
|
176
|
-
|
|
177
|
-
return !!this.getWatchers().find((watcher) => watcher.getId() === PlayerId);
|
|
178
|
-
}
|
|
179
|
-
|
|
180
|
-
getAllWatchers () {
|
|
205
|
+
getAllObservers (): Array<GamePlayer> {
|
|
181
206
|
return [
|
|
182
|
-
...this.getWatchers(),
|
|
183
|
-
...this.getQueue(),
|
|
184
207
|
...this.getPlayers(),
|
|
208
|
+
...this.getTableQueue(),
|
|
209
|
+
...this.getWatchers(),
|
|
185
210
|
];
|
|
186
211
|
}
|
|
187
212
|
|
|
213
|
+
getExitedPlayers (): Array<GamePlayerExited> {
|
|
214
|
+
return Array.from(this.exitedPlayers.values());
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
addPlayerToExited (player: GamePlayer) {
|
|
218
|
+
this.exitedPlayers.set(player.id, new GamePlayerExited(player));
|
|
219
|
+
}
|
|
220
|
+
|
|
221
|
+
clearExitedPlayers (): void {
|
|
222
|
+
this.exitedPlayers.clear();
|
|
223
|
+
}
|
|
224
|
+
|
|
225
|
+
getAllOtherObservers (player: GamePlayer): Array<GamePlayer> {
|
|
226
|
+
return this.getAllObservers().filter((item) => item.id !== player.id);
|
|
227
|
+
}
|
|
228
|
+
|
|
188
229
|
isFull (): boolean {
|
|
189
230
|
return !this.seats.findFreeSeat();
|
|
190
231
|
}
|
|
@@ -196,13 +237,5 @@ export class GameTable {
|
|
|
196
237
|
hasSeats (): boolean {
|
|
197
238
|
return !!this.seats.findFreeSeat();
|
|
198
239
|
}
|
|
199
|
-
|
|
200
|
-
onFinishRound () {
|
|
201
|
-
this.onRoomFinishRound(this);
|
|
202
|
-
}
|
|
203
|
-
|
|
204
|
-
onRestartRound () {
|
|
205
|
-
this.onRoomRestartRound(this);
|
|
206
|
-
}
|
|
207
240
|
}
|
|
208
241
|
|
package/src/base/index.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { GameControlPlayerTurn } from './game-control-player-turn';
|
|
2
2
|
import { GameControlRestart } from './game-control-restart';
|
|
3
3
|
import { GameMaster } from './game-master';
|
|
4
|
-
import { GamePlayer } from './game-player';
|
|
5
|
-
import {
|
|
4
|
+
import { GamePlayer, IGamePlayerConfig } from './game-player';
|
|
5
|
+
import { GamePlayerExited } from './game-player-exited';
|
|
6
6
|
import { GameRoom, GameRoomConfig } from './game-room';
|
|
7
7
|
import { GameRound } from './game-round';
|
|
8
8
|
import { GameStateMachine, StateMachineConfig } from './game-state-machine';
|
|
@@ -10,15 +10,21 @@ import { GameTable, GameTableConfig } from './game-table';
|
|
|
10
10
|
import { GameTableSeat } from './game-table-seat';
|
|
11
11
|
import { GameTableSeats } from './game-table-seats';
|
|
12
12
|
import { StandardGameState } from './standard-game-state';
|
|
13
|
-
import {
|
|
13
|
+
import { GameRoundHistoryItem } from './game-round-history-item';
|
|
14
14
|
import { BaseMoveData } from './base-move-data';
|
|
15
|
+
import { BasePlayerMove } from './base-player-move';
|
|
16
|
+
import { BasePlayerMoveFactory } from './base-player-move-factory';
|
|
17
|
+
import { GameResultHelper } from './game-result-helper';
|
|
18
|
+
import { GameResultEqualHelper } from './game-result-equal-helper';
|
|
19
|
+
import { GameResultRatingHelper } from './game-result-rating-helper';
|
|
15
20
|
|
|
16
21
|
export {
|
|
17
22
|
GameControlPlayerTurn,
|
|
18
23
|
GameControlRestart,
|
|
19
24
|
GameMaster,
|
|
20
25
|
GamePlayer,
|
|
21
|
-
|
|
26
|
+
IGamePlayerConfig,
|
|
27
|
+
GamePlayerExited,
|
|
22
28
|
GameRoom,
|
|
23
29
|
GameRound,
|
|
24
30
|
GameStateMachine,
|
|
@@ -29,6 +35,11 @@ export {
|
|
|
29
35
|
GameTableSeats,
|
|
30
36
|
GameRoomConfig,
|
|
31
37
|
StandardGameState,
|
|
32
|
-
|
|
38
|
+
GameRoundHistoryItem,
|
|
33
39
|
BaseMoveData,
|
|
40
|
+
BasePlayerMove,
|
|
41
|
+
BasePlayerMoveFactory,
|
|
42
|
+
GameResultHelper,
|
|
43
|
+
GameResultEqualHelper,
|
|
44
|
+
GameResultRatingHelper,
|
|
34
45
|
}
|
|
@@ -1,27 +1,29 @@
|
|
|
1
|
+
import { IBaseMoveData } from 'jp.common.models';
|
|
2
|
+
|
|
1
3
|
import { GamePlayer, GameRoom } from '../base';
|
|
2
|
-
import { BaseMoveData } from '../base/base-move-data';
|
|
3
4
|
|
|
4
5
|
export abstract class SimpleRoom extends GameRoom {
|
|
5
|
-
handleWatchTheTable
|
|
6
|
-
return this.getMasterById(tableId)?.watchTheTable
|
|
6
|
+
handleWatchTheTable(player: GamePlayer, tableId: string): void {
|
|
7
|
+
return this.getMasterById(tableId)?.watchTheTable(player);
|
|
7
8
|
}
|
|
8
9
|
|
|
9
|
-
handleEnterTheTable
|
|
10
|
-
return this.getMasterById(tableId)?.enterTheTable
|
|
10
|
+
handleEnterTheTable (player: GamePlayer, tableId: string): void {
|
|
11
|
+
return this.getMasterById(tableId)?.enterTheTable(player);
|
|
11
12
|
}
|
|
12
13
|
|
|
13
|
-
handleExitTheTable
|
|
14
|
-
return this.getMasterById(tableId)?.exitTheTable
|
|
14
|
+
handleExitTheTable (player: GamePlayer, tableId: string): void {
|
|
15
|
+
return this.getMasterById(tableId)?.exitTheTable(player);
|
|
15
16
|
}
|
|
16
17
|
|
|
17
|
-
handleMoveOnTheTable
|
|
18
|
-
return this.getMasterById(tableId)?.
|
|
18
|
+
handleMoveOnTheTable (player: GamePlayer, tableId: string, moveData: IBaseMoveData): void {
|
|
19
|
+
return this.getMasterById(tableId)?.moveOnTheTable(player, moveData);
|
|
19
20
|
}
|
|
20
21
|
|
|
21
|
-
|
|
22
|
-
|
|
22
|
+
handleRestartTable (tableId: string): void {
|
|
23
|
+
return this.restartTable(tableId);
|
|
23
24
|
}
|
|
24
25
|
|
|
25
|
-
|
|
26
|
+
handleTechBreakOn (): void {
|
|
27
|
+
this.techBreakOn();
|
|
26
28
|
}
|
|
27
29
|
}
|
|
@@ -60,7 +60,7 @@ export class TournamentState extends GameStateMachine {
|
|
|
60
60
|
return this.getCurrentState() === TournamentStateMachineStates.STATE_IN_PROGRESS;
|
|
61
61
|
}
|
|
62
62
|
|
|
63
|
-
|
|
63
|
+
isFinish () {
|
|
64
64
|
return this.getCurrentState() === TournamentStateMachineStates.STATE_FINISHED;
|
|
65
65
|
}
|
|
66
66
|
|
|
@@ -1,60 +1,82 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
rank: number;
|
|
4
|
-
suit: string;
|
|
5
|
-
isDisable: boolean;
|
|
6
|
-
}
|
|
1
|
+
import { BaseFigure } from '../../base/base-figure';
|
|
2
|
+
import { BaseFigureTypeEnum } from '../../base/base-figure-type.enum';
|
|
7
3
|
|
|
8
|
-
export class Card {
|
|
9
|
-
private readonly _id: number;
|
|
4
|
+
export class Card extends BaseFigure {
|
|
10
5
|
private readonly _rank: number;
|
|
11
6
|
private readonly _suit: string;
|
|
12
7
|
private _isDisable: boolean;
|
|
8
|
+
private _targets: Array<number>;
|
|
13
9
|
|
|
14
10
|
constructor (id: number, rank: number, suit: string) {
|
|
15
|
-
|
|
11
|
+
super(id, BaseFigureTypeEnum.CARD);
|
|
12
|
+
|
|
16
13
|
this._rank = rank;
|
|
17
14
|
this._suit = suit;
|
|
18
15
|
this._isDisable = false;
|
|
16
|
+
this._targets = [];
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
get rank () {
|
|
20
|
+
return this._rank;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
get suit () {
|
|
24
|
+
return this._suit;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
get isDisable () {
|
|
28
|
+
return this._isDisable;
|
|
19
29
|
}
|
|
20
30
|
|
|
21
|
-
|
|
22
|
-
return this.
|
|
31
|
+
get isEnable () {
|
|
32
|
+
return !this._isDisable;
|
|
23
33
|
}
|
|
24
34
|
|
|
25
|
-
|
|
35
|
+
get targets () {
|
|
36
|
+
return this._targets;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
getRank () {
|
|
26
40
|
return this._rank;
|
|
27
41
|
}
|
|
28
42
|
|
|
29
|
-
|
|
43
|
+
getSuit () {
|
|
30
44
|
return this._suit;
|
|
31
45
|
}
|
|
32
46
|
|
|
33
|
-
|
|
47
|
+
hasSameSuit (suit: string) {
|
|
48
|
+
return this._suit === suit;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
getIsDisable () {
|
|
34
52
|
return this._isDisable;
|
|
35
53
|
}
|
|
36
54
|
|
|
37
|
-
|
|
55
|
+
disable () {
|
|
38
56
|
this._isDisable = true;
|
|
39
57
|
}
|
|
40
58
|
|
|
41
|
-
|
|
59
|
+
enable () {
|
|
42
60
|
this._isDisable = false;
|
|
43
61
|
}
|
|
44
62
|
|
|
45
|
-
|
|
46
|
-
return
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
63
|
+
getTargets () {
|
|
64
|
+
return this._targets;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
setTarget (target: number) {
|
|
68
|
+
this._targets = [target];
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
setTargets (targets: Array<number>) {
|
|
72
|
+
this._targets = targets;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
clearTargets () {
|
|
76
|
+
this._targets = [];
|
|
52
77
|
}
|
|
53
78
|
|
|
54
|
-
|
|
55
|
-
return {
|
|
56
|
-
rank: this.getRank(),
|
|
57
|
-
suit: this.getSuit(),
|
|
58
|
-
}
|
|
79
|
+
getName (): string {
|
|
80
|
+
return `${this._suit}_${this._rank}`;
|
|
59
81
|
}
|
|
60
82
|
}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
import { cloneDeep, groupBy, maxBy, minBy, sortBy, sumBy, uniqBy } from 'lodash';
|
|
2
|
+
|
|
3
|
+
import { superShuffle } from '../../utils';
|
|
4
|
+
|
|
5
|
+
import { Card } from '../cards/card';
|
|
6
|
+
import { deck12 } from './types/deck12';
|
|
7
|
+
import { deck24 } from './types/deck24';
|
|
8
|
+
import { deck36 } from './types/deck36';
|
|
9
|
+
import { deck52 } from './types/deck52';
|
|
10
|
+
import { CardsDeckTypeEnum } from './cards-deck-type.enum';
|
|
11
|
+
|
|
12
|
+
export class CardsDeck {
|
|
13
|
+
private _cards: Array<Card>;
|
|
14
|
+
|
|
15
|
+
constructor (cards: Array<Card>) {
|
|
16
|
+
this._cards = cards;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
static createFromDeckType (deckType: string) {
|
|
20
|
+
switch (deckType) {
|
|
21
|
+
case CardsDeckTypeEnum._12: {
|
|
22
|
+
return new CardsDeck(cloneDeep(deck12));
|
|
23
|
+
}
|
|
24
|
+
case CardsDeckTypeEnum._24: {
|
|
25
|
+
return new CardsDeck(cloneDeep(deck24));
|
|
26
|
+
}
|
|
27
|
+
case CardsDeckTypeEnum._36: {
|
|
28
|
+
return new CardsDeck(cloneDeep(deck36));
|
|
29
|
+
}
|
|
30
|
+
default: {
|
|
31
|
+
return new CardsDeck(cloneDeep(deck52));
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
get cards () {
|
|
37
|
+
return this._cards;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
shuffle () {
|
|
41
|
+
this._cards = superShuffle(this._cards);
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
takeCardFromTop () {
|
|
45
|
+
return this._cards.pop();
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
pushCardToDeck (card: Card, position: number) {
|
|
49
|
+
this._cards.splice(position, 0, card);
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
pushCardToBottom (card: Card) {
|
|
53
|
+
this.pushCardToDeck(card, 0);
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
isEmpty () {
|
|
57
|
+
return this._cards.length === 0;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
sortByRank (): CardsDeck {
|
|
61
|
+
this._cards = sortBy(this._cards, (card) => card.rank);
|
|
62
|
+
|
|
63
|
+
return this;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
sortBySuit (): CardsDeck {
|
|
67
|
+
this._cards = sortBy(this._cards, (card) => card.suit);
|
|
68
|
+
|
|
69
|
+
return this;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
sortCardsByEnabled (): CardsDeck {
|
|
73
|
+
this._cards = sortBy(this._cards, (item) => item.isEnable).reverse();
|
|
74
|
+
|
|
75
|
+
return this;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
groupByRank (): Record<number, Array<Card>> {
|
|
79
|
+
return groupBy(this._cards, (card) => card.rank);
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
groupBySuit (): Record<string, Array<Card>> {
|
|
83
|
+
return groupBy(this._cards, (card) => card.suit);
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
groupByEnabled (): Record<string, Array<Card>> {
|
|
87
|
+
return groupBy(this._cards, (card) => card.isEnable);
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
minByRank (): Card | undefined {
|
|
91
|
+
return minBy(this._cards, (card) => card.rank);
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
maxByRank (): Card | undefined {
|
|
95
|
+
return maxBy(this._cards, (card) => card.rank);
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
uniqByRank (): Array<Card> {
|
|
99
|
+
return uniqBy(this._cards, (card) => card.rank);
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
sumByRank (): number {
|
|
103
|
+
return sumBy(this._cards, (card) => card.rank);
|
|
104
|
+
}
|
|
105
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import {
|
|
2
|
+
club_ace,
|
|
3
|
+
club_king,
|
|
4
|
+
club_queen,
|
|
5
|
+
diamond_ace,
|
|
6
|
+
diamond_king,
|
|
7
|
+
diamond_queen,
|
|
8
|
+
heart_ace,
|
|
9
|
+
heart_king,
|
|
10
|
+
heart_queen,
|
|
11
|
+
spade_queen,
|
|
12
|
+
spade_king,
|
|
13
|
+
spade_ace,
|
|
14
|
+
} from '../../cards/cards';
|
|
15
|
+
|
|
16
|
+
export const deck12 = [
|
|
17
|
+
heart_queen,
|
|
18
|
+
heart_king,
|
|
19
|
+
heart_ace,
|
|
20
|
+
|
|
21
|
+
diamond_queen,
|
|
22
|
+
diamond_king,
|
|
23
|
+
diamond_ace,
|
|
24
|
+
|
|
25
|
+
club_queen,
|
|
26
|
+
club_king,
|
|
27
|
+
club_ace,
|
|
28
|
+
|
|
29
|
+
spade_queen,
|
|
30
|
+
spade_king,
|
|
31
|
+
spade_ace,
|
|
32
|
+
];
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import {
|
|
2
|
+
club_9,
|
|
3
|
+
club_10,
|
|
4
|
+
club_ace,
|
|
5
|
+
club_jack,
|
|
6
|
+
club_king,
|
|
7
|
+
club_queen,
|
|
8
|
+
diamond_9,
|
|
9
|
+
diamond_10,
|
|
10
|
+
diamond_ace,
|
|
11
|
+
diamond_jack,
|
|
12
|
+
diamond_king,
|
|
13
|
+
diamond_queen,
|
|
14
|
+
heart_9,
|
|
15
|
+
heart_10,
|
|
16
|
+
heart_ace,
|
|
17
|
+
heart_jack,
|
|
18
|
+
heart_king,
|
|
19
|
+
heart_queen,
|
|
20
|
+
spade_9,
|
|
21
|
+
spade_10,
|
|
22
|
+
spade_queen,
|
|
23
|
+
spade_jack,
|
|
24
|
+
spade_king,
|
|
25
|
+
spade_ace,
|
|
26
|
+
} from '../../cards/cards';
|
|
27
|
+
|
|
28
|
+
export const deck24 = [
|
|
29
|
+
heart_9,
|
|
30
|
+
heart_10,
|
|
31
|
+
heart_jack,
|
|
32
|
+
heart_queen,
|
|
33
|
+
heart_king,
|
|
34
|
+
heart_ace,
|
|
35
|
+
|
|
36
|
+
diamond_9,
|
|
37
|
+
diamond_10,
|
|
38
|
+
diamond_jack,
|
|
39
|
+
diamond_queen,
|
|
40
|
+
diamond_king,
|
|
41
|
+
diamond_ace,
|
|
42
|
+
|
|
43
|
+
club_9,
|
|
44
|
+
club_10,
|
|
45
|
+
club_jack,
|
|
46
|
+
club_queen,
|
|
47
|
+
club_king,
|
|
48
|
+
club_ace,
|
|
49
|
+
|
|
50
|
+
spade_9,
|
|
51
|
+
spade_10,
|
|
52
|
+
spade_jack,
|
|
53
|
+
spade_queen,
|
|
54
|
+
spade_king,
|
|
55
|
+
spade_ace,
|
|
56
|
+
];
|