スクラッチを始めよう!番組のスクラッチワールドで遊ぶ

番組を見る

No.5 リンゴ犬マックスを応援しろ

木から落ちるリンゴをキャッチする犬マックスが住む「マックスの世界」。しかし、なんだかやる気がない。みんなに応援してもらえば元気が出るというのだが…。みんなの声援をマックスに届けるのだ!

マックスの世界 ~リンゴ犬マックスを応援しろ~

<このスクラッチ・ワールドについて>

「マックスの世界」のテーマは、現実の世界とつながること。番組ではその例として「音量」を扱った。マイクで得られた現実の「音量」によって、パソコンの中のマックスの速さをコントロールしたんだね。実は、音だけでなく、スクラッチでは、カメラを使ったり、モーターを使って組み立てたブロックを動かしたりすることもできるんだ。プログラムはパソコンの中だけでなく、現実の世界のいろいろなものの中に仕組まれている。プログラミングは、現実世界のいろいろなものを、思い通りに動かすための手段にもなっているんだね。君だったら、プログラミングで何を動かしてみたい?

5-1「マイクを使ってそうさ」

前準備

スクラッチサイトにアクセスして、サインインしよう。
(まだ自分のアカウントを作っていない人は、「スクラッチのはじめ方」にしたがってアカウントを作ってね)
why_programming_5のスタジオ(※NHKサイトをはなれます)を見てみよう。

why_programming_5のスタジオで、プロジェクト「5_1 マイクを使ってそうさ」を選び、「中を見る」、次に「リミックス」をおして、自分のアカウントにコピーしてね。
(コピーの仕方は「自分の作品を作ろう!リミックス(改造)をする」も読んでね)

ラム

リアルワールドから応えんしよう

ALT

まずは、プログラムを実行してみましょう。パソコンのマイクに向かって声を出して、マックスを応えんして!

うーん、張り切って始まったけど、マックスはゆっくりしか動かなくて、リンゴが落ちるところへ間に合っていないわね。

ラム

ALT

マックスのプログラムはどうなっているかしら?
左下のスプライトリストで「マックス」を選んで、スクリプトエリアを見てみましょう。

画面の端(はし)に触(ふ)れるまで
 ・次のコスチュームにする
 ・0.15秒待つ
 ・3歩動かす
をくり返すようになっているわね。

これじゃ、声に反応する命令がないから、いくら応えんしてもマックスは3歩ずつのゆっくりしたスピードでしか動かないわけだわ。

ラム

マイクで音の大きさをセンシング

ALT

ここで、マイクがとらえた音の大きさを表すブロックをしょうかいするわね。
それは、水色の「調べる」の中にある「音量」ブロック。
「音量」ブロックをスクリプトエリアへ持っていく。

「音量」ブロックをクリックすると、「カメラとマイクへのアクセス」っていうパネルが出るから、ここでは緑色の「許可(きょか)」をおしてね。

ラム

ALT

コンピューターのマイクがちゃんと音をひろっているか確かめてみましょう。
「□と言う」ブロック「音量」を入れて、「ずっと」ブロックで囲む。
そして、このかたまりをクリックすると、

ラム

ALT

ステージにいるマックスからふきだしが出て、その中に数字が表示されたかしら?
まわりが静かなら「0」と表示されてるかも。その数が、パソコンのマイクがとらえた音の大きさよ。
マイクに向かって声を出してみましょう。
声の大きさに合わせて、数が大きくなったり小さくなったりすれば、OK。

ラム

※ここがうまくいかないときは、
 ・パソコンにマイクが付いていない
 ・マイクの録音ボリュームが下がっている
かも知れません。大人や先生に調べてもらいましょう。
 (マイクの設定 ※NHKを離れます)

音の大きさで動くきょりを変える

ALT

では、元のマックスのプログラムを改造して、音の大きさで動くきょりが変わるようにしていこう。
ブロックパレットで、緑色の「演算」の中の「○ + ○」ブロック「3歩動かす」の中に置いて。

ラム

ALT

そして、(3) + (音量) 歩動かす」となるようにする。
「演算(えんざん)」というのは、足し算、引き算、かけ算、割り算などの計算のことよ。
ここでは、
・応えんの声がない時は、声の大きさが0だから、
 「3 + 0」で3歩動かす
・応えんの声の大きさが50の時は、
 「3 + 50」で53歩動かす
もっと声が大きくて100の時は、
 「3 + 100」で一気に103歩動かす
という命令になるの。

では、プログラムを実行!スタートしたら、マイクに向かって応えんしてね。

ラム

もっと演算(計算)を使う

ALT

どうだった?
声が大きいとマックスの動きが速すぎて、リンゴを一気に通り過ぎてしまったかも知れないわね。
演算ブロックの○の中には、また演算ブロックを入れることができるの。これを使って、音量を半分にするように変えてみましょう。
音量の数を半分にするには、
・割り算なら…(音量) ÷ 2
(÷はスラッシュ記号「/」で表す)
・かけ算なら…(音量)× 0.5
(×はアスタリスク記号「*」で表す)
のどちらでもいけるわね。

ラム

ALT

割り算を使って、音量を半分にするならこうね。
今度こそ、マックスにうまくリンゴを拾わせることができるかしら?実行してみて。

ラム

ALT

うまくいったかしら?
演算ブロックの○は、( )で囲んだことになるから、それぞれの○の中にまた演算ブロックを入れたときは、どこが先に計算されることになるか注意しないと思わぬ結果になることがあるわ。
例えば、こんなブロックの計算結果はいくつかな?
3かな?4かな?ブロックをクリックして確かめてみて!

今回はここまで。「クローン」や「乱数(らんすう)」は、続きのきょうざいで!

ラム

今回のまとめ

  • マイクを使うと、手を使わずにそうさするプログラムもできる
  • プログラミングでは、割り算はスラッシュ記号「/」、かけ算はアスタリスク記号「*」を使う

今回のリミックス

マックスがリンゴをキャッチしても自分で食べてしまわないで、ほかのリンゴも落ちてくるのを拾い続けるゲームに改造してみよう。