组合 FSM 的状态是否“正确”?
假设你有一个对象
enum State
{
State1 = 1 << 0,
State2 = 1 << 1,
State3 = 1 << 2
} ;
碰巧组合状态是有意义的,例如
State myState = State1 | State2 ;
但是在 FSM 理论中这是非法的吗?
这更像是一条捷径:
假设您有 3 个状态:跑步、步行和跳跃。然后你有第四个状态 Firing。
你需要能够跑和火,走路和火,跳和火。而不是制作6个状态RunningFiring,WalkingFiring,JumpingFiring,我想将Firing状态与(无论Walking Running Jumping状态)结合起来
我知道我可以将 BOOL 用于“第四状态”,但这似乎不是更错误的吗?有一个“侧面的状态......”