A functional CLI implementation of the tabletop game Machi Koro written in Kotlin. It covers the base game - no Harbour expansion
Almost, it implements everything except for the Business Centre because I got lazy
Maybe
- There is no mutable state, everything is immutable
- All functions that are non-deterministic (
Dice.throw*()) or do side effects (println()andreadln()) are marked withsuspend(Kotlin's equivalent ofIO) - The main game loop is done with recursion
- Trading Centre
- Variable Supply Variant
- Hybrid Supply Variant
- More readable interface
- Player names?
- Saving and loading?