不安定な板の上にのり、落ちてくるボールを、板を傾けてよけるゲームを作ります。
機能
「高度なブロック」の中の「ゲーム」カテゴリにあるブロックを使って、バランスゲームを作ります。
「自分」、「ボール」というふたつのスプライトを準備します。このふたつのスプライトがぶつかったらゲーム終了です。
「ボール」スプライトは、上から1コマずつ落ちてきます。
「自分」スプライトは、加速度センサ(傾き)の観測結果に基づいて、左右に移動します。
不安定な板にマイクロビットを貼り付け、板の上に人が乗り、板を左右に傾けることで、「自分」スプライトを左右に移動させ、「ボール」スプライトとぶつからないようにします。
材料
- マイクロビット
- 電池ボックス(単四×2、PHコネクタ付き)
- 電池(単四×2)
- 木の板
- 角材(積み木)
- 消しゴムの切れはし、両面テープ
プログラム
「最初だけ」で、ふたつのスプライトを作成します。
「ボタンAが押されたとき」に、ゲームが開始します。
ゲームが開始されると、まず「前処理」関数で、「ボール」スプライトの横方向の位置を乱数で決めます。また、点数をゼロにリセットします。
カウントダウン(3→2→1)で「前処理」が終わり、このあと「ゲーム」関数が呼び出されます。
「ゲーム」関数では、「傾斜(ロール)」の観測結果に応じて、「自分」スプライトが、横方向に1コマずつ動きます。
また、「ボール」スプライトを1コマずつ落とします。「ボール」が一番下まで到達すると、点数を1点ふやし、「ボール」を一番上に戻します。横方向の位置は再度、乱数で決めます。
1回クリアするたびに、「ボール」の落下速度が速くなります。
「ボール」と「自分」がぶつかったら「ゲームオーバー」です。
つなぎかた
マイクロビットは、電池ボックスをつなぐだけです。
木の板のうら面まん中あたりに、角材を貼り付けます。
おもて面にマイクロビットと電池ボックスを貼り付けます。
結果
Aボタンを押すと、ゲームがはじまります。
板の上にのり、板を傾けることで、「自分」スプライトを動かすことができます。
板にとりつけなくても、マイクロビットを手で持って遊ぶこともできますし、プログラムを改良して、ボールの数を増やすなど、もっと複雑にすることもできます。
「ゲーム」カテゴリのブロックを使うことで、色々なゲームを簡単に作ることができそうです。
なお、私がマイクロビットの使い方を習得するのにあたっては、以下の書籍を参考にさせていただきました。
初心者向けから、比較的高度なものまで、さまざまな情報が記載されているだけでなく、子供向けの作例も多数掲載されていますので、「プログラミング教育」のための題材さがしなどにもおすすめです。