#define stateOK “stateOK”
#define stateA “stateA ”
#define stateB “stateB ”
#define stateC “stateC ”
#define stateStart “stateStart”
//先定义状态
#define caseChange “caseChange ”
#define caseStill “caseStill ”
//再定义动作
string NextState(string NowState,string case)
{
//写出状态-动作转换表
switch(NowState):
{
case stateA:
switch (case):
{//用双层switch表现状态-动作转换表
case finished;
return stateB;break;
.....}
}
}
int main()
{
string state=stateStart;
string case=caseStill ;
while(state!=stateOK)
{ //循环直到状态退出,有case刷新的时候就更新状态
state = NextState(state,string case);
case = getCase(state);
switch (state/case):
{
}
}
}