| |
連結点要素を利用したソースコード「ステートマシン図からのソースコード生成 機能ガイド」の12ページの一番上の「連結点要素を利用した例」のソースコードを生成すると、以下のようになりました。
********************************************* void ActiveClass01_stateMachine_State1(ActiveClass01* this , int command) { switch(command) { case this->Do: { // Do Behaviors.. // State's Transitions if((b==1) && (a==1)) { this->nextState = this->StateMachine_State2; } if((a==1)) { this->nextState = this->StateMachine_State3; } if((b==1) && (a==1)) { this->nextState = this->StateMachine_State2; } if((b!=1) && (a==1)) { this->nextState = this->StateMachine_State3; } if((b!=1) && (a==1)) { this->nextState = this->StateMachine_State3; } if((b==1) && (a==1)) { this->nextState = this->StateMachine_State2; } break; } default: { break; } } } *********************************************
なぜこのような冗長な変換をするのでしょうか(最初は もっと自然だったと思いますが、途中から↑のように なったような気がします)
それと、「それ以外」を示すelseのような記述は出来ませんか。 例えば↑の例だと、b!=1とするよりもelseとした方が わかりやすいと思います。
|