ASCII倶楽部

このページの本文へ

Hour of Codeで学ぶプログラミング基礎の基礎 第22回

Swift PlaygroundsでHour of Code

Swift言語で独自の関数を定義してその役割を学ぶ

2017年08月04日 17時00分更新

文● 小野哲生 編集●吉田ヒロ

  • この記事をはてなブックマークに追加
  • 本文印刷

 前回に引き続き、「Swift Playgrounds」のHour of Codeのコースを使って、プログラミングを学んでいきましょう。今回は関数や繰り返しについて学びます。

 レベル4から次に進むと、最初に関数についてのイントロダクションが始まります。前回はコマンドが何かをするための指示や命令のことであることを学び、並べる順番を考えました。関数とは、そうしたコマンドをいくつかまとめたもので、名前を付けて定義します。名前を付けた関数は、あとからいつでも呼び出して使うことができます。関数が呼び出されると、関数の中に定義したコマンドが実行されます。

レベル5:新しい挙動を作る

 今回のレベルでは、前回出てこなかったturnRight( ) (右を向く)を、これまでに使ったコマンドだけで作っていきます。

 まずは、課題の書かれたエリアにある赤い文字をタップして用語の解説を見てみましょう。コーディングとは、コマンドなどでアルゴリズムを組み立ててプログラムを作ることです。

 コンポジションとは小さい部分の組み合わせで大きな課題を解くことです。

 ピンチで拡大してバイトと宝石の位置関係を確認しましょう。

 バイトが宝石までたどり着くためには、階段を下りたところで右を向く必要がありますが、コマンドの候補にturnRight( )はありませんね。ヒントをタップしてみましょう。すでにあるコマンドを組み合わせることで右を向くことができそうです。

 それではプログラムを考えていきましょう。はじめに階段を下りるところまでを作ります。moveForward( )を3つ入力します。

 ここでバイトは右に向きを変える必要があります。選択できるコマンドは、collectGem( ), moveForward( ), toggleSwitch( ), turnLeft( )です。右を向くために組み合わせられそうなのは、turnLeft( )だけですね。turnLeft( )が1つでは、進みたい方向の逆方向を向いてしまいます。しかし、もう2つ組み合わせることで進みたい方向となります。turnLeft( )を3つ入力します。

 あとは宝石のマスまで進んで、宝石を取りましょう。moveForward( )を3つとcollectGem( )を入力します。

 それでは、「実行」ボタンをタップしてバイトを動かしましょう。バイトが階段を下りて左に3回向きを変えます。本来進みたい方向を向いたら前に進み、宝石を取ることができました。これでレベルクリアです。

 次のページをタップして、次のレベルへ進みましょう。

カテゴリートップへ

この連載の記事

ASCII倶楽部の新着記事

会員専用動画の紹介も!