This document discusses using the State monad to model a game where two robots move on a playground according to instructions, gathering coins. It first introduces functors, monads and for comprehensions in Scala. It then models the game state as a playground containing robots with positions and scores. The robots evolve by processing instructions in a state monad, allowing functional, pure modeling of state changes. Processing all instructions results in a state monad that can be run with the initial playground state.