
Scratch(スクラッチ)の基本①|ブロックの種類と組み合わせ方をわかりやすく解説
Scratch(スクラッチ)は、世界中の子供たちに使われているビジュアルプログラミング言語です。文字のコードを打ち込まなくても、パーツを組み合わせるだけでプログラムが作れる手軽さが魅力ですが、基本的な仕組みを知っておくと、操作のスピードも理解度もぐっと上がります。この記事では、Scratchプログラミングの基本中の基本である「ブロック」について、初めて触れる子供から一緒に学ぶ保護者の方まで、わかりやすく解説します。
目次
ブロックはコンピューターに命令を伝える「言葉」
プログラミングとは、コンピューターに「やってほしいこと」を伝える作業です。本来、コンピューターに命令を出すには専用のプログラミング言語を覚える必要があり、英語が話せないとアメリカ人と会話できないのと同じように、コンピューター言語を知らなければ命令を出すことはできません。
Scratchでは、このコンピューター言語の代わりに「ブロック」と呼ばれるパーツを使います。ブロックには「10歩動かす」「ずっと繰り返す」のように、できることが日本語で書かれており、形や色によって役割が一目でわかるようになっています。文字のコードを覚えていなくても、ブロックを見ながら直感的に組み立てられるため、Scratchは「ビジュアルプログラミング言語」と呼ばれています。
ブロックを組み合わせたものが「スクリプト」
文章が複数の単語からできているように、Scratchの「スクリプト」は複数のブロックを組み合わせてできています。ブロック1つが単語だとすると、スクリプトは文章にあたるイメージです。思いどおりに動かなければ、ブロックの順番や組み合わせを変えてみましょう。この「組み替えて、より正確にコンピューターへ伝える」作業こそがプログラミングです。
ブロックは凸と凹でつながる
Scratchのブロックは、見た目だけで「組み合わせられるかどうか」が判断できます。ブロックの上端にある凹みと、別のブロックの下端にある凸を合わせるようにくっつけると、パズルのピースのようにつながります。基本的にブロックは上下方向にしかつながらず、平らな面どうしや横どうしは組み合わせられません。
Scratchのブロックは10のカテゴリーに分かれている
現在のScratchエディタでは、ブロックは色ごとに「動き」「見た目」「音」「イベント」「制御」「調べる」「演算」「変数」「ブロック定義」「ペン(拡張機能)」という10のカテゴリーに分類されています。色分けされているので、「動かしたいときは青系」「条件分岐や繰り返しをしたいときはオレンジ系」というように、目的のブロックを探しやすくなっているのが特徴です。
カテゴリーの数は多く感じるかもしれませんが、最初からすべてを覚える必要はありません。まずは次の3つの役割を意識すると、全体の動きがぐっと理解しやすくなります。
- 動きや見た目を変える「命令ブロック」
- 繰り返しや条件分岐を行う「制御ブロック」
- プログラムを始めるきっかけになる「イベントブロック」
①動きや見た目を変える「命令ブロック」
ネコのキャラクターを右に10歩動かしたいときは、「10歩動かす」のような命令ブロックを使います。「動かす前に向きを変えたい」と思えば、「10歩動かす」ブロックの上に「90度回す」ブロックを積み重ねればOK。動いたあとに何かさせたいときは、ブロックの下に新しいブロックをつなげます。このように、命令ブロックは上下に自由につなげて動作の順番を作っていきます。
②繰り返しや条件分岐を行う「制御ブロック」
制御ブロックは、ほかのブロックを内側に包み込むようにして使うのが特徴です。包み込んだブロックを「どう動かすか」をコントロールする役割を持っています。例えば「10歩動かす」という命令ブロックを「10回繰り返す」という制御ブロックで囲めば、結果として右に100歩動くプログラムになります。
制御ブロックの中には、「ずっと」のように中の処理を永久に繰り返すものもあります。この場合、ブロックの下に別のブロックをつなげても実行されないため、「ずっと」ブロックは基本的にスクリプトの最後に置くという点を覚えておきましょう。
③プログラムを始めるきっかけになる「イベントブロック」
「イベント」とは、プログラミングの世界で「何かが起こるきっかけ」を表す言葉です。身近な例で考えてみましょう。エレベーターは、ボタンを押すという「きっかけ(イベント)」があってはじめて動き出します。ボタンを押さなければ、エレベーターはその場にとどまったままです。
Scratchにも、こうした「きっかけ」を作るイベントブロックがあります。代表的なものに「(緑の旗)が押されたとき」「スペースキーが押されたとき」「スプライトがクリックされたとき」などがあり、これらをスクリプトの先頭に置くことで、プログラムがいつ動き出すかを決められます。
イベントブロックは上が丸みを帯びた帽子のような形(ハットブロック)をしているのが特徴で、ほかのブロックを上につなげることはできません。必ずスクリプトの一番上に置くブロックだと覚えておきましょう。
慣れてきたら挑戦したい「ブロック定義」
ブロックの組み合わせに慣れてきたら、「ブロック定義」を使って自分だけのオリジナルブロックを作ることもできます。何度も使う一連の処理をひとつのブロックにまとめておける機能で、長いスクリプトを整理してすっきり見せたいときに役立ちます。数値や文字列、真偽値などの引数を設定できるため、より柔軟なプログラムが組めるようになる、少し上級者向けの機能です。
作成したオリジナルブロックは、あとから内容を編集することも可能です。ただし、作成したスプライト(キャラクターなどのオブジェクト)の中だけで使えるものなので、ほかのスプライトには自動的に引き継がれない点に注意しましょう。
あわせて読みたい記事
- Scratch(スクラッチ)の基本[2]-プログラムのスタートとストップ
- Scratch(スクラッチ)の基本[3]-スプライトとは
- Scratch(スクラッチ)で簡単にプログラミングの基礎が身に付く7ステップ
まとめ:ブロックはScratchプログラミングの土台
Scratchのブロックは、形や色によって役割が決まっており、組み合わせ方のルールさえつかめば、誰でも直感的にプログラムを作れます。最初から10のカテゴリーをすべて覚えようとせず、「命令」「制御」「イベント」の3つの役割を意識しながら、簡単なブロックの組み合わせから少しずつ挑戦してみましょう。慣れてきたら、ブロック定義などの応用機能にもチャレンジして、自分だけの作品づくりを楽しんでください。

