条件分岐コード 5. 関数をじょうずに使う

今まで学んだ関数(func)、ループ(for)、条件分岐(if)を駆使してステージを攻略します。
最初にbyte君がいる方を手前、向いている方を奥とします。最初に突き当たりまで進むのをA区間、左の階段を降りて振り返ってから、また手前に戻るまでをB区間、さらに振り返って再び奥へ行くのをC区間と呼びましょう。
まずステップ1に指示されるcollectOrToggle()関数を作成します。名前の通り「宝石があれば取り、閉スイッチなら切り替える」関数です。2コマおきにどちらかが出現するのでその前進部分も含めてしまって「1区間を処理する」関数としてみました。

6行目からのif文では「宝石があったら取る」と「閉スイッチなら切り替える」の2つの条件分岐をelse ifをつかって1つにまとめています。

もちろん、↓のように2つの独立したif文にしても構いません。

ただこのステージでは1つのコマに宝石とスイッチが同時に出ることは多分なさそうなので、else ifにしておくと、宝石がでた時点でスイッチがあるかどうかの判断処理はしなくなり、ほんのちょっとだけ実行を速くできる可能性があります。

改善希望!役に立った! (+3 rating, 3 votes)
読み込み中...

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です