TLDR
Updating RollAction so that all players collect resoures based on the hexagons their settlements are near and the total number rolled.
Note below that orange and blue collected the resources from the second settlements they placed, then collected resources from the 6 that was rolled by a player.

Main work
- Updating
TransitionTurnRollRollTurnBarterOfferso that it calls theCatanGraphServiceto fetch relevantHexagons /Settlements, then adds resources to the players’ResourceBundles. - Updating
CatanGraphServiceto identify allSettlements adjecent toHexagons with the appropriate roll value. - Updating
CatanGraphwith additional graph metadata that makes identifying relevantHexagons easier. - Manually testing the changes via the CLI tool and script runner built in Python.
Challenges
- Took a long time off from the project, fumbled around for a bit catching myself back up on the graph structure I chose.
- Took a long time off the project, fumbled around for a bit re-learning Java’s verbose syntax / functional methods.
- Actually had a typo in a resource file that defines the (hardcoded) hexagon-settlement adjacency info.
- Had to track down a null pointer error due to one of the indexes being nonsensical.
Learnings
- This project will never get completely unless I skimp on testing for a bit and get an MVP out. Keeping motivation for the side project is more important than maintaining professional-quality software.
- Still need to chug along while considering the future work in:
- Postgres data persistence.
- User authentication.
- Shared VPS hosting.
- Domain name procurement and VPS networking.