状态机一般都有4个重要部分:
1)现态:表示当前处于的状态
2)条件:也可称为事件,表示当具备的条件达到,可从当前状态 转移到其他状态
3)动作:表示条件满足后执行的动作,(注明:可以条件满足 没有执行动作,直接转移到其他状态)
4)次态:表示条件满足后达到的新状态,当到达新的状态,则变成了现态
对于状态机设计
第一步:可先构建状态机结构体
主要包含成员:下一状态机;当前状态;状态变化标志;进入某状态后的执行动作;检查状态转移条件;状态机所属的主体对象
例如:
第二步:封装 创建状态机函数( 也包含两个:一个是创建一个初始状态的状态机;第二是将状态机链成链表)
主要包括:为状态机运行 申请内存空间;关联进入新的状态、状态转移条件、状态名称
然后创建统一的状态机 链表