第5回 Scratch

論理式

プログラム上で複雑な条件を表す方法があります。

論理演算

論理演算を用いると値を比較するだけではなく、複数の条件を組み合わせることができます。そのため複雑な条件を表すことができます。

Scratchの論理演算には「かつ」「または」「ではない」の3つがあります。条件A、Bがある場合は例に、各ブロックを表したものが以下です。

※色付きの部分が該当する箇所

例えば、イベントの参加資格で考えてみましょう。以下の制限があった場合、このイベントに参加するための条件を図で表すと以下のようになります。

  • 身長が120cm以上
  • 体重90kg未満

Scratchのブロックで表すと以下です。

※「120cmと等しい」と「120cmより大きい」を組み合わせて「120cm以上」を表現しています。

入れ子になった分岐

プログラムでは、処理の中にさらに制御文を入れて分岐させることができます。このような入れ子のことをネストといいます。

  • 条件1と条件2の両方が成立→処理1を実行
  • 条件1のみ成立→処理2を実行
  • 条件1が成立しない→処理3を実行
  • もし得点が80より大きい場合
    • 得点が100なら「満点」と言う
    • 得点が100でなければ「もう少し」と言う
  • 得点が80以下なら「頑張って」と言う

クローン

同じスプライトをいくつも表示したいときに、必要な数だけ用意するには手間がかかります。そのときはクローンという機能を使用します。

クローンとは

クローンとはスプライトを複製することです。また複製されたスプライトもクローンとよびます。

クローンされたスプライトはオリジナル(クローンの元)と同じスクリプトを共有します。

クローンで使うブロック

クローン機能を使用するには「制御」カテゴリにある以下のブロックを使用します。

指定したスプライトを複製します。スプライトリストにあるスプライトドロップダウンリストに表示されます。

スプライトが複製されたとき、下に続くスクリプトを実行します。

このブロックを実行したクローンを削除します。(消えるのはこのクローンのみ)

停止ボタンなどで実行を止めると全てのクローンは削除されます。

クローンできる数

クローンは300個まで作ることができます。ただし、クローンの数が増えすぎると処理が遅くなったり、止まってしまうこともあります。そのため増やしすぎないように注意し、不要なクローンは削除しましょう。

クローンを作る

本体のスプライトからクローンを作るスクリプトを左、クローンの動作を指定するスクリプトを右で作成します。

本体を非表示にする

スクリプトによっては、本体のスプライトは表示せず、クローンだけを表示した方がいい場合もあります。その場合は、それぞれ「隠す」と「表示する」ブロックを追加します。

緑の旗

スクリプトを実行するときによく使われるのが、緑の旗のボタンです。

イベント

マウスをクリックする、キーボードを押す、などプログラムに何かを行わせるきっかけのことをイベントといいます。

緑の旗

Scratchで処理を始めるきっかけとしてよく使われるのが、緑の旗です。このボタンをクリックすると「緑の旗が押されたとき」ブロックに続くスクリプトが実行されます。

並列処理

複数の処理を同時に行うことを、並列処理といいます。これに対してプログラムを順番に従って処理をしていくことを逐次処理といいます。

Scratchで並列処理を行うには、同じイベントでスクリプトが実行されるようにします。

実行するとネコが左右に動きながら「ニャー」と鳴き「ニャー」と言い続けます。

二羽の鳥が左右に飛び回る

二羽の鳥がランダムな速さで左右に飛び回るプログラムを作成します。

今回は、スプライトライブラリーから「Parrot」を追加して使用します。他のスプライトは全て削除してください。

また、背景ライブラリーから「Blue Sky 2」を選択して変更します。

スプライトの「Parrot」を複製します。

複製すると「Parrot2」という名前のスプライトが表示されます。

複製したスプライト「Parrot2」のプログラムを一部変更します。

ボールが分裂

ボールがうずを巻くように沢山飛ぶプログラムを作成します。

今回は、スプライトライブラリーから「Ball」を追加して使用します。他のスプライトは全て削除してください。

また、背景ライブラリーから「Blue Sky 2」を選択して変更します。

ネコ連打

ネコが動き回っているときに、キーボードのスペースキーを押すと、ネコが分身して動き回るプログラムを作成します。

今回は、スプライトライブラリーから「Cat」を追加して使用します。他のスプライトは全て削除してください。

また、背景ライブラリーから「Blue Sky 2」を選択して変更します。