今天学习了c++状态机编程,状态由事件作用发生改变变为其他状态。事件可以理解为执行函数,状态可以通过GUI显示。
//e0事件发生时,执行的函数
void e0_event_function(int * nxt_state)
{
int cur_state;
cur_state = *nxt_state;
switch(cur_state)
{
case s0: //观察表1,在e0事件发生时,s1处为空
case s2: //执行a0动作;
*nxt_state = s0;
}
}
//e1事件发生时,执行的函数
void e1_event_function(int * nxt_state)
{
int cur_state;
cur_state = *nxt_state;
switch(cur_state)
{
case s0: //观察表1,在e1事件发生时,s1和s2处为空
//执行a1动作;
*nxt_state = s1;
}
}
//e2事件发生时,执行的函数
void e2_event_function(int * nxt_state)
{
int cur_state;
cur_state = *nxt_state;
switch(cur_state)
{
case s0: //观察表1,在e2事件发生时,s2处为空
case s1:
//执行a2动作;
*nxt_state = s2;
}
}








网友评论