リストを使った動き | Scrachとロボットプログラミング
プログラミング言語に用意されているリスト機能(配列)をスクラッチ(Scratch)でも利用することができます。リスト機能とは変数をグループ化して使うようなもので、同じ種類のデータを扱うにはとても便利な方法となりますのでここでマスターしておきましょう。
変数とリストの違い
リストは、データを一時的に記憶するという機能では変数と全く変わりませんが、変数は1つの名前の変数に対して1つのデータしか記憶できませんが、リストは1つの名前でいくつものデータを記憶できるところが違います。
変数を使った方法
例えば変数を使って野球チームのメンバーの名前を記録するとします。野球チームのメンバーは9人で構成されるので変数は9個用意します。そして変数名は 名前1、名前2、名前3….名前9でしょうか?
この場合名前1~名前9にまでメンバーの名前を代入するには次のようなプログラムを作ります。
そして、例えば3番目のメンバーの名前をスプライトに喋らせたい場合は、
というようなプログラムになり、表示させたい変数名を特定しなければなりません。
これはどう考えても自動化・便利にするためのコンピュータプログラムとは程遠いものです。
リストを使った方法
こんな時に便利な方法がリストです。
リストは前述しましたように、同じ名前を付けたメモリーに複数のデータを記憶することができます。そして、欲しいデータを取り出したい場合には、そのリストの名前の何番目のデータを頂戴!と指定するだけで済むのです。
では実際にやってみましょう!
リストの作り方
1.コードー変数を表示し一番下段の[リストを作る]ボタンをクリックします。
2.リストの名前を付ける。今回はメンバー名にしてみましょう。
OKボタンをクリックすると下記のようにリストに関するコマンドブロックが追加されます。
またステージにはリストデータのボックスが表示されます。
つまり、メンバーを入力するメンバー名という巨大な変数ができたわけです。
リストへのデータ代入
リストへのデータ代入は、このステージ上のボックスに順に入力していきます。
今日はせっかくロボットを使っていますので、ロボットに名前を呼んでもらうプログラムを想定して、このボックスの名前をローマ字で入力してみます。
ボックス左角の+をクリックするとデータを直接入力することができるので、どんどんデータを入力していきます。
9人のデータも簡単に終わりました。
リストから読みだして喋らせてみる
やり方はとても簡単です。下記のブロックを使い、欲しい番号を指定するだけです。では喋らせてみましょう。
入力と組み合わせて喋らせてみよう
どうせなら、何番目という番号もスクラッチ(Scratch)のブロックを使ってキーボードから指定して喋らせるようにしてみましょう。