「ものづくり:make」を楽しみながら学ぶ人へ向けた独習サポートサイト。

micro:bit Lab.【マイクロビット】

micro:bit Lab.では、micro:bit【マイクロビット】に関する情報を紹介しています。

ジグザグに迫り来る車をよけて進め!
付録2-22

【ゲーム】白熱!ドライビングゲーム

2018-12-082018-12-08

micro:bitのスプライト機能を使ったレースゲームです。前方からジグザグに迫り来る車をよけながら進みます。

1.内容

前方からジグザグに迫り来る車(敵機)をよけながら進むレースゲームです。手前に表示されているのが自分の車(自機)です。ボタンAとボタンBを使って、左右に移動することができます。上手く敵機をよけると、得点が1ポイント加算されます。

図1-1.白熱!ドライビングゲーム
図1-1.白熱!ドライビングゲーム

自機と敵機が接触するとゲームオーバーです。ボタンAとボタンBの同時押しで再スタートできます。

2.このプログラムの動作に必要なもの

このプログラムは、micro:bit本体のみで動作します。

  • micro:bit本体
  • パソコン(*1)
  • USBケーブル(*1)

(*1):パソコン・USBケーブルは、プログラミングに必要なものです。

3.サンプルプログラム(ブロック)

サンプルプログラム(ブロック)です。

最初だけ実行されるプログラム

図3-1.最初だけ実行されるプログラム
図3-1.最初だけ実行されるプログラム

ボタンAが押されたときに実行されるプログラム

図3-2.ボタンAが押されたときに実行されるプログラム
図3-2.ボタンAが押されたときに実行されるプログラム

ボタンBが押されたときに実行されるプログラム

図3-3.ボタンBが押されたときに実行されるプログラム
図3-3.ボタンBが押されたときに実行されるプログラム

ずっと実行されるプログラム

図3-4.ずっと実行されるプログラム
図3-4.ずっと実行されるプログラム

4.サンプルプログラム(JavaScript)

サンプルプログラム(Javascript)です。

5.解説

micro:bitのスプライト機能を使ったレースゲームです。スプライト機能とは、1×1の大きさのLEDに名前を付ける(実際には、変数をスプライトとして宣言する)ことで、移動やスプライト同士の衝突判定などが簡単に行える機能です。このプログラムでは「自機」と「敵機」という二つのスプライトを定義しています。

通常のLEDブロックでは、LED画面でLEDの点灯を移動させる場合、点灯と消灯を意識してプログラムしなければなりませんが、スプライトの場合、座標を増やすだけで自動的に消灯・点灯の処理が行われます。

図5-1は、敵機がジグザグに移動しながら迫り来るプログラムです。敵機のY座標に1、X座標に乱数で-1・0・1のいずれかを加えています。これだけで、LED画面の左右からはみ出ることなく、敵機を移動させることができます。

図5-1.敵機の移動
図5-1.敵機の移動

6.チャレンジ

チャレンジ 1:スピードを変えてみよう

敵機の移動するスピードを変えてみよう。

チャレンジ 2:スピードを変化させてみよう

進むにつれて、だんだんとスピードが速くなるようにプログラミングしてみよう。

この記事を読んだ人は、こんな記事にも興味があります。
スポンサーリンク
TOPへ移動
目次へ移動