Slide 24
Slide 24 text
class PlayGameWorkflow(initial: State) : Workflow {
sealed class State {
abstract val turn: Turn
data class Playing(
override val turn: Turn
) : State()
data class Completed(
val ending: Ending,
override val turn: Turn
) : State()
}
data class Turn(
val players: Map,
val playing: Symbol = X,
val board: Board = EMPTY_BOARD
)