Programming

Day6「バグつぶしの練習」|Swift Playgrounds 攻略と解答例【ゼロから学習】

コウです、よろしくお願いします!

「ゼロからプログラミングを始める」人に役立つ情報を発信しています!

今回はDay6、「バグつぶしの練習」の解説になります。

次回に引き続き「バグ」ですね!

ではいってみましょー!!

小学生から社会人までおすすめ!!プログラミング言語『Swift』について!【今始める理由と学び方】 こうといいます、よろしくお願いします! 小学校で教師をやっていた経験を活かして、 プログラミングについて悩みをお持ちの保護...

解答例と解説

初めに、解答例と解説です!

解答例

コードの入力は直接打ち込むほか、画面下に出てくる候補をタップしてもできます

解説

最後の修正からクリアまでがこちらです。

うまくいかない場合は、何度もコードを実行してみるのがいいですね。

今回のポイント

ステージを初期状態に直す

今回のステージでは、あらかじめ入力されたコマンドを実行すると

実行し終わった後に初期の条件と変わってしまします。

具体的には、スイッチが入っていたのに消えてしまいます。

もう一度コードを実行すればスイッチは入りますが、

ステージ画面を見ながらコードの修正をしたいのにわかりづらくなってしまうと思います。

そこでステージを初期画面に戻すために「ページを最初からやり直す」

という機能がありますので紹介します。

  • これを実行すると、ステージ画面だけでなくコード画面もリセットされるのでご注意ください
  • せっかく直したコードが消えてしまうので、リセット前にコードをコピーしておくといいかもしれません

まずは下の画像の赤い四角で囲われた部分をタップします。

すると下のような画面になるので、赤枠の「ページを最初からやり直す」をタップすればOK!!

初期のステージの状態を確認したい場合や、

初めからやり直したい場合には、上記に注意しながら実行してみましょう!

ステージ攻略「バグつぶしの練習」

攻略

今回は追加のコマンドや新しい要素がないので早速攻略に進みます!!

クリア条件はどうなっているでしょうか?

ステージは画面をタッチすることで、自由に角度を変えることができます。

今回も説明文にはクリア条件が書かれていません。

その場合は前回同様ステージ画面の左上を確認します。

「宝石0/1,スイッチ1/2」とありますが、ここで注意!

説明文にもありますが、1/2になっているので

スイッチは初めから入っている状態(光っている)です。

1/2とは、「2つあるうち1つはスイッチが入っている」の意味ですね。

ということは、

宝石を1つ取って、切れている(光っていない)方のスイッチを1つ切り替える

ことができればクリアのようです。

更に今回もあらかじめコマンドが入力されています。

バグを直しながらクリアを目指します。

それでは、まずはコードを1度実行してみましょう。

なんだか全然的外れな行動をしてしまっていますね。

Byteも頭をかしげています笑

コマンドを全て消してやり直したほうが早そうですが

(そういうやり方も1つの手だと思います)

バグつぶしの練習なので、1つ1つ根気よく修正していきます!

これが初めから入力されていたコードです。

まずは2行目と3行目のmoveForward()によって

前に進みすぎてしまっているので1行目と2行目の間にturnLeft()を入れてあげます。

さらに4行目(まだコードは画像の通りと考えてください)のturnLeft()は不要なので、削除します。

ここまで書き換えて実行した結果が次のとおりです。

※4行目のturnLeft()を切り取って、1行目と2行目の間に貼り付けました。

だいぶ惜しいところまでいきましたね!!

この時点のコードを下に載せておきます。

9行目のcollectGem()が一足早かったですね。

これを10行目のmoveForward()の後に持っていきます。

このあとは一番上の解答例になります。

まとめ

攻略でも書きましたが、全部消して1から書き直すというのも1つの方法だと思います。

クリア方法は1つではありません!!

この記事のポイント
  • 「ページを最初からやり直す」でステージを初期画面に戻せる

次回はDay7「最短の道順」でお会いしましょう!ではまた!!

小学生から社会人までおすすめ!!プログラミング言語『Swift』について!【今始める理由と学び方】 こうといいます、よろしくお願いします! 小学校で教師をやっていた経験を活かして、 プログラミングについて悩みをお持ちの保護...