# 複数の状態を区別して動く (2016/3/1) 「今は前進している状態」「今は上昇している状態」といった状態を変数で管理すると複雑になってしまいます。このようなときは状態をメソッドで定義しておき、タイマーで実行される内容を差し替えて使うと便利です。状態の実行を終了するときは、終了状態にするか時計を中断します。 // 状態遷移の実現 終了状態=「」。 時計=タイマー!作る「状態!実行」実行。 // 状態遷移のプログラム かめた=タートル!作る。 前進状態=「  かめた!5 0 移動する。  「(かめた!横の位置?)>=100」!なら「状態=上昇状態」実行。 」。 上昇状態=「  かめた!0 5 移動する。  「(かめた!縦の位置?)>=100」!なら「状態=後退状態」実行。 」。 後退状態=「  かめた!-5 0 移動する。  「(かめた!横の位置?)<=0」!なら「状態=下降状態」実行。 」。 下降状態=「  かめた!0 -5 移動する。  「(かめた!縦の位置?)<=0」!なら「状態=前進状態」実行。 」。 状態=前進状態。