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?