Hacker News new | ask | show | jobs
by dimitrov 2638 days ago
Well another OO way would be to add a state member to the Heroine class and create a state class for every possible state (X,Y,Z). Each state can then be responsible for interpreting the input and transitioning to the next appropriate state (if any)
1 comments

How do you manage combinatorial explosion as states increase?
The proposed state table is hardly more scalable. It's obviously not infinitely scalable but In my proposed way, you only have to specify the cases where a state transition actually occurs.
What you describe feels more like case classes.
one possibility is to use hierarchical-state-machines (HSM), which allow (encourage even ?) the decomposition of state-machine into common behavior for reuse across states.

HSM have been there for a while, being proposed in '84 (!) by David Harel under the name 'statecharts'