Tag: java
All the articles with the tag "java".
-
Configuring Java Test Tooling and Reaching 44% Code Coverage
Adding Maven surefire and Jacoco plugins for test reports and coverage metrics, then writing the first unit tests for IAction and CatanGraph to bring code coverage from 0% to 44%.
-
Adding the Barter Offer State and Reworking SKIP Action Logic
Introducing TURN_BARTER_OFFER with DTOs and a new REST endpoint, updating SKIP to behave as a true no-op instruction in the FSM, and revisiting the project after a month-long break from Java development.
-
Implementing Turn Roll, Robber, and Barter State Transitions
Adding FSM states and transitions for the full turn-roll flow including paths to TURN_ROBBER and TURN_BARTER, adding victory points and robber position to the game model, and identifying the growing need for unit test coverage.
-
Tracking Player Resources and Collecting Free Starting Resources from Settlements
Extending the Player model with a resource card map and updating PLACE_FREE_SETTLEMENT logic so players automatically collect resources from their second-placed settlement, per Catan rules.
-
Refactoring Hexagon State into a Unified Model
Consolidating hexagon resource type and roll number into a single Hexagon object on both the Java backend and Angular frontend, and working around a TypeScript typing limitation with HashMap-backed dictionaries.
-
Multi-Outcome FSM Transitions and Completing Initial Settlement Placement
Introducing 'Glide' objects to handle FSM actions that can lead to multiple possible next states, then fully implementing the snake-draft PLACE_FREE_SETTLEMENT and PLACE_FREE_ROAD flow so the game can officially begin.
-
Roll-for-Order Gameplay and Finite State Machine Cleanup
Implementing roll-for-order functionality, updating player and game state models with join order tracking, and refactoring the FSM base from an interface to an abstract class to cleanly support free transitions.
-
Adding Player Join Order, Colors, and a Game Event Log
Tracking the order players join the lobby to automatically assign game colors, recording every FSM action and free transition in a running event log on the game model, and adding a minimum-player SKIP shortcut for the lobby.