Scratchのリストって何かな?Scratchのリストの使い方を教えてほしいな。あと、どんなときにリストを使うのかな?
こんな疑問にお答えします。
- Scratchの「リスト」とはなにか解説【変数をひとまとまりにする仕組み】
- Scratchのリストの使い方を解説
- リストを使ったプログラムを紹介
そんな私は大手メーカーでソフトウェアエンジニアを6年以上経験していまして、バリバリプログラムを書いていました。
この私が解説します。
Scratchの「リスト」とはなにか解説【変数をひとまとまりにする仕組み】
リストとは?
Scratchの「リスト」とは複数の変数をひとまとまりにして管理する仕組みのことです。
なので、リストを図にするとこんな感じで、変数が並んでいるイメージです。
リストを使うメリット
リストを使うメリットは主に次の3点です。
- 関連する複数のデータをひとまとまりにして管理可能
- データに順番を持たせることが可能
- データを番号(◯番目)で指定可能
上記の通りです。それぞれ解説しますね。
メリット1:関連する複数のデータをひとまとまりにして管理可能
例えば、おみくじの内容(大吉、中吉、凶など)のように関連する複数のデータをひとまとまりに管理できるのはメリットです。
リストを使わなければ変数をデータ分だけ用意して管理しなければならないので、リストの方が単純にわかりやすいです。
メリット2:データに順序を持たせることが可能
例えば、おみくじの内容のように縁起に順序があるようなデータをリストにすると、データに順序を持たせることができるので便利です。
縁起が良い順序でリストに入れていけば、「データの順序 = 縁起の順序」になり、管理しやすいです。
あと、「リストに小吉が抜けてた!」と気づいても中吉と末吉の間に挿入すれば簡単にリストを更新することができます。
なので、データに順序を持たせることができるのはメリットです。
メリット3:データを番号(◯番目)で管理可能
データを番号(◯番目)で管理できることもメリットです。
例えば、おみくじプログラムを作ろうと思ったら次のような作り方ができます。
- 1. 1~7の乱数を発生させる
- 2. 「乱数」番目(1~7番目のどれか)の結果を表示する
(1番目なら大吉、3番目なら中吉とか)
これだけです。
一方、リストを使わずに同じプログラムを作ろうとしたら次のようになります。
- 1. 1~7の乱数を発生させる
- 2. 発生させた乱数を変数に入れる
- 3-1. 変数の値が1なら大吉を表示する
- 3-2. 変数の値が2なら吉を表示する
- 3-3. 変数の値が3なら中吉を表示する
・・・
このように、おみくじの内容分だけ条件分岐をしなければなりません。これは面倒です。
なので、データを番号(◯番目)で管理できることはメリットです。
まとめ:「リスト」とは複数の変数をひとまとまりにして管理する仕組みのこと
以上のように、Scratchの「リスト」とは複数の変数をひとまとまりにして管理する仕組みのことで、次の3つのメリットがあります。
- 関連する複数のデータをひとまとまりにして管理できる
- データに順番を持たせることができる
- データを番号(◯番目)で指定できる
上記の通りです。
リストの概念がわかったところで、次はScratchでリストを使う方法を解説します。
Scratchのリストの使い方を解説
では、具体例を交えながらScratchでのリストの使い方を解説します。
リストの作り方
まず、命令ブロックエリアの[変数]→[リストを作る]の順にクリックします。
すると新しいリストを作る画面が開くのでリスト名を入力します。
すると実行結果エリアに作成したリスト「おみくじ」が表示されます。
ここまでがリストの作り方です。
リストにデータを追加する方法
次はリストにデータを追加する方法です。方法は次の3種類です。
- [+]ボタンを押して追加
- 「△をリストに追加する」ブロックを使用
- テキストファイルを読み込む
それぞれ解説します。
[+]ボタンを押して追加
実行結果画面にリストが表示されているので、[+]ボタンを押します。
するとデータを入力できる状態になります。
データを入力するとデータの追加は完了です。
続けてデータを追加するには[+]ボタンをクリックするか、「Enterキー」を押します。
すると続けてデータを追加できます。
「△をリストに追加する」ブロックを使用
プログラムでリストにデータを追加するには「△をリストに追加する」ブロックを使用します。
このプログラムを実行するとリストの最後にデータが追加されます。
この方法ではプログラムの実行中にリストを操作することができるので、色々な活用方法があります。
テキストファイルを読み込む
リストのデータが多いときはテキストファイルにデータを作成し、それを読み込むと便利です。
事前にメモ帳などでリストのデータを作成します。
そして、Scratchの実行結果画面でリストを「右クリック」するとメニューが表示されるので、[読み込み]をクリックします。
すると、テキストファイルの選択画面になるので、先ほど作ったテキストファイルを選択して[開く]をクリックします。
これで多くのデータを簡単にリストにすることができます!
このように、事前に用意したテキストファイルを読み込むことで簡単にリストを作ることができます。
リストの大きさを変える方法
リストを読み込むと枠の中に収まりきれないこともあります。
そんなときは、リストの右下にある[=]ボタンを押しながら引っ張るとリストの大きさを変えることができます。
リストのデータをテキストファイルに保存する方法
作ったリストはScratchのプログラムとは別に保存することができます。
方法は簡単で、Scratchの実行結果画面でリストを「右クリック」するとメニューが表示されるので、[書き出し]をクリックするだけです。
すると、保存画面が表示されるので名前をつけて保存します。
テキストファイルとして保存されます。
一度テキストファイルにしておけば、テキストファイルを読み込むことで他のプログラムでも同じリストを使うことができます。
リストのデータを削除する方法
次はリストのデータを削除する方法です。方法は次の2種類です。
- [×]ボタンを押して削除
- 「リストの◯番目を削除する」ブロックを使用
それぞれ解説します。
[×]ボタンを押して削除
実行結果画面のリストのデータをクリックすると[×]ボタンが表示されます。
その[×]ボタンを押すとデータを削除することができます。
「リストの◯番目を削除する」ブロックを使用
プログラムでリストのデータを削除するには「リストの◯番目を削除する」ブロックを使用します。
このプログラムを実行すると指定した番号のデータを削除することができます。
リストにデータを挿入する方法
リストの良さはデータを挿入できる点です。
そのリストにデータを挿入する方法を解説します。方法は次の2種類です。
- 「Enterキー」を押して挿入
- 「リストの◯番目に△を挿入する」ブロックを使用
それぞれ解説します。
「Enterキー」を押して挿入
次のように1番目と2番目の間にデータを挿入したい場合を説明します。
挿入したい場所の直前のデータをクリックすると編集状態になるので、この状態で「Enterキー」を押します。
そうすると、データを入力できる状態になるので「リストにデータを追加する方法」と同様にデータを追加します。
「リストの◯番目に△を挿入する」ブロックを使用
プログラムでリストにデータを挿入するには「リストの◯番目に△を挿入する」ブロックを使用します。
このプログラムを実行するとリストの指定した場所にデータが追加されます。
リストのデータを置き換える方法
リストのデータを別のデータに置き換える(書き換える)には「リストの◯番目を△で置き換える」ブロックを使用します。
このプログラムを実行するとリストの指定した場所のデータを置き換え(書き換え)します。
以上がリストの基本的な使い方です。
リストを使ったプログラムを紹介
リストの使い方がわかったところで、次は実際にリストを使ったプログラムを紹介します。
- おみくじプログラム
- トランプのシャッフルプログラム
それぞれ解説しますね。
おみくじプログラム
まずは、おみくじプログラムです。おみくじプログラムの流れは次のとおりです。
- 1. 1~7の乱数を発生させる
- 2. 「乱数」番目(1~7番目のどれか)の結果を表示する
(1番目なら大吉、3番目なら中吉とか)
これだけです。
実際に作ったリストとプログラムは次のとおりです。
プログラムを実行するとランダムにおみくじの結果が表示されます。
もう一度実行すると結果が変わります。
一方、リストを使わずに同じプログラムを作ろうとしたら次のようになります。
- 1. 1~7の乱数を発生させる
- 2. 発生させた乱数を変数に入れる
- 3-1. 変数の値が1なら大吉を表示する
- 3-2. 変数の値が2なら吉を表示する
- 3-3. 変数の値が3なら中吉を表示する
・・・
実際に作ったプログラムは次のとおりです。
関連するデータはリストにすると便利だということがわかりますね。
トランプのシャッフルプログラム
トランプをプログラムで再現するにはリストを使うと便利です。
一番簡単なトランプをシャッフルするプログラムは次のとおりです。
- トランプ53枚を1番目~53番目までリストに順番に並べる
- 交換元を1~53番目の中からランダムに選ぶ
- 交換先を1~53番目の中からランダムに選ぶ
- 交換元と交換先を入れ替える
- 以上を好きな回数繰り返す
上記の通りです。図にすると次のようなイメージです。
そして、実際に作ったリストとプログラムはこちらです。100回シャッフルしています。
プログラムを実行してみると順番に並んでいるトランプが、
シャッフルされます!(どことどこを交換したのかわかるように交換元と交換先を表示しています)
このようにリストを使えばトランプをシャッフルすることができます。
まとめ
本記事のおさらいです。
- 「リスト」とは複数の変数をひとまとまりにして管理する仕組みのこと
- メリット1:関連する複数のデータをひとまとまりにして管理できる
- メリット2:データに順番を持たせることができる
- メリット3:データを番号(◯番目)で指定できる
- 関連するデータをリストにするとプログラムが短くて済む場合がある
上記の通りです。リストを使いこなせるようになるとゲームを作るときに便利ですよ。
また、その他のScratchに関する解説は下記の記事をご覧ください。使い方だけでなく本質がわかるように解説しています。
では、Scratchを楽しんでください(^_^)/~