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