プログラミング言語Scratch
前回はScratchのプログラミング画面で「演算」のブロックを解説しました。

今回は変数のブロックの解説を行なっていきます。
まずは「変数」ってなんだ?という話です。
変数というのは、好きなように中身を入れ替えられる箱みたいなものです。
Pythonにも「変数」があって前に解説していますので、良かったらこちらもどうぞ。

例えば「a」という名前の箱(変数)を作ったとします。
その箱に「1」を入れたり、「5」を入れたり、自由に値を入れることができます。
そして入れた値は例えば、条件分岐(「もしXなら」などのブロック)で使ったり、演算(「より大きい」などのブロック)で使うことができます。
この変数という考え方は数学でも使いますが、使い方はプログラミング特有かもしれません。
この考え方が分からなくて、プログラミングが分からないという方もいるので、初心者にとってはハードルが高いかもしれませんが、ここを越えれば色々とできるようになるので、頑張りましょう。
ということでまずは「変数」のブロックの位置からです。

この「変数」のブロックは濃いオレンジ色で統一されています。
では解説に入っていきましょう。
変数
最初はそのままずばりの「変数」のブロックです。

このブロックには左にチェックボックスがあります。
このチェックボックスにチェックを入れると、キャラクターがいるウインドウに「変数」という値が表示されます。

またブロックをプログラミングウインドウにおいて、クリックすると今の変数の数値が表示されます。


変数をXにする
次は「変数をXにする」ブロック、つまり変数の数字を変えるブロックです。

今回は変数の数値を「1」にして試してみましょう。


最初、変数はもともとの「0」になっていますが、「変数を1にする」ブロックをクリックしてから、「変数」ブロックをクリックして変数の値を表示させてみると「1」に変化しています。
変数をXずつ変える
次は「変数をXずつ変える」ブロックです。

これはこのブロックが実行されると、変数が入れた数値の分だけ変化するブロックです。
試してみるとこんな感じです。

最初、変数は「0」。
「変数を1ずつ変える」をクリックするたび、変数が1大きくなり、「1」「2」「3」「4」「5」と変化していきます。
変数を表示する:変数を隠す
次は2つのブロック「変数を表示する」、「変数を隠す」を一緒に紹介します。

これはキャラクターが表示されているウインドウに変数を表示したり、消したりするブロックになります。

新しい変数を作成する方法
これまで「変数」という名前の変数を使ってきました。
では変数は一つしか使えないのでしょうか?
そうではありません。
変数は自分が好きなだけ作成することができます。
ということで新しい変数を作る方法を解説していきます。
「変数」カテゴリの一番上「変数を作る」をクリック。

すると「新しい変数」ウインドウが開きます。

このウインドウに「新しい変数名」を入力し、「すべてのスプライト用」か「このスプライトのみ」を選択します。
簡単にいうと他のキャラクターでも同じ変数を使いたいのなら「すべてのスプライト用」、他のキャラクターでは同じ変数を使わないのなら「このスプライトのみ」を選択します。
ここら辺の詳しいことはまた必要になったら解説することにしましょう。
とりあえず「変数2」という変数を作ってみます。

「新しい変数名」を入力し終わったら、「OK」をクリック。
すると「変数」カテゴリに「変数2」というブロックが新しくできました。

またこの「変数2」は他のブロックでも使えるようになっています。

新しいリストを作成する
次は「リスト」というものを作ってみます。
先ほどの「変数」はものを入れられる箱だと解説しました。
しかしこの「変数」の箱はものを一つしか入れることができません。
複数のものを入れる箱。
それが「リスト」です。
ということで新しいリストを作ってみましょう。
「変数」カテゴリの中の「リストを作る」をクリックします。

すると新しいリストを作るウインドウが開きます。

先ほど新しい変数を作ったのと同じように「新しいリスト名」の他、「すべてのスプライト用」、「このスプライトのみ」というボタンがあります。
今回は「リスト1」というリストを作ってみましょう。

するとリスト用のブロックが表示され、キャラクターがいるウインドウに「リスト」という小さなウインドウが表示されました。

Xをリストに追加する
リストの最初のブロックは「Xをリストに追加する」ブロックです。

先ほどリストは複数の値を入れることができますとお話しした通り、このブロックで複数の値を入れていくことができます。
例えば「1」という数値を何度か「リスト1」に追加してみましょう。

「1をリスト1に追加する」をクリックすると、クリックした分だけ「1」が追加されます。

リストのX番目を削除する
次はリストの中の値を削除するブロックです。

このブロックではリストの中の指定した位置にある値を削除します。
今回は先ほどの「1をリスト1に追加する」と「リスト1の2番目を削除する」を組み合わせて試してみましょう。

リスト1に1をいくつか追加したのち、「リスト1の2番目を削除する」を何度かクリックすると、リスト1の2番目にある値が削除されていきます。

しかし最後の一つになった時は「リスト1の2番目」はないので消せません。
リストのすべてを削除する
次はリストを空にする「リストのすべてを削除する」ブロックです。

リストの中に色々入っていても、リストの中身をすべて消してしまうブロックです。
今回も「1をリスト1に追加する」と組み合わせて試してみます。

試してみるとこんな感じ。

リスト1に「1」を何回か入れていくのですが、「リスト1のすべてを削除する」をクリックした途端、リスト1の中身が空になっています。
リストのX番目にYを挿入する
次は「リストのX番目にYを挿入する」というブロックです。

先ほどの「Xをリストに追加する」ブロックでは、新しく追加される値はリストの最後に追加されていきます。
ですがこちらのブロックを使うことで、リストの中の特定の場所に値を入れることができます。
ということでリスト1に「1」を5つ入れた状態から「リスト1の3番目に5を挿入する」というブロックで試してみましょう。


すると1番目、2番目の「1」はそのままで、3番目に「5」が挿入されていきました。
リストのX番目をYで置き換える
先ほどまではリストに値を追加したり、削除したりするブロックでしたが、今度は値を置き換えるブロックです。

「1」を5つ入れたリストを準備し、3番目の値を「5」と「10」で交互に置き換えてみましょう。


リストのX番目
次のブロックはリストの中の特定の位置の数値を取得するブロックになります。

例えばリスト1に「5」「10」「15」「20」「25」と5つの数字を入れて、「リスト1の3番目」というブロックを準備します。

これで「リスト1の3番目」のブロックをクリックすると「15」が表示されます。

リスト中のXの場所
次のブロックはリストの中で一致する値の位置を取得するブロックです。

今回も「5」「10」「15」「20」「25」というリストを準備しました。
そして「リスト1中の10の場所」で「10」が何番目にあるか確認してみましょう。

「リスト1中の10の場所」ブロックをクリックすると「2」が表示され、リスト1の2番目に位置していることが分かります。

ちなみにリスト中に存在しない値を指定すると「0」が表示されるようです。

リストの長さ
次のブロックはリストの中に値がいくつ入っているか、その数を取得できるブロックです。

今回も「5」「10」「15」「20」「25」を入れたリストを準備しました。

リスト1に入っている数値は5つなので、「リスト1の長さ」をクリックすると「5」が表示されました。

リストにXが含まれる
次のブロックはリストに指定の値が含まれるかどうかを確認するブロックです。

先ほどの「リスト中のXの場所」の場合はどこにあるか位置を教えてくれましたが、こちらはリスト中に値が含まれるかどうかのみ教えてくれます。
先ほどの「5」「10」「15」「20」「25」を含んだリストで試してみましょう。

「リスト1に20が含まれる」というブロックを準備しクリックしてみると、「true」と表示され、リスト1内に「20」があるということが分かります。

「リスト1に17が含まれる」というブロックに変えて試してみると、リスト1には「17」はないため、「false」と表示されました。

リストを表示する:リストを隠す
次の二つのブロックは「リストを表示する」と「リストを隠す」の二つです。

これはキャラクターが表示されているウインドウのリストを表示したり、隠したりするブロックです。
試してみるとこんな感じ。

結構長々となってしまいましたが、これで変数のブロックの解説は終了です。
リストまでは結構短くなるかなと思ったら、リストを作成したら一気にブロックが増えてなかなか大変でした。
次回は前に戻って「見た目」のブロックを解説していきましょう。

ということで今回はこんな感じで。
コメント