Swift Playground - コードを学ぼう1【for ループ】Part 1

Swift Playground「コードを学ぼう1」で for ループの使い方を学習しましょう。本記事ではプログラミング初心者にも分かりやすいように解説し、コードの正解例を掲載しています。

Swift Playground - コードを学ぼう1【for ループ】Part 1

for ループの使い方を学ぼう

プログラミング言語 Swift を楽しく体験できる Swift Playground で、コーディングの基礎を学びましょう。

今回紹介するのは、「コードを学ぼう1」の第3チャプタ「for ループ」です。全部で7つのレッスンを、Part 1・Part 2 の2回に分けて解説していきます。

  • レッスン1〜4:この記事で取り上げます。for ループの使い方を練習しましょう。
  • レッスン5〜7:次回の Part 2 で解説し、繰り返しのパターンを分解して関数とfor ループを作る課題に取り組みます。

第2チャプタの「関数」は実習済みですか?まだの方は以下の記事からご覧ください。

Swift Playground - コードを学ぼう1【関数】Part 1
Swift Playground「コードを学ぼう1」で関数の使い方を学習しましょう。本記事ではプログラミング初心者にも分かりやすいように解説し、コードの正解例を掲載しています。

レッスンのポイント

for(フォー)ループは、決まった回数や条件で同じことを繰り返すための仕組みです。この仕組みを使って書くコードのことを for 文(フォーぶん)と呼びます。

このチャプタでは、回数を指定して繰り返す for ループの使い方を学んでいきましょう。例えば、5回繰り返したい場合は以下のように書きます。

// forループ(例:5回繰り返す)
for i in 1 ... 5 {

    // 繰り返す処理...

}

では、次のセクションからレッスン開始です。Byte を正しく動かすためのコードを書いていきましょう!

※ この記事で紹介しているコードは、あくまで一つの例です(動作確認 Swift 5.8 版)。プログラミングでは、同じ動きを作る方法がいくつもあります。いろいろなやり方を試しながら、自分なりの答えを見つけてみてください。

レッスン 1「ループを使う」

【目標】

  • for ループの使い方を知る
  • 繰り返すパターンを見つける
Swift Playground/コードを学ぼう1/forループ/ループを使う
Swift Playground/コードを学ぼう1/forループ/ループを使う

課題解決の流れ

1. 繰り返すパターンを見つけよう
このレッスンでは以下のコードがすでに入力されています。

// 入力済みのコード

for i in 1 ... number {
    // クリックしてコードを入力
}


はじめに、Byte をどう動かせばステージをクリアできるかを考えましょう。今回は for ループを使う練習なので、同じパターンを何回か繰り返して宝石を集める方法を見つけます。

抜け穴でワープすることを考えると、1列クリアするための動きを繰り返せばよさそうですね。「2マス進んで、宝石を取り、1マス進む」です。

繰り返すパターン
繰り返すパターン

2. 繰り返す処理を入力しよう
{ } の中に繰り返す処理を入力しましょう。{ } 内の入力欄は、コードを読みやすくするためにインデント(字下げ)されています。

for i in 1 ... number {

    // 2マス進む
    moveForward()
    moveForward()

    // 宝石を取る
    collectGem()

    // 1マス進む
    moveForward()

}

3. 繰り返す回数を入力しよう
次に、{ } 内の処理を何回繰り返せば良いかを考えます。

すべての宝石を集めるためには宝石の数だけ繰り返せばいいですね。number の部分を選択して、5 を入力しましょう。

4. コードを実行しよう
「コードを実行」を押して動きを確かめます。同じパターンを5回繰り返して宝石を残らず集められたら、ステージクリアです!

// コード正解例

for i in 1 ... 5 {
    moveForward()
    moveForward()
    collectGem()
    moveForward()
}

レッスン 2「4辺でループする」

【目標】

  • for ループの構文(書き方の決まり)を覚える
Swift Playground/コードを学ぼう1/forループ/4辺でループする
Swift Playground/コードを学ぼう1/forループ/4辺でループする

課題解決の流れ

1. for ループを入力しよう
このレッスンでは以下のコードがすでに入力されています。

// 入力済みのコード

moveForward()
collectGem()
moveForward()
moveForward()
moveForward()
turnRight()

すべての宝石を集めるられるように、この一連の処理を繰り返す for 文を作っていきましょう。

最初の moveForward() の上に、ショートカットバーから for を選んで入力します。ショートカットバーから選択すると、for ループの構文が自動的に入るので簡単です!

// forを入力する
for i in 1 ... number {
    code
}

moveForward()
collectGem()
moveForward()
moveForward()
moveForward()
turnRight()

2. 繰り返すコードを波括弧に入れよう
下の波括弧 } を押したまま、コードの一番下までドラッグします。{ } の中にコマンドがすべて入れば OK です。

下の波括弧を一番下へ移動する
下の波括弧を一番下へ移動する
// { }内に繰り返す処理を入れる
for i in 1 ... number {

    moveForward()
    collectGem()
    moveForward()
    moveForward()
    moveForward()
    turnRight()

}

3. 繰り返す回数を入力しよう
宝石は4つあるので、繰り返す回数は4回です。number の所に 4 を入力しましょう。

4. コードを実行しよう
「コードを実行」を押して動きを確かめます。同じ動きを繰り返して宝石を集められたら、ステージクリアです!

// コード正解例

for i in 1 ... 4 {
   moveForward()
   collectGem()
   moveForward()
   moveForward()
   moveForward()
   turnRight()
}

レッスン 3「端まで行って戻る」

【目標】

  • 繰り返すパターンを見つける
  • for 文を作る
Swift Playground/コードを学ぼう1/forループ/端まで行って戻る
Swift Playground/コードを学ぼう1/forループ/端まで行って戻る

課題解決の流れ

1. for ループを入力しよう
このレッスンではコードのすべてを自分で入力していきます。まずは、ショートカットバーから for を選んでください。

// forを入力する
for i in 1 ... number {
    code
}

2. 繰り返すパターンを見つけよう
どのような動きを for ループで繰り返せば良いかを考えましょう。

すべてのスイッチをオンにするためには、階段を下りてスイッチ切り替え、中央に戻ります。中央に戻ったあとは、別の階段へ進めるよう Byte の向きを変えておく必要もありますね。

繰り返すパターン
繰り返すパターン

3. 繰り返す処理と回数を入力しよう
{ } の中に繰り返す処理を入力しましょう。number の所には 4 を入力してください。切れているスイッチは4つあるので、繰り返す回数は4回です。

// 4回繰り返す
for i in 1 ... 4 {

    // 階段を下りてスイッチを切り替える
    moveForward()
    moveForward()
    toggleSwitch()

    // 後ろを向く
    turnRight()
    turnRight()

    // 中央に戻る
    moveForward()
    moveForward()

    // 別の階段の方を向く
    turnLeft()

}

ここでは、後ろを向くために turnRight() を2回連続で使っていますが、turnLeft() を2回使っても後ろを向くことができます。

また、別の階段の方を向くためには、turnLeft() ではなく turnRight() にしても問題ありません。その場合は反時計回りでスイッチを押しに行きます。

4. コードを実行しよう
「コードを実行」を押して動きを確かめましょう。同じ動きを繰り返してスイッチをオンにできたら、ステージクリアです!

// コード正解例

for i in 1 ... 4 {
    moveForward()
    moveForward()
    toggleSwitch()
    turnRight()
    turnRight()
    moveForward()
    moveForward()
    turnLeft()
}

レッスン 4「ワープしてループして」

【目標】

  • 繰り返すパターンを見つける
  • for 文を作る
Swift Playground/コードを学ぼう1/forループ/ワープしてループして
Swift Playground/コードを学ぼう1/forループ/ワープしてループして

課題解決の流れ

1. for ループを入力しよう
まずは for を入力しましょう。for ループの構文(書き方の決まり)を覚えるために、ショートカットバーから選ぶのではなく、自分で入力してみるのも良いですね!

// forを入力する
for i in 1 ... number {
    code
}

2. 繰り返すパターンを見つけよう
ステージを見て、宝石とワープの位置を確認します。一見複雑ですが、実は意外とシンプルなパターンですべての宝石を取りに行くことができます。

1つ目の宝石を取る方法を考えてみてください。「前へ進んで左を向き、2マス進んで宝石を取る」です。そして、宝石を取ったあとは、次の宝石を取りに行けるように向きを変えます。ワープを使えばこの動きを繰り返すだけで宝石を集めることができますね。

繰り返すパターン
繰り返すパターン

3. 繰り返す処理と回数を入力しよう
{ } の中に繰り返す処理を入力しましょう。number の所には 5 を入力してください。宝石は5つあるので、繰り返す回数は5回です。

// 5回繰り返す
for i in 1 ... 5 {

    // 1マス進んで左を向く
    moveForward()
    turnLeft()

    //2マス進んで宝石を取る
    moveForward()
    moveForward()
    collectGem()

    // 右を向く
    turnRight()
}

4. コードを実行しよう
「コードを実行」を押して動きを確かめます。同じ動きを繰り返して宝石を集められたら、ステージクリアです!

// コード正解例

for i in 1 ... 5 {
    moveForward()
    turnLeft()
    moveForward()
    moveForward()
    collectGem()
    turnRight()
}

まとめ

今回は、Swift Playground の「コードを学ぼう1」で、for ループの学習をしました。

同じ処理を自動で繰り返すのがループです。ループを利用すると、同じコードを何度も書く必要がなくなり、コードが読みやすく理解しやすい形になります。今回のレッスンで学んだことを以下にまとめました。

  • for ループを使うと、指定した回数だけ繰り返すことができる
  • 繰り返す処理は { } の中に書く
  • { } の中はインデントするとコードが読みやすくなる

最後まで読んでいただき、ありがとうございます。この記事をシェアしてくれると嬉しいです!

SNS で Pyxofy とつながりましょう! LinkedInThreadsBlueskyMastodon X (Twitter) @pyxofyFacebook

関連記事

スクラッチプログラミング - フラッピーゲームのつくりかた
フラッピーバード風(ふう)のゲームを Scratch でつくる方法(ほうほう)を紹介(しょうかい)します。マウスやタッチで操作(そうさ)するので、キーボードなしのタブレットなどでもあそぶことができるモバイル対応(たいおう)のゲームです。
JavaScript - for ループ (繰り返し) の基本【初心者向け】
繰り返し処理を実行するために使われる for 文の書き方や、ループの中で使われる break 文と continue 文について、プログラミング初心者の方でも分かりやすいように簡単なコードを例にして解説します。
CSS Art - CSS shape() & Gradients: Create an Isometric Hot Air Balloon - Part 1
Colorful hot air balloons against a sky blue background are majestic! Learn, step by step, how to create one using the CSS shape() function.
CSS Animation – Car Driving Infinite Scroll – Part 1
Infinite, auto-scrolling animations are amazing to look at and easy to create with CSS. Learn how in this multi-part, step-by-step article.