こんにちは、ECF Techブログ
担当 Michiです。
今回はスクラッチとマイクロビットを使って、簡単なゲームプログラムに挑戦したいと思います。
以前の記事でもご紹介させて頂いたとおり、スクラッチ(Scratch)3.0から、マイクロビットとの連携ができるようになりました。この機能を使ってこんなゲームを作りたいと思います。まずは下の動画で動きをご確認ください。
ゲームの要点
- クラゲをあみでつかまえるゲームです。
- あみはマイクロビットの傾きを使って動かします。
- つかまえるとクラゲは別の場所に逃げ、またくるくるまわります。
というわけで、さっそくプログラムを見ていきたいと思います。
クラゲのプログラム
スクラッチでは、プログラムの中に登場するキャラクターやモノを「スプライト」と呼んでいます。このスプライト1つ1つにそれぞれプログラムを書いていくのが、基本的なスタイルになります。まずはクラゲのプログラムを書いていきましょう。
〇歩動かすは、最初の状態(下図)のときは右にすすみます。角度を少しずつ変えながら進むことで、円を描く動きを実現しています。
ですがこれだけだとクラゲは下図のように自身も回転しながら移動します。ちょっと動きが不自然ですので、下の図のように向きの設定で、「回転しない」のボタンを選んでおきましょう。
これでクラゲがきれいな動きになります。
次はクラゲがつかまってしまったときのプログラムを作ります。下のようにプログラムを追加します。
上の動画をご覧いただくとわかるとおり、クラゲはアミの真ん中にある赤い点にぶつかると「つかまった」と判定されます。それを実現するため、「赤色に触れたなら」を条件にしています。触れたときの流れは、
- 顔を赤くして(コスチュームをjellyfish-bにする)
- 「いやだ」と言って
- どこかに逃げる。
- 再びいつもの顔(コスチュームをjellyfish-aにする)にもどる
です。そして再び海の中を泳ぎまわります。
アミのプログラム
では次にアミのプログラムを見てみましょう。アミのプログラムは次のとおりです。
マイクロビットの操作に関するブロックを使っていることがわかります。これらはマイクロビットとスクラッチを接続を設定すると使えるようになります。この設定については下のリンク記事で紹介しています。
ではプログラムを確認していきましょう。「ずっと」ブロックの中に、「もし~なら」のブロックがそれぞれの向きに合わせて4つ並んでいます。マイクロビットの傾きを示す4つの条件ブロック(六角形のブロック)を用いることでマイクロビットと連動させています。移動についてはX・Y座標をそれぞれ適切に動かします。スクラッチの座標は次のようになっていますのでご参考ください。
アミのプログラムは以上になります。クラゲをつかまえたときのプログラムはすべてクラゲのプログラム部分に書いていますので、ここでは不要です。
これでプログラムは完成です。マイクロビットを動かしてクラゲをつかまえましょう。キーボードやマウスで操作するのとはまた違った感覚を楽しむことができますよ。
他にも
- クラゲをつかまえたら、マイクロビット側のLEDを光らせる
- AやBボタンでクラゲやアミのスピードを調整する
など、色々楽しみ方を付け加えることもできそうです。ぜひ、チャレンジしてみてください。
というわけで、今回はマイクロビットとスクラッチを連動させたゲームプログラムを作ってみました。この2つの連携によって、アソビの広がりを感じてもらえたらと思います。今日も最後までありがとうございました。
合同会社イー・シー・エフでは、子ども向けプログラミングなどの教育講座を実施しています。プログラミング教室の案内や教育教材の情報は、下記よりご確認ください。