【ロボットプログラミング教育】ロボット×Scratchで瞬発力ゲームで遊ぶ

プログラミング教室「プロラボ唐津」では、ロボットを使ったプログラミング教育を行っています。

プログラミングロボット「クムクム」

使用しているプログラミングロボットは、「クムクム」です。

今回は、こちらのロボットを使ったプログラミングの例を紹介します。

こちらの動画では、「クムクムロボットとScratchを使って、瞬発力ゲームで遊ぶ」プログラムと紹介されています。

瞬発力ゲームとは、クムクムロボットの胸についているLEDが光った瞬間に、いかに早く「パンっ」と手を叩いて反応できるかのゲームです。

「瞬発力ゲーム」のプログラムを考える

まず、ゲームの流れを簡単に箇条書きにまとめると以下のような感じです。

  1. クムクムロボットのLEDがランダムな時間に光る
  2. 「パンっ」と手を叩いて反応した時間を計測する
  3. 速く反応できれば成功、反応できなければ失敗

こちらのプログラムは、乱数と条件分岐のif文を使っている簡単なプログラムです。

こちらのブログを読み進めていった方は、すでに乱数と条件分岐のif文については、理解できているかと思います。

乱数とは、指定した数字の範囲で、ランダムに数字を生成するものです。

具体的にScratchでは、このブロックが乱数です。

この「1」「3」の数字を変更するこで、好きな範囲の数字をランダムで生成できます。

瞬発力ゲームは、いつLEDが光るか分からないのが肝ですので、この乱数を使ってランダムにLEDを光らせています。

乱数は、「ロボット×Scratchで記憶力ゲームで遊ぶ」でも利用しています。

次に、条件分岐のif文についてですが、ifには、英語で「もし~ならば」という意味がありますよね。

つまり、「3.速く反応できれば成功、反応できなければ失敗」というのは、条件分岐のif文に直すと、「もし速く反応できたら『成功』という処理を、反応できなければ『失敗』という処理を実行する」ということです。

具体的にScratchでは、「もし~なら●」「もし~なら●でなければ▲」のブロックを使います。

この「反応」をどうチェックするかですが、これは、LEDが光った時間から「パンっ」と手を叩いた時間で判断しています。

「パンっ」と手を叩いた時間で判断しているのは、おそらくクムクムロボットの「高感度コンデンサーマイク」を使っています。

高感度コンデンサーマイクは、周囲の音の大きさを検知するマイクで、手を叩いた音を検知して、反応した時間を割り出しているのでしょう。

実は、Scratchにも「音量」をチェックできるブロックがあります。

ただし、マイクが必要になりますので、「音量」ブロックを使いたい場合は、マイクを用意する必要があります。

少し道がそれましたが、LEDが光った時間から「パンっ」と手を叩いた時間までは、マイクを利用することで簡単に取得できます。

あとは、条件分岐のif文で、設定した時間の範囲内なら「成功」、範囲外なら「失敗」のプログラムを作れば完成です。

これって、実は「ロボット×Scratchで時間当てゲームで遊ぶ」とほとんど同じようなプログラムなんです。

「記憶力ゲーム」も「瞬発力ゲーム」も、ゲームの本質は時間をチェックしているということです。

時間をチェックするプログラムをうまく使って、「記憶力ゲーム」や「瞬発力ゲーム」を生み出していたというわけです。

プログラミング教室「プロラボ唐津」では、そのプログラムの本質がどこにあるのかも教えながら、子供たちの発想力で、楽しい作品を作っていきます。

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