结合FSM的状态是否“正确”?组合状态,FSM
说你然而,在FSM理论与
enum State
{
State1 = 1 << 0,
State2 = 1 << 1,
State3 = 1 << 2
} ;
它碰巧的是,它是有道理的状态结合的对象,如
State myState = State1 | State2 ;
这是非法的?
它更快捷:
假设你有3种状态:跑步,散步,和跳转。那么你有第四个国家的射击。
你需要能够跑步和射击,步行和射击,跳跃和射击。而不是使6个州RunningFiring,WalkingFiring,JumpingFiring,我想结合与击发状态(无论散步跑步跳跃状态)
我知道我可以只使用一个BOOL的“第四状态”,但这似乎没有人情味? “一边......”
你心里有一个现实世界的例子?通常情况下,像这样的情况表明需要另一个状态...... – Steve 2010-03-19 01:59:43
@Steve:这听起来像是一个答案。请将其发布为答案,以便我们可以正确地对其进行修改。 – 2010-03-19 02:02:45