最終更新日 2025年5月6日 by toytune
スクラッチはアメリカの大学、MIT(マサチューセッツ工科大学)メディアラボで開発されたビジュアルプログラミング言語です。
はじめに
今回は、あらかじめデータを入れておいて、プログラムの中で順番に取り出せる「リスト」について学んでいきましょう。
「リスト」は、「番号のついたデータをまとめて入れておける箱」のようなものです。イメージとしては「卵パック」を思い浮かべてみてください。
卵パックには、それぞれの卵に決まった場所(番号)があり、どれを取り出すかを番号で指定できますよね。リストも同じように、番号を指定して中のデータを取り出すことができるんです。
今回はこの「リスト」に「セリフ」をあらかじめ登録しておき、そのセリフを順番に吹き出しで表示していくプログラムを作っていきましょう!
完成すると、緑の旗をクリックするだけでセリフが順に表示されるようになりますよ。

今回は、事前に「リスト」にデータとして「セリフ」となる文字列を格納して、番号順にそのデータ、つまり「セリフ」を吹き出しで表示させるものを作っていきたいと思います。
今回作成するプログラム(の旗をクリックして動作を確認することができます)
スプライトにリストを追加してみよう
まずは、新しくプロジェクトを作成し、続けて、このネコの「スプライト」に対して「リスト」を作成していきたいので、ネコの「スプライト」をクリックしておきます。

コードブロックの中の「変数」の中に「リストを作る」というボタンがあるのでクリックします。

「リストを作る」をクリックすると、「新しいリスト」というモーダル画面が表示されます。
「新しいリスト」の名前は何でも良いのですが、ここではわかりやすく「セリフ」と入力しておきます。
続けて、この「リスト」はネコの「スプライト」でしか使用しないので、「このスプライトのみ」にチェックを付けておきます。
ここまでできたら最後に「OK」をクリックします。

先ほどの操作で「リスト」が作成されました。
ステージを見ると、ネコの「スプライト」の左側に「リスト」が表示されています。
作成はされたものの、まだ中身は「空」の状態ですので、データを入れていきたいと思います。

リストにデータを追加してみよう
今回は、あいさつの言葉を3つ、リストに追加していきましょう。
「リスト」にデータとして「セリフ」を3つ設定していきます。
「リスト」にデータを設定するには、「リスト」の左下の「+」マークをクリックすると、オレンジ色の番号付きの入力欄が表示されます。その中の1番目に「おはよう」と入力してください。

同じ操作を繰り返して、2番目には「こんにちは」、3番目には「こんばんは」というように「リスト」にデータとして「セリフ」を設定していきます。

空のデータは不要なので、「✖️」をクリックして消してください

これで事前準備となる「リスト」にデータが設定できました。
次はこれを順番に表示していくプログラムを組んでいきます。
変数を使ってリストの中身を表示してみよう
まずは、プログラムのスタート合図になるブロックから追加していきましょう。
プログラムが動く合図となるブロックをまずは入れていきたいので、「が押されたとき」のブロックをドラッグします。

「リスト」の中のデータの番号は「変数」を使って指定していきたいと思います。
「変数を0にする」のブロックをドラッグして、下にくっつけてください。
初期状態は「0」にしたいので、もし「0にする」になっていなかったら、「0」に変更してください。

今回は、「リスト」の中のデータを繰り返し表示していきたいので、「10回繰り返す」のブロックをドラッグして下にくっつけてください。
ここで「10」となっていますが、あとで変更するのでこの段階では何の数字が入っていても構いません。

次に「10回繰り返す」の中に「変数を1ずつ変える」のブロックを入れてください。
これで「変数」の中の数字が繰り返されるごとに1ずつ増えていきます。増えることで「リスト」の中の番号を取り出していく感じになります。

次に吹き出しのブロックを入れていきたいので、「こんにちは!と2秒言う」のブロックを「10回繰り返す」の中に入れてください。
すでに「こんにちは!」というようになっていますが、次に「リスト」の中のデータが表示されるようにするので、このままで構いません。

いよいよ「リスト」をプログラムに入れていきます。
「セリフの1番目」のブロックを「こんにちは!」のところにドラッグして入れてください。
これで「リスト」のデータがプログラムに反映されました。
しかしこのままではずっと1番目のデータになるので、2秒間隔で10回「おはよう」と吹き出しが出るだけなので、「変数」を使って「リスト」の番号を指定していきます。
「

「1番目」の「1」のところに「変数」のブロックをドラッグしてください。
これで、1ずつ増えていく毎に「リスト」の番号ごとに表示されます。

最後に「10回繰り返す」のところを調整します。
今回は「リスト」には3つのデータしかないので、3回繰り返しでいいはずです。
このまま「10」のところを「3」と入力してもよいのですが、「リスト」のデータが増えるたびにこのの数字も変えるのは面倒なので、「リスト」の数だけ繰り返すようにします。
「セリフの長さ」というブロックがあるので「10」のところにドラッグしてください。
これで「セリフの長さ」分だけ繰り返されますので、もし「リスト」にデータが追加されてもプログラム自体を変更する必要はありません。

動作を確認してみよう
最後にをクリックして動作を確認してみてください。
2秒間隔で「リスト」に入れたデータの「セリフ」が吹き出しとして表示されます。

まとめ
- 「リスト」を作って、データを入れてみよう
- 「変数」でリストの番号を指定して表示してみよう
- 繰り返しの回数は「リストの長さ」にすると便利!
今回は、リストにあらかじめデータを入れて、変数を使って順番に吹き出しで表示する方法を紹介しました。
リストは、あとからデータを追加したり削除したりすることもできます。
そのときには「もし〜なら」などの条件分岐ブロックも使って、もっと複雑な動きにもチャレンジしてみましょう!





