サイトについて      連絡先   検索

スクラッチ 変数ブロックの使い方

はじめに

Scratch (スクラッチ) 3 の変数ブロックの使い方を紹介します。

変数に名前を付けて、それに値を入れて、必要なときにそれを取得する。これが変数の使い方です。

リストは、その変数をいくつでも入れられますものです。それぞれを名前ではなく番号で指定します。

  • 目次
    • 変数ブロックとは
    • 変数を作成する
    • 変数ブロック
    • リストを作成する
    • リストブロック

変数ブロックとは

variables

変数ブロックでは、変数やリストを使って自由に値を入れたり取得できます。変数やリストは他のブロックとちがって自分で作成します。変数は一般的なプログラミング言語で、最もよく使うものです。

変数とは

変数とは、名札のようなものです。変数に値を入力すると、それを見た人はなんて書いているのかわかります。変数はいくつでも作成できるので、変数そのものに名前を付けて他と区別します。

言葉で説明すると分かりずらいかもしれませんが、既に使ったことがあると思います。例えばx座標ブロックも変数でできています。値を設定して取得できます。

44

同じように変数も値を設定して取得できます。

45

このように値を設定して取得するのが変数です。x座標ブロックはスプライトを移動すると、それに合わせて値が変化しますが、作成した変数は自分で何かを設定しないかぎり、値が変わることはありません。

例えば、ゲームの「得点」を計算するには変数を使うと便利です。点数を獲得するたびに変数にその値を加えていけば最終的な得点がわかります。

46

何か覚えておきたい値がときは変数を使います。

一般的なプログラミング言語では、ほぼすべての値をいったん変数に入れてから使います。それだけ変数はプログラミングにとって重要なものです。

リストとは

リストは、複数の変数を入れるカバンのようなものです。リストに入れた値のことを、ここでは「項目」と呼びます。リストはいくつでも作成できるので、リストに名前を付けて他と区別します。

48

各項目を設定や取得するのに、番号で指定します。リストに入れた値に名前はありません。

47

リストの 1 番目、2 番目のように、番号は 1 から順番に自動で設定されます。

例えば、ゲームの「得点」をプレイするたびにリストに入れていくと、1 回目や 2 回目といった前回プレイした時の得点を表示できます。

変数を作成する

変数を使用するには、変数を作成する必要があります。最初から変数という名前の変数が作成されています。

変数を作成

[変数を作る] をクリックします。

49

変数の [名前] を入力し、[すべてのスプライト用] か [このスプライトのみ] を選択して [OK] をクリックします。

通常は [このスプライトのみ] を選択します。他のスプライトでも使用できると、変更する必要のないところで、まちがって変更される危険があります。不具合やバグを発生させないためにも、必要なスプライトのみで使用できるべきです。

50

作った変数のブロックが表示されます。[▼] をクリックして変数を選択できます。

51

変数を削除

変数ブロックの [▼] をクリックして削除したい [変数"変数名"を削除] をクリックします。

52

変数が削除されます。その変数が使用中のときは、コードのブロックも削除されます。

変数ブロック

change-variable

変数を指定しただけ変更します。

数値を指定すると、その値だけ足したり引いたりします。文字列を指定すると 0 になります。

スプライトをクリックすると得点が増えていきます。

57

set-variable

変数を指定したに変更します。

初期値などを設定するのに使います。

スクラッチを実行したときに得点を 0 にします。

58

variable

変数の値を取得して、それをブロックの値に指定できます。

得点が 10 より大きい時に「ゲームクリア」と言います。

59

変数にコスチューム名や音名、またその番号を設定するとそれに変更できます。

75

76

show-variable

変数をステージに表示します。

変数をチェックしたのと同じように表示します。

hide-variable

変数をステージから隠します。

変数のチェックを外したのと同じように非表示にします。

61

変数の注意点

スクラッチの変数はプログラムが終了しても値が残っています。緑の旗をクリックしたときに自動で初期化されることはありません。そのため、もう一度プログラムを実行したときに、前の値が残っているため不具合が発生することがあります。

変数やリストを使うときは、必ず最初に初期化する必要があります。

[緑の旗がクリックされたとき] に得点を加えて表示したら終了する処理があります。緑の旗をクリックするたびに得点が増えていきます。これはバグです。

62

そのため変数を使うときは必ず最初に初期化します。

63

これはx座標など、値を設定できるすべてのものに対して言えることです。

リストを作成する

リストを作成

[リストを作る] をクリックします。

53

リストの [名前] を入力し、[すべてのスプライト用] か [このスプライトのみ] を選択して [OK] をクリックします。

通常は [このスプライトのみ] を選択します。他のスプライトでも使用できると、変更する必要のないところで、まちがって変更される危険があります。不具合やバグを発生させないためにも、必要なスプライトのみで使用できるべきです。

54

作ったリストのブロックが表示されます。[▼] をクリックしてリストを選択できます。

55

リストを削除

リストブロックの [▼] をクリックして削除したい [リスト「リスト名」を削除する] をクリックします。

56

リストが削除されます。そのリストが使用中のときは、コードのブロックも削除されます。

リストブロック

add-list

リストの最後にを追加します。

追加した順番にリストに追加され、自動で 1 からの番号が振られます。

64

65

delete-list-index

リスト何番目の項目を削除します。

存在しない番号を指定したときは何もしません。

次のようなリストがあります。

65

2 番目の項目を削除します。

66

2 番目の「ばなな」が削除され、3 番目の「ぶどう」が 2 番目になります。リストは必ず 1 からの連番になるため、途中の番号が抜けることはありません。

67

もう一度 2 番目の項目を削除すると「ぶどう」が削除され、1 番目の「りんご」だけになります。

delete-list-all

リストからすべての項目を削除します。

リストを空にしたいときに使います。

68

insert-list

リスト何番目に指定したを挿入します。

指定できる番号の範囲は1 ~ 長さ + 1です。リストに 3 個入っていたら 1 ~ 4 まで指定できます。存在しない番号を指定したときは何もしません。

次のようなリストがあります。

67

1, 2, 3 番目をそれぞれ指定して「ばなな」を挿入すると、次のようになります。

69

set-list

リスト何番目を指定したに変更します。

存在しない番号を指定したときは何もしません。

次のようなリストがあります。

65

1 番目を「いちご」で置き換えると、次のようになります。

70

list

リストのすべての値を結合して取得し、それをブロックの値に指定できます。

結合するときはスペースで区切られます。

次のようなリストがあります。

65

リストを表示します。

71

リストの項目と項目の間にスペースを入れて結合したものが表示されます。スペースを _ で表すと「りんご_ばなな_ぶどう」になります。

72

item-list-index

リスト何番目の値を取得して、それをブロックの値に指定できます。

存在しない番号を指定したときは何も取得しません。

次のようなリストがあります。

65

1 番目なら「りんご」、2 番目なら「ばなな」、3 番目なら「ぶどう」を取得します。

index-list-name

リストの中にある指定したの番号を取得して、それをブロックの値に指定できます。

指定した項目が存在しないときは 0 を取得します。

次のようなリストがあります。

65

「りんご」なら 1、「ばなな」なら 2、「ぶどう」なら 3 を取得します。

length-list

リストの項目数を取得して、それをブロックの値に指定できます。

リストが空のときは 0 を取得します。

次のようなリストのときは 3 を取得します。

65

contains-list

リストの中に指定したが存在するか判定します。

指定した値と同じ項目があると true を返します。

リストの中に「りんご」があったら「りんごあるよ」と言います。

73

show-list

リストをステージに表示します。

リストをチェックしたのと同じように表示します。

hide-list

リストをステージから隠します。

リストのチェックを外したのと同じように非表示にします。

74
  • 目次
    • 変数ブロックとは
    • 変数を作成する
    • 変数ブロック
    • リストを作成する
    • リストブロック