【ゲーム】白熱!ドライビングゲーム
micro:bitのスプライト機能を使ったレースゲームです。前方からジグザグに迫り来る車をよけながら進みます。
1.内容
前方からジグザグに迫り来る車(敵機)をよけながら進むレースゲームです。手前に表示されているのが自分の車(自機)です。ボタンAとボタンBを使って、左右に移動することができます。上手く敵機をよけると、得点が1ポイント加算されます。
自機と敵機が接触するとゲームオーバーです。ボタンAとボタンBの同時押しで再スタートできます。
2.このプログラムの動作に必要なもの
このプログラムは、micro:bit本体のみで動作します。
- micro:bit本体
- パソコン(*1)
- USBケーブル(*1)
(*1):パソコン・USBケーブルは、プログラミングに必要なものです。
3.サンプルプログラム(ブロック)
サンプルプログラム(ブロック)です。
最初だけ実行されるプログラム
ボタンAが押されたときに実行されるプログラム
ボタンBが押されたときに実行されるプログラム
ずっと実行されるプログラム
4.サンプルプログラム(JavaScript)
サンプルプログラム(Javascript)です。
5.解説
micro:bitのスプライト機能を使ったレースゲームです。スプライト機能とは、1×1の大きさのLEDに名前を付ける(実際には、変数をスプライトとして宣言する)ことで、移動やスプライト同士の衝突判定などが簡単に行える機能です。このプログラムでは「自機」と「敵機」という二つのスプライトを定義しています。
通常のLEDブロックでは、LED画面でLEDの点灯を移動させる場合、点灯と消灯を意識してプログラムしなければなりませんが、スプライトの場合、座標を増やすだけで自動的に消灯・点灯の処理が行われます。
図5-1は、敵機がジグザグに移動しながら迫り来るプログラムです。敵機のY座標に1、X座標に乱数で-1・0・1のいずれかを加えています。これだけで、LED画面の左右からはみ出ることなく、敵機を移動させることができます。
6.チャレンジ
チャレンジ 1:スピードを変えてみよう
敵機の移動するスピードを変えてみよう。
チャレンジ 2:スピードを変化させてみよう
進むにつれて、だんだんとスピードが速くなるようにプログラミングしてみよう。