
スクラッチ(Scratch)の基本[1]-ブロックとは
スクラッチ(Scratch)は、ビジュアルプログラミング言語です。子供でも扱えるほど簡単なプログラミング学習環境として知られています。とはいえ、いくら簡単でも、基本的なことを知っておいたほうが理解は早く進みます。小学校やプログラミング教室でも教わる内容です。この記事では、スクラッチの基本のひとつである「ブロック」について、予習・復習に使えるように解説します。子供はもちろん、親も一緒に勉強してみてください。
ブロックはコンピューターと話すための言葉
プログラミングとは、コンピューター言語を使ってコンピューターに命令を出すことです。コンピューター言語は「言語」とはいえ、私たちが普段使う言葉とは違うものを想像してください。本来、このコンピューター言語を覚えなければプログラミングはできません。例えば「What time is it now?」と英語で話さないとアメリカ人に時間を聞けないのと同じことです。
スクラッチのコンピューター言語にあたるのが「ブロック」です。基本的に、ブロックを積み重ねてコンピューターに命令を出します。ブロックはそれぞれ形や色が違い、「できること」が日本語で書いてあるので、コンピューター言語を覚えていなくてもプログラミングできます。先ほどの例で言えば、時計のイラストを見せてアメリカ人から時間を聞き出すようなものです。
このように、スクラッチのブロックは見た目で役割が見て取れます。そのため、スクラッチはビジュアルプログラミング言語とも呼ばれているのです。
ブロックが組み合わさるとスクリプトになる
文章は、複数の単語が連なってできています。スクラッチのブロックが単語だとしたら、スクリプトは文章です。正確に内容を伝えるために文章を書き直すことがあるように、スクラッチでも、コンピューターにより正確に内容を伝えるためにブロックを組み替えます。このブロックを組み替えてスクリプトを作ることを、プログラミングと呼ぶのです。
ブロックは凸と凹でつながる
スクラッチのブロックは、見た目で組み合わせられるかどうかを判断できます。基本的に、デコ(凸)とボコ(凹)がくっつき、平らな面どうしはくっつきません。また、ブロックは横にはつながらず、基本的に上下のどちらかにくっつきます。パズルのピースのような感覚で組み立てられます。
ブロックは役割で大きく3つに分けられる
スクラッチのブロックは色や形で細かく分かれていますが、役割で大きく分けると、次の3つのグループで考えると理解しやすくなります。
- コンピューターを動かす命令ブロック
- スクリプトの実行方法を決める制御ブロック
- タイミングなどを決めるイベント(ハンドラー)ブロック
一つずつ解説します。
コンピューターを動かす命令ブロック
スクラッチの猫を右に10歩移動させたいときは、「10歩動かす」のような命令ブロックを使います。「動くだけでは物足りない、動く前に回転させたい」と思えば、「10歩動かす」ブロックの上に「90度回す」ブロックを積み重ねます。さらに、動いたあとで回転させたければ、ブロックの下にくっつけます。このように、命令ブロックどうしは上下にくっつけられるのです。
スクリプトの実行方法を決める制御ブロック
制御ブロックは、基本的に命令ブロックを包み込む形で使います。包み込んだ命令ブロックを、どのように動かすかを制御するためです。例えば「10歩動かす」という命令ブロックを「10回繰り返す」という制御ブロックで包めば、結果的に右へ100歩動くことになります。
また、制御ブロックは種類によって、下に他のブロックをつなげられない場合があります。例えば「ずっと」という制御ブロックは、中身の命令を永久に繰り返すため、その下に別のブロックをつなげても実行されないからです。
タイミングなどを決めるイベントブロック
「イベントハンドラー」という言葉は聞き慣れない人も多いでしょう。プログラミングの世界では一般的な言葉で、「イベント=出来事」「ハンドラー=扱う人」なので、直訳すると「出来事を扱うもの」となります。
プログラミング独特の考え方なので理解しにくいかもしれませんが、そんなときは実生活に置き換えて考えてみましょう。エレベーターに乗ったとき、「7F」というボタンを押すことでエレベーターは動き出します。ボタンを押さなければ、その階にとどまったままです。この「ボタンを押す」というきっかけが、イベントにあたります。
スクラッチには、こうしたイベントをつかさどるブロックがあります。イベントの種類はさまざまで、「(緑の旗)が押されたとき」「スペースキーが押されたとき」「スプライトがクリックされたとき」などがあります。
また、イベントブロックの性質上、上に別のブロックはくっつきません。スクリプトの先頭にしか置けないという特徴もあります。形も、上が丸みを帯びた帽子のような形(ハットブロック)になっているので、見た目でも区別できます。
自分だけのオリジナルブロック(ブロック定義)
ブロックを組み合わせてスクリプトを組むことに慣れたら、自分だけのオリジナルブロックを作ることもできます。これは「ブロック定義」と呼ばれる機能で、何度も使う処理をひとつのブロックにまとめておけるものです。長いプログラムを整理して見やすくしたいときにも役立ちます。数値や文字列、真偽値などの引数も設定できます。少し高度な技術になりますが、慣れてきたらチャレンジしてみてください。
オリジナルブロックは、一度作ったあとでも再編集できます。ただし、作成したスプライトの中で使うものなので、他のスプライト(オブジェクト)にそのまま引き継がれるわけではない点に注意しましょう。
ブロックはスクラッチ(Scratch)の基本
スクラッチでプログラミングをするとき、ブロックは最も基本となるものです。ブロックをコツコツ組み合わせて、徐々に複雑なスクリプトにしていく——その行為自体がプログラミングです。まずは簡単なブロックの組み合わせから始めて、少しずつステップアップしていきましょう。
ブロックの基本がわかったら、次はスクラッチ(Scratch)の基本[2]-プログラムのスタートとストップで実行・停止の操作を学び、スクラッチ(Scratch)で簡単にプログラミングの基礎が身に付く7ステップで実際に作品づくりに挑戦してみましょう。

