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

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

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

制限時間内に脱出せよ!
付録2-6

【ゲーム】迷路

2018-02-192018-02-19

micro:bitが作り出す迷路からの脱出ゲーム。制限時間内に脱出できるか?

お知らせ

このプログラムは、旧バージョンのMakeCode for micro:bit V0でのみ動作します。https://makecode.microbit.org/v0からアクセスしてください。

1.遊び方

micro:bitからの挑戦!micro:bitが自動的に作り出す迷路から、制限時間内に抜け出す脱出ゲームです。君は無事に脱出できるか?

タイトル「Maze!」の後に「A:Select size B:Start」と表示されます。Aボタンを押して迷路のサイズを選んだ後、Bボタンでゲームスタートします。迷路の最小サイズは4マス×4マス、最大サイズは20マス×20マスで、Aボタンを押すごとに2マスずつ増やせます。

ゲームをスタートすると、micro:bitが指定されたサイズの迷路を自動的に作り出します。プレーヤーのミッションは、左上のスタート地点から右下のゴールへ向かって迷路を脱出することです。LED画面には、迷路のほんの一部しか表示されないので、経路を記憶しながらゴールを目指します。中央の点滅するLED1個がプレーヤーのアバター、周りの点灯しているLEDが迷路の壁です。micro:bitを傾けて、通路を進みます。

サイズに応じた制限時間が設けられるので、その時間内に脱出してください。画面に「Over the time limit.」と表示されると制限時間超過、ミッション失敗です。無事に脱出すると、制限時間の残りがスコアーとして表示されます。また、途中で棄権する場合は、AボタンとBボタンを同時に押してください。

背面のリセットボタンを押すまでは、脱出経路が同じ迷路となります。Bボタンでリトライできるので、最高得点を目指したり、友達と競うことができます。

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

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

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

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

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

お知らせ

このプログラムは、旧バージョンのMakeCode V0でのみ動作します。https://makecode.microbit.org/v0からアクセスしてください。

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

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

迷路のサイズ決定と、迷路を作成する関数を呼び出します。

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

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

中心となるプログラムです。迷路の表示・移動処理・ゴールの判定・制限時間の経過処理などを行います。

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

Aボタンが押されたときのプログラム

Aボタンが押されたときのプログラムです。迷路のサイズを変更します。

図3-3.Aボタンが押されたときのプログラム
図3-3.Aボタンが押されたときのプログラム

Bボタンが押されたときのプログラム

Bボタンが押されたときのプログラムです。ゲームをスタートします。

図3-4.Bボタンが押されたときのプログラム
図3-4.Bボタンが押されたときのプログラム

AボタンとBボタンが一緒に押されたときのプログラム

AボタンとBボタンが一緒に押されたときのプログラムです。ゲームを棄権します。

図3-5.AボタンとBボタンが一緒に押されたときのプログラム
図3-5.AボタンとBボタンが一緒に押されたときのプログラム

迷路を初期化する関数(InitMaze)

迷路を作成する関数です。外壁の作成後・内壁を一定のルールをもとにしてランダムに作成します。

図3-6.迷路を初期化する関数(InitMaze)
図3-6.迷路を初期化する関数(InitMaze)

壁をセットする関数(SetWall)

座標が指定されたマスに、指定された方向の壁をセットします。

図3-7.壁をセットする関数(SetWall)
図3-7.壁をセットする関数(SetWall)

右下がフリーなポイントかどうか確認する関数(CheckFreeWall)

座標が指定されたマスの右下がフリーなポイントかどうか判定します。

図3-8.右下がフリーなポイントかどうか確認する関数(CheckFreeWall)
図3-8.右下がフリーなポイントかどうか確認する関数(CheckFreeWall)

迷路を表示する関数(ShowMaze)

迷路をLED画面に表示します。

図3-9.迷路を表示する関数プログラム(ShowMaze)
図3-9.迷路を表示する関数プログラム(ShowMaze)

4.プログラム(JavaScript)

お知らせ

このプログラムは、旧バージョンのMakeCode V0でのみ動作します。https://makecode.microbit.org/v0からアクセスしてください。

プログラム(Javascript)です。

5.仕組み

micro:bitには、傾き(三軸加速度)を取得するセンサーが内蔵されています。そのセンサーで取得した傾きに応じて、迷路を移動させます。

6.チャレンジ

経路中にばらまかれた宝を取りながら、ゴールを目指す迷路に改造するのも面白いね。

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