
Scratch 繰り返しの説明


繰り返しってなんとなくわかるけど
どんな風に使えばいいんだろう
どんなコマンドがあるんだろう
こんにちは。サポーターのもつさんです。
今回はプログラミングの基本である、繰り返し(反復)について解説します。
繰り返しを使わないプログラムはないと言ってもいいほど、大事な概念ですので、
ぜひ最後までご覧下さい。
3種類の繰り返しコマンド(ブロック)


10回繰り返す
10回繰り返すのブロックは、見ての通り、何かを10回繰り返します。
10のところは、自由に変更できるので、100でも1000でもいいです。
例えば、次のようなコマンドを書くと正方形を描くことができます。


この例のように回数が4回と決まっているような場合に、10回繰り返すのコマンドを使います。
ずっと繰り返す
見ての通りで、ずっと何かを繰り返すブロックです。
サッカーゲームで、ずっとキーパーが左右に動いてるとか
インベーダーゲームで、ずっと敵があちこち動いてるとか
ずっと何かを繰り返すときに使います。
~まで繰り返す
< >の部分には、好きな条件文を入れることができます。
その条件が満たされるまで繰り返すというコマンド(ブロック)です。
例えば、制限時間=0 まで繰り返すとすると
制限時間が0になるまで、(1秒待つ と 制限時間を-1ずつ変える)を繰り返す
ということになります。
これで、ゲームの制限時間をカウントすることができます。




繰り返しでコマンドをシンプルに
ここまで読んでいただいてわかるように、繰り返しコマンドを使うことで、コードがシンプルになります


コードをシンプルにするのは
書くのが楽になるためだけではありません。
他の誰かが読むときや、自分で読み返すときなど、読みやすくするためです。
可読性が高いと言ったりします
可読性が高いことで、効率よく開発できますし、ミスも減ります
繰り返しコマンドでタイマーをつくってみよう
ここまで説明したコマンドをつかって、簡単なタイマーをつくってみましょう
完成形


- 旗が押されたら、タイマーがリセットされ、ボタンがSTARTボタンになります
- STARTを押すと、ボタンがSTOPに変わり、タイマーがスタートします
- 60秒経つか、STOPボタンを押すと、タイマーが止まります
コマンド例


タイマーという変数を用意します
タイマー=0まで繰り返すという、繰り返しコマンドを用いて上記のように記載します
アレンジ タイマー時間を自由にセットする
おまけです
最初に何秒にセットするか聞いてくれるようにアレンジすることができます




調べるのなかにある、「あなたの名前は何ですか?と聞いて待つ」というコマンド(ブロック)を使うと、対話形式のプログラムをつくることができます
入力された内容は(答え)というブロックで、使うことができます。
このアレンジでは、タイマーを60にすると書いていたところに、(答え)をセットすることで、入力された「15」という数字にすることができました。
まとめ
今回は繰り返しについて解説しました。
回数を指定して繰り返すコマンド
ずっと繰り返すコマンド
ある条件になるまで繰り返すコマンド
3つの繰り返しコマンドがあります。
それぞれの特徴を生かして使い分けることで、効率よくプログラムをつくることができます
効率よく可読性が高いプログラムを書くことは、書き手(作り手)にとっても読み手にとってもいいことでミスの削減にもつながります