今天学习了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; } }
网友评论