-
Refactor communication via WebSocket/STOMP to a new (outgoing) adapter
-
Start Hex Board implementation
- Game start: both players are on the first hex, able to query where a player is
- When event for EXIT condition for current hex is received, move player to next hex
- [ ]
-
Turn tracker
- Once THREE (3) cards are PLAYED or DISCARDED, that player's turn is over, except...
- ...except for TECH DEBT card situations
-
!! Fix the game.start() problem, probably should be responsibility of the GameFactory as tests don't always create games that were correctly initialized.
-
Extract player map from Game (primitive obsession)
-
Remove lombok from core domain code
-
Discard from Play area: cards go to Deck Discard Pile
-
Multiple players can play
- Identify myself with my Name (get a player ID)
- Display game from player's POV
- My cards AND Opponent's In-Play
- Actions happen with player's ID
- Playing attack card ("Code Bloat", "Can't Assert That") goes to OPPONENT'S In-Play area
-
Immediate use card: Refactor
-
Run Tests Results card: show modal of card from Results deck
- TestResultsCard
- TestResultsCardFactory
- TestResultsDeck
- Controller draws card from TestResultsDeck, returns it, then discards it to the TestResultsDeck
- Test Result Card Vue component to display the card based on its title
* [ ] Move to RSocket for more real-time interaction
- Playing deck consists of (total = 63):
- Write Code (18)
- Code Smaller (18)
- Predict (18)
- Can't Assert (2)
- Code Bloat (3)
- Refactor (4)
[X] 1. Shuffle:
Two times shuffles happen:
1. Initial deck (start of game)
2. When draw deck has 0 cards, shuffle cards from Discard Pile
Rule: When Draw Deck is empty, shuffle cards from Discard Pile into Draw Deck
[X] 1. Discard pile
[X] 1. Re-shuffle deck from discard when deck is empty