はじめに
ロボット開発初心者の心を忘れない(忘れられない)人です。
BizRobo!の開発で、最初に頭の上に大きな ? が出たのがトライステップと値判定のエラー処理です。だって、何が言いたいか分かんないんですもん。(今は分かります。)
そんな同じ気持ちをお持ちのあなたに、トライステップと値判定のエラー処理の流れについて、整理の意味を込めて説明してみたいと思います。
以降の記述はBizRobo!11.4、ベーシックエンジンロボットを元にしています。
トライステップ
トライステップはこんなやつです。
そして「ヘルプ」の説明はこんな感じ。
志村けんバリに「あんだって??」って言いたくなるのは私だけでしょうか。(読解力がないという話もありますが)
まぁ、簡単に言えば「トライ」なので、1番目にやった事がダメなら2番目、それもダメなら3番目。。。って感じで、上からどんどん試してみて、というやつです。
トライステップのエラー処理
これが良く分からなくて身もだえしました。トライステップのエラー処理はこんな感じで準備されています。
トライステップって、何にも判断してないステップなんですよ、にもかかわらずエラーって何をもって判断してんだ?って思いませんか?(私はここで引っかかりました。)ここでのエラーは、トライする選択肢が全部ダメだった/それ以降のステップに進めなかったです。そんなことあるんか?って思いますが、あるからエラー処理が設定できるんですね。
ちなみに、次の処理のそれぞれの意味合いは以下の通りです。
処理の名前 | 動き |
---|---|
後続のステップすべてをスキップ | このままです。これ以降のステップをすっ飛ばします。 |
次のトライステップへ移動 | 別のトライステップに移動できます。移動するトライステップは選択することができます。 |
次のイテレーションへ移動 | ループの次の行に移ります。 |
ループ終了 | そのままです。ループ処理を終了します。 |
どの選択肢もダメだったという事はあまりお目にかからないので、どこかの選択肢は必ず通ると考えると、一番多く使うのはループ終了かな、と思います。
値判定
値判定のステップはこんな感じです。トライステップの後によく出現します。
こちらも「ヘルプ」を載せておきます。
トライステップよりは、まだ何が言いたいか分かります。
簡単に言えば、値判定ステップに判定方法を仕込んで、OKなら先のステップに通してあげる、NGならここから先は通せんぼ、という事です。
値判定のエラー処理
値判定のエラー処理も見てみましょう。
無視して続行の処理が、いまだにどんな場面で使うのか分からない。。。無視するなら判定すんなやって思うのは私だけですか。。。?
ここで特徴的なのが次のトライステップへ移動です。ここで混乱するんです。値判定はトライステップとセットで使う事が多い、という話は既にしていますが、そのせいか値判定がトライステップの中のものと感じてしまい、「次のトライステップ」と言われると、直前のトライステップとは別のトライステップに移動するのかと、勘違いしていたんです。(私の解釈違いなんですけど)同じような感じで混乱されてる方いませんか?ようは、ここがダメなら次の選択肢に行け、という事で下図のイメージが次のトライステップへ移動です。
ここでも、次の処理の意味合いをがっつり抑えておきましょう。
処理の名前 | 動き |
---|---|
後続のステップをすべてスキップ | 読んで字の如くこの後のステップは吹っ飛ばします。 |
無視して続行 | 判定結果に関わらず、この後のステップに進みます。 |
次のトライステップへ移動 | これは上の図をご覧ください。 |
次のイテレーションへ移動 | ループの次の行に移ります。 |
ループ終了 | そのままです。ループ処理を終了します。 |
まとめ
ロボット作成に慣れてくると、どうってことはないんですが、最初の段階で「はぁ??」となるところ、結構あるかもしれません。私、結構ありました。そんなところを乗り越えていくと、ロボットを作るのが楽しくなってきます。他にも「はぁ」??となる部分があれば教えてください。多分私も躓いてるところだと思いますので、私なりに分かりやすく解説したいと思います。