Programming

Day14「パターンを探す」|Swift Playgrounds 攻略と解答例【ゼロから学習】

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

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

今回のDay14は「パターンを探す」です。

関数ユニットの最後になります!頑張っていきましょうー!

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

解答例と解説

解答例と解説から確認していきます!

解答例

コードの解答例は以下のようになります。

3つの関数を定義した上で、それらを活用しています。

解説

上記のコードを実行した結果がこちらになります。

今回は最後に無駄な動きが残ってしまいました、すみません・・・。

Byteが中央に戻ってきて綺麗なので許してください笑

今回のポイント:関数を定義する

関数ユニットの締めくくりを見ていきましょう!!

関数を定義する

今回は前回までのように定義する関数などはあらかじめ入力されておらず、

イチから自分で作り上げることになります。

まずは関数を定義していきます。

例にある関数を定義

説明文の中に、例としてmoveThenToggle()がありますので、

これを使っていきたいと思います。

Thenには「それから」という意味がありますので、

動いてからスイッチを切り替える関数になります。

実際にコードを実行してみました。

説明文のコマンドを見てもわかるかもしれませんが、

「2マス進んでスイッチを切り替える」という関数だということがわかりました!

それではこれ以外に繰り返しになりそうな部分を探してみましょう。

元の位置に戻る関数

ステージを見てみるとByteの初期位置から、

2マスもしくは4マス入ったところにスイッチがあるようです。

先ほど定義したmoveThenToggle()を使えば、

2マス離れたところのスイッチは切り替えることができます。

ただしそのままでは行ったきりになってしまうので、

初期位置に帰ってくる関数を定義してあげればイイのではないでしょうか。

先ほどのmoveThenToggle()を実行した後のByteの位置から元の位置に戻るには、

「振り返って2マス進む」ことが必要です。

これを定義して実行すると次のようになります。

中央に戻ってくることができましたね!

関数は「return2()」としました。

4マス進む間に2つのスイッチを切り替える関数

上記の2つの関数を組み合わせてクリアすることもできますが、

さらにもう1つ関数を定義しておきます。

Byteの初期位置からByteの右と左にある2つのスイッチを切り替えつつ、

真ん中に戻ってくるというものです。

言語化すると、

「2マス進む→スイッチを切り替える→2マス進む→スイッチを切り替える→後ろを向く→4マス進む」

になります。

これまでに定義してきた関数も使いながら入力すると以下のようになります。

少しややこしい名前ですが、「move4toggle2return4」としました。

この3つの関数があればもうクリアしたようなものですね!!

ステージ攻略「パターンを探す」

攻略

それでは、ステージを攻略していきましょう。

「スイッチ0/6」なので、ステージの全てのスイッチを切り替えればクリアですね。

まとめ

イチから関数の定義や名前付けをしました!

関数を定義する段階で手を抜かなければ後が楽になりますよね!!

この記事のポイント
  • 妥協することなく、関数を定義すると後々楽になる

次回からはforループユニットに入っていきます。

少し複雑になりますが、使いこなせると楽しいですよ!

こまで勉強してきてプログラミングに興味を持った人は、
実際にプログラミング教室に通ってみるのもおすすめです。

キュレオプログラミング教室の料金は?今なら春の入会キャンペーン実施中!キュレオプログラミング教室の料金について調べました。...

今なら春の入会キャンペーン実施中です。

ロボットプログラミングに興味がある方はこちらもおすすめ。

たった1分でわかる!エジソンアカデミーの料金【プログラミング教室】エジソンアカデミーの料金について調べました。公式HPには載っていないことや、教室の概要についてまとめてご紹介。...

これからの時代を見据えて学んでいくために、
ぜひ選択肢のひとつとして考えてみてください。

Day15「ループを使う」でお会いしましょう!ではまた!!

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