【Scratch】「条件」を追加しよう②〜サボテンにぶつかったら戻ってくる〜

Scratch

愛知県稲沢市在住の【中小企業診断士✖️IoTプロフェッショナルコーディネーター】が、ものづくりの楽しさをお伝えする《がちゃラボ》です。

今回はscratchというプログラミング言語を使って、「ある条件になったら」というプログラミングの基礎の考え方を学びたいと思います。第2弾です。

下記の記事では、エリアの端に着いたら戻ってくるというプログラムを組みました。キャラクターがエリアの端から端まで移動する、というプログラムで、サボテンを突き抜けて動いています。

もう少し現実に近い動きをさせるために、今回は『サボテンにぶつかったら戻ってくる』というプログラムを組みたいと思います。

キャラクターがサボテンにぶつかったら戻ってくるようプログラムしよう
スポンサーリンク

使用するブロック

『端にぶつかったら戻ってくる』というプログラムが組まれている状態から、新たに次のブロックを使います。

『もしならブロック』~もし〇〇したら、という条件ブロック〜

もし〇〇なら、という条件を組みたいときに使うブロック

『色に触れたブロック』~キャラクターがある色に触れたら〜

キャラクターがある色の背景に触れたらということを教えてくれる

『90度に向けるブロック』~キャラクターを好きな方向に向ける~

キャラクターを好きな方向に向けてくれる

条件を使ったプログラミングを始めていこう

条件ブロックを追加しよう

それでは条件ブロック、『もしならブロック』を追加しましょう。下記のようにブロックを追加してください。

回転方向を左右のみにするの下に、もしならブロックを追加した

もしならブロックは、「もし」と「なら」の間の図形にさまざまな条件を入れることで、「もし○○なら」というプログラムを作ることができます。

色を検出しよう

ではサボテンにぶつかったら、という条件を作っていきましょう。ただし絵に描いたサボテンという物体を見つけるのは難しいので、「緑色にぶつかったら」と置き換えて作ります。

では、その緑色を検出してみましょう。『色に触れたブロック』を先ほどの『もしならブロック』の「もし」「なら」の間の図形に入れてください。

「もし」と「なら」の間に色に触れたブロックを追加した

次に色を決めましょう。「色に触れた」という文の左に丸い部分がありますが、ここをクリックします。すると色を選ぶ画面が出てきます。今回は実際のサボテンの色をスポイトのように吸い取りたいと思います。

色を決めるためにスポイトをつかう

するとキャラクターがいるエリアに虫メガネが出てきます。そしてその中心をサボテンの枠の濃い緑色に合わせてクリックします。

サボテンの枠に合わせて、濃い緑色をスポイトで吸い取る

スポイトで吸い取った色は、『色に触れたブロック』に反映されます。

色に触れたブロックの色が変わった

これで、『もし、濃い緑色(サボテンの枠)に触れた、なら』という条件を作ることができました。

サボテン(色の濃い緑色)にぶつかったら跳ね返るようにしよう

さいごに、キャラクターがサボテン(の枠の濃い緑色)にぶつかったら、跳ね返るように『90度に向けるブロック』を追加しましょう。

もしならブロックの間に、90度に向けるブロックを追加した

これでプログラムは完成です。サボテン(の枠の濃い緑色)とエリアの右端の間を、行ったり来たりするプログラムができあがりました。

サボテンで跳ね返るか!?

さて、それではプログラムを実行してみましょう。実行するとサボテンの位置まで移動し、サボテンにぶつかると反転して戻ってきます。

サボテンにぶつかったら、反転して戻ってくる

さいごに

今回は色を検出して動きを変える、というプログラムを作りました。応用としては、壁にぶつかったらとか、水に落ちたら、みたいなプログラムが作れるかなと思います。色々と挑戦してみましょう。

コメント

タイトルとURLをコピーしました