「キャラをずっと動かし続けたい」

「同じブロックを、何回も並べるのがめんどう…」

そんなときに使うのが、Scratch(スクラッチ=ブロックを組み合わせてゲームやアニメを作る、子ども向けのプログラミング)の「繰り返し(くりかえし)」です。プログラミングでは「ループ」とも呼ばれます。

繰り返しを使うと、同じことを何度も書かなくても、まとめてくり返せます。しかもゲームの多くは、「ずっと動き続ける」という繰り返しを使っています。

この記事では、

  • 繰り返し(ループ)とは何か
  • 3つの繰り返しブロック(ずっと/◯回くり返す/〜までくり返す)の使い分け
  • 条件分岐「もし〜なら」との組み合わせ
  • 6歳のゲームでの実例

を、親子でわかるようにやさしく解説します。

※「スプライト」などの言葉は、記事の中でその都度やさしく補足します。


繰り返し(ループ)ってなに?

繰り返し(ループ)とは、「同じことを、何度もくり返す」しくみです。

たとえば「10歩あるく」を5回やりたいとき、「10歩動かす」を5個並べてもできます。でも、それは大変ですし、100回だったら大変すぎます。そこで、

「5回くり返す」の中に「10歩動かす」を1つ入れる

とすれば、たった1つのブロックで、5回くり返してくれます。同じことをまとめて、短く・きれいに書ける——これが繰り返しの便利なところです。

Scratchでは、「制御」(オレンジ色)のグループに、繰り返しのブロックがあります。くり返したい命令を、繰り返しブロックの囲みの中にはさむだけです。


3つの繰り返しブロックと使い分け

Scratchの繰り返しには、よく使う3種類があります。「何回くり返すか」の決め方がちがう、と考えると分かりやすいです。

①「ずっと」──終わりなくくり返す

プログラムを止めるまで、ずーっとくり返し続けます。ゲームでは、とてもよく使います。

  • 例:「ずっと」の中に「y座標を−5ずつ変える」→ ずっと落ち続ける
  • 例:「ずっと」の中に「もし〈アイスに触れた〉なら…」→ ずっと触れたか調べ続ける

②「◯回くり返す」──回数を決めてくり返す

決めた回数だけくり返して、終わります。回数がはっきりしているときに使います。

  • 例:「10回くり返す」の中に「10歩動かす」→ 合計100歩進んで止まる
  • 例:「4回くり返す」で、四角形をかく(かどが4つ)

③「〜までくり返す」──ある条件になるまでくり返す

あることが起きるまでくり返します。「ゴールに着くまで」「時間切れになるまで」など。

  • 例:「〈ゴールに触れた〉までくり返す」の中に「動かす」→ ゴールしたら止まる
3つの繰り返しの使い分け
🔁 ずっと:終わりなし(止めるまで)=ゲームの基本の動き
🔢 ◯回くり返す:回数を決めて(例:4回で四角形)
🏁 〜までくり返す:条件が起きるまで(例:ゴールするまで)

まずは、いちばんよく使う「ずっと」を覚えれば十分です。「回数が決まっている」なら②、「〜まで続けたい」なら③、と使い分けます。


「ずっと」と「もし〜なら」はコンビ

繰り返しは、条件分岐「もし〜なら」と組み合わせると、とても強力です(条件分岐は【Scratchの条件分岐「もし〜なら」とは?使い方をやさしく】でくわしく)。

ゲームでは、「いつ起きるか分からないこと」を調べ続ける必要があります。たとえば「アイスにいつ触れるか」は、遊んでみないと分かりません。だから、

「ずっと」の中に「もし〈アイスに触れた〉なら → 点を1ふやす」を入れる

として、ずっと調べ続けるようにします。「もし〜なら」を1回だけ置くと、その一瞬しか調べてくれません。「ずっと」でくり返すことで、いつ触れても反応できるのです。

「ずっと」=何度も実行する/「もし〜なら」=条件に合ったときに何をするか。この2つを組み合わせると、「ずっと調べ続けて、起きたら反応する」というゲームの「動き続けるしくみ」が作れます。

⚠️ ただし、この「もし〈触れた〉なら点を1ふやす」を「ずっと」で回すと、触れている間ずっと点が増え続けることがあります(=得点が一気に増える)。「1回触れたら1点」にするには、ちょっとした工夫が必要です(次の章と、【Scratchの変数で得点をつける|6歳のゲームで体験】で紹介)。


わが家の実例|繰り返しが「目に見えた」日

以前、6歳(当時)の子とScratchで遊んでいたとき、繰り返しが「目に見えた」瞬間がありました(【Scratchのクローンでブロックを並べる:繰り返しが見えた日】)。

「くり返す」ブロックと「クローン」(スプライトの分身を作る機能)を組み合わせて、ブロックを並べたのですが、実行すると、ブロックが1つ、また1つ…と、目の前で増えていきました。

💡 クローンそのものが繰り返しなのではありません。「繰り返すたびにクローンを作る」ことで、同じものが次々に増えていきます(クローンは【Scratchのクローンでブロックを並べる:繰り返しが見えた日】でくわしく)。

  • 「くり返す」=同じことが、何回も起きる
  • それが、画面の上で、1つずつ形になっていく

子どもは「同じのが、どんどん出てくる!」と、くり返しの動きを目で見て理解していました。「繰り返し」という言葉は説明しませんでしたが、やっていることは、まさに繰り返し。

また、「うんち避け+アイス拾い」のゲームでも、アイテムがずっと落ち続けるのも、当たったかをずっと調べ続けるのも、すべて「ずっと」=繰り返しでした。ゲームは繰り返しで動いている——そう気づくと、いろいろな作品のしくみが見えてきます。


よくあるつまずき

繰り返しで、はじめのうちに気をつけたい点をまとめます。

  • 「ずっと」は自分では止まらない:「ずっと」は、旗を押している間や、止めるまで動き続けます。止めたいときは「すべてを止める」ブロックや、「〜までくり返す」を使います
  • くり返す中身を、囲みの外に置いてしまう:くり返したい命令は、繰り返しブロックの囲みの中に入れます。外に置くと、くり返されません
  • 速すぎて見えない:「ずっと」の中の動きは、とても速くくり返されます。動きを見せたいときは、中に「◯秒待つ」を少し入れると、ちょうどよくなります
  • 回数のかぞえまちがい:「4回くり返す」なら4回きっかり。思った回数と合わないときは、数を見直します
  • 「〜までくり返す」がすぐ終わる:条件が最初から当てはまっていると、中身が1回も動かないことがあります。「〈ゴールに触れた〉まで」など、始めは成り立っていない条件になっているか確認します

むずかしく感じたら、まずは「ずっと」の中に動きを1つ入れてみてください。キャラが動き続けるのを見ると、繰り返しの感覚がつかめます。


まとめ

  • 繰り返し(ループ)=同じことを何度もくり返すしくみ。同じブロックを並べずに、まとめて書ける
  • 3種類:「ずっと」(終わりなし)・「◯回くり返す」(回数を決める)・「〜までくり返す」(条件が起きるまで)
  • ゲームの基本は「ずっと」。まずはこれを覚える
  • 「ずっと」+「もし〜なら」で、いつ起きるか分からないことを調べ続けられる
  • わが家では、クローンが1つずつ増える様子で、繰り返しが「目に見えた」

繰り返しは、プログラミングの中でも、とくに「コンピューターらしさ」が出るしくみです。人間には大変な「何回も同じこと」を、あっという間にやってくれます。まずは「ずっと」から。キャラが動き続ける楽しさを、ぜひ親子で味わってみてください。

関連記事: