コマンド 5. バグを見つけて直す

ある程度完成しているコードからバグ(間違い)を見つけるステージです。
ある行のコマンドが少し早すぎるタイミングで書かれているので、順番を入れ替えて少し後に実行されるように変更する必要があります。

このステージは修正操作の練習でもあります。単純に間違った行を消して、正しい場所に入れ直してもいいんですが、ここでは手順2,3にある方法を試してみてください。
2では移動させたいコマンドをタップします。するとコマンド全体が青色でハイライトされます。
次に3にあるように、青色になった部分を押さえ、指を離さずに押さえたまま指を移動します(ドラッグ操作)。この時、慣れないうちは右手を使うといいでしょう。青い部分をドラッグすると、指がある辺りの先頭(左端)に青い縦線が表示されます(左手だと自分の手に隠れて見辛いので是非右手でやってみてください)。この青線は、「今指を離すとここに移動するよ」という意味です。周りの行が青線を避けるようにニュルっと動いていきます。なので、最初に青くしたコマンドを新しく置きたい場所に青線をあわせて指を離します。
慣れるまでちょっと面倒ですが、憶えておくとちょっと便利です。ただし必須の操作ではありませんので、どうしても上手くできなくても気にせず先に進んで大丈夫です。プログラムを学ぶということとはあまり関係がない裏技のようなものです。

以下が修正後のコードです。

コマンド 7. 最短の道順

宝石を1つ取り、スイッチを1つ操作するのが目標です。ワープも含め色々な道順が考えられると思います。いきなりコードを書き始めるのではなく、まず色々な道順を検討してみましょう。それぞれのルートを通った場合、moveForward()が必要な回数(=歩数)も考えてみて、もっとも少ないmoveForward()でクリアできるやり方を見つけ出しましょう。

以下は緑ワープを使って7歩でクリアできる例です。

青ワープを使っても7歩で行けますが向きを変える操作も数えるとどうでしょう?
一般的にはコードの行数がなるべく少なく済むやり方が効率的と考えられます。

コマンド 6. バグつぶしの練習

このステージも、あらかじめある程度出来上がっているコードを修正する練習です。
まずは最初から出ているコードで実行してみましょう。まっすぐ突き当たりにある最初からオンになっているスイッチ(開スイッチ)に向かってtoggleSwitch()でオフにしてしまいます。ではtoggleSwitch()行を消して、さらに高台にあるオフになっているスイッチ(閉スイッチ)まで誘導すればいいでしょうか?実はもう少しシンプルな直し方があります。ヒントは、開スイッチのところにはそもそも行く必要がない、ということです。
最終的に、2カ所で順序の入れ替えをすればクリアできるはずです。

もしこんがらがってわからなくなってしまった時は、一度最初からやり直すのも手です。右上にある「…」ボタンをタップし「ページをリセット」を選ぶと、そのステージの最初の状態に戻せますよ(そのステージで書いたコードをは消えます)。

コマンド 4. ワープの練習

ワープという仕掛けが登場します。ワープは同じ色同士の1組のワープゾーンがあり、片方の上に乗るともう片方に瞬間移動します。ワープゾーンに入った時の向きそのままで出口に出現します。またワープの移動分は歩数としてカウントされません。ワープゾーンが自動で移動してくれたのであって、バイト君達が自分で歩いて進んだのではないからです。

さて、解き方ですが、下のように部分部分で区切りを決め、実行して結果を確かめながら進めるとやりやすいと思います。繰り返しになりますが、//ではじまる緑色の行(コメント行)は書き写さなくて大丈夫です。

コマンド 3. スイッチを切り替える

ちょっと手数が多いのでこんがらがってしまうかも知れませんが、前ステージ同様、途中通過点(サブゴール)を自分で区切って、文字通り一歩ずつコードを組み上げていきましょう。
コマンドがあまりたくさん並ぶと、どれがどの操作と対応付くのか見通しが悪くなって混乱します。その場合、改行ボタン(右下の右から2番目のボタン)で何も書いて無い行(空行)を区切りとして入れておいてもOKです。
またアプリの中では説明されていないちょっとした裏技ですが行の先頭にスラッシュを2つ(//)書くと、その行全体は無視されコードの実行には影響しなくなります。文字が緑色の部分はあってもなくてもコードの実行結果はかわりません。
これを利用して下記のように処理内容をメモとして残しておくのに使えます。当サイトでは以後、なるべく「ここはこういう処理をしています」という注釈をこの形で入れていくので参考にしてください。実際にアプリに書き写す時には書いても書かなくても問題ありません。