Scratchの繰り返し(ループ)とは?3つの使い分け
「キャラをずっと動かし続けたい」
「同じブロックを、何回も並べるのがめんどう…」
そんなときに使うのが、Scratch(スクラッチ=ブロックを組み合わせてゲームやアニメを作る、子ども向けのプログラミング)の「繰り返し(くりかえし)」です。プログラミングでは「ループ」とも呼ばれます。
繰り返しを使うと、同じことを何度も書かなくても、まとめてくり返せます。しかもゲームの多くは、「ずっと動き続ける」という繰り返しを使っています。
この記事では、
- 繰り返し(ループ)とは何か
- 3つの繰り返しブロック(ずっと/◯回くり返す/〜までくり返す)の使い分け
- 条件分岐「もし〜なら」との組み合わせ
- 6歳のゲームでの実例
を、親子でわかるようにやさしく解説します。
※「スプライト」などの言葉は、記事の中でその都度やさしく補足します。
繰り返し(ループ)ってなに?
繰り返し(ループ)とは、「同じことを、何度もくり返す」しくみです。
たとえば「10歩あるく」を5回やりたいとき、「10歩動かす」を5個並べてもできます。でも、それは大変ですし、100回だったら大変すぎます。そこで、
「5回くり返す」の中に「10歩動かす」を1つ入れる
とすれば、たった1つのブロックで、5回くり返してくれます。同じことをまとめて、短く・きれいに書ける——これが繰り返しの便利なところです。
Scratchでは、「制御」(オレンジ色)のグループに、繰り返しのブロックがあります。くり返したい命令を、繰り返しブロックの囲みの中にはさむだけです。
3つの繰り返しブロックと使い分け
Scratchの繰り返しには、よく使う3種類があります。「何回くり返すか」の決め方がちがう、と考えると分かりやすいです。
①「ずっと」──終わりなくくり返す
プログラムを止めるまで、ずーっとくり返し続けます。ゲームでは、とてもよく使います。
- 例:「ずっと」の中に「y座標を−5ずつ変える」→ ずっと落ち続ける
- 例:「ずっと」の中に「もし〈アイスに触れた〉なら…」→ ずっと触れたか調べ続ける
②「◯回くり返す」──回数を決めてくり返す
決めた回数だけくり返して、終わります。回数がはっきりしているときに使います。
- 例:「10回くり返す」の中に「10歩動かす」→ 合計100歩進んで止まる
- 例:「4回くり返す」で、四角形をかく(かどが4つ)
③「〜までくり返す」──ある条件になるまでくり返す
あることが起きるまでくり返します。「ゴールに着くまで」「時間切れになるまで」など。
- 例:「〈ゴールに触れた〉までくり返す」の中に「動かす」→ ゴールしたら止まる
🔁 ずっと:終わりなし(止めるまで)=ゲームの基本の動き
🔢 ◯回くり返す:回数を決めて(例:4回で四角形)
🏁 〜までくり返す:条件が起きるまで(例:ゴールするまで)
まずは、いちばんよく使う「ずっと」を覚えれば十分です。「回数が決まっている」なら②、「〜まで続けたい」なら③、と使い分けます。
「ずっと」と「もし〜なら」はコンビ
繰り返しは、条件分岐「もし〜なら」と組み合わせると、とても強力です(条件分岐は【Scratchの条件分岐「もし〜なら」とは?使い方をやさしく】でくわしく)。
ゲームでは、「いつ起きるか分からないこと」を調べ続ける必要があります。たとえば「アイスにいつ触れるか」は、遊んでみないと分かりません。だから、
「ずっと」の中に「もし〈アイスに触れた〉なら → 点を1ふやす」を入れる
として、ずっと調べ続けるようにします。「もし〜なら」を1回だけ置くと、その一瞬しか調べてくれません。「ずっと」でくり返すことで、いつ触れても反応できるのです。
「ずっと」=何度も実行する/「もし〜なら」=条件に合ったときに何をするか。この2つを組み合わせると、「ずっと調べ続けて、起きたら反応する」というゲームの「動き続けるしくみ」が作れます。
⚠️ ただし、この「もし〈触れた〉なら点を1ふやす」を「ずっと」で回すと、触れている間ずっと点が増え続けることがあります(=得点が一気に増える)。「1回触れたら1点」にするには、ちょっとした工夫が必要です(次の章と、【Scratchの変数で得点をつける|6歳のゲームで体験】で紹介)。
わが家の実例|繰り返しが「目に見えた」日
以前、6歳(当時)の子とScratchで遊んでいたとき、繰り返しが「目に見えた」瞬間がありました(【Scratchのクローンでブロックを並べる:繰り返しが見えた日】)。
「くり返す」ブロックと「クローン」(スプライトの分身を作る機能)を組み合わせて、ブロックを並べたのですが、実行すると、ブロックが1つ、また1つ…と、目の前で増えていきました。
💡 クローンそのものが繰り返しなのではありません。「繰り返すたびにクローンを作る」ことで、同じものが次々に増えていきます(クローンは【Scratchのクローンでブロックを並べる:繰り返しが見えた日】でくわしく)。
- 「くり返す」=同じことが、何回も起きる
- それが、画面の上で、1つずつ形になっていく
子どもは「同じのが、どんどん出てくる!」と、くり返しの動きを目で見て理解していました。「繰り返し」という言葉は説明しませんでしたが、やっていることは、まさに繰り返し。
また、「うんち避け+アイス拾い」のゲームでも、アイテムがずっと落ち続けるのも、当たったかをずっと調べ続けるのも、すべて「ずっと」=繰り返しでした。ゲームは繰り返しで動いている——そう気づくと、いろいろな作品のしくみが見えてきます。
よくあるつまずき
繰り返しで、はじめのうちに気をつけたい点をまとめます。
- 「ずっと」は自分では止まらない:「ずっと」は、旗を押している間や、止めるまで動き続けます。止めたいときは「すべてを止める」ブロックや、「〜までくり返す」を使います
- くり返す中身を、囲みの外に置いてしまう:くり返したい命令は、繰り返しブロックの囲みの中に入れます。外に置くと、くり返されません
- 速すぎて見えない:「ずっと」の中の動きは、とても速くくり返されます。動きを見せたいときは、中に「◯秒待つ」を少し入れると、ちょうどよくなります
- 回数のかぞえまちがい:「4回くり返す」なら4回きっかり。思った回数と合わないときは、数を見直します
- 「〜までくり返す」がすぐ終わる:条件が最初から当てはまっていると、中身が1回も動かないことがあります。「〈ゴールに触れた〉まで」など、始めは成り立っていない条件になっているか確認します
むずかしく感じたら、まずは「ずっと」の中に動きを1つ入れてみてください。キャラが動き続けるのを見ると、繰り返しの感覚がつかめます。
まとめ
- 繰り返し(ループ)=同じことを何度もくり返すしくみ。同じブロックを並べずに、まとめて書ける
- 3種類:「ずっと」(終わりなし)・「◯回くり返す」(回数を決める)・「〜までくり返す」(条件が起きるまで)
- ゲームの基本は「ずっと」。まずはこれを覚える
- 「ずっと」+「もし〜なら」で、いつ起きるか分からないことを調べ続けられる
- わが家では、クローンが1つずつ増える様子で、繰り返しが「目に見えた」
繰り返しは、プログラミングの中でも、とくに「コンピューターらしさ」が出るしくみです。人間には大変な「何回も同じこと」を、あっという間にやってくれます。まずは「ずっと」から。キャラが動き続ける楽しさを、ぜひ親子で味わってみてください。
関連記事:
- Scratchの条件分岐「もし〜なら」とは?使い方をやさしく(「ずっと」の中に入れてセットで使う、条件分岐)
- Scratchのクローンでブロックを並べる:繰り返しが見えた日(繰り返しが「目に見えた」6歳の体験)
- Scratchのブロックの種類と色の意味まとめ(「制御」など、ブロックの色分けをまとめて確認)
- Scratchが動かない・重いときは?原因と直し方(「ずっと」の外で動かない・クローンの出しすぎで重い、の対処)