【ゲーム】迷路

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からアクセスしてください。
プログラム(ブロック)です。
最初だけ実行されるプログラム
迷路のサイズ決定と、迷路を作成する関数を呼び出します。
ずっと実行されるプログラム
中心となるプログラムです。迷路の表示・移動処理・ゴールの判定・制限時間の経過処理などを行います。
Aボタンが押されたときのプログラム
Aボタンが押されたときのプログラムです。迷路のサイズを変更します。
Bボタンが押されたときのプログラム
Bボタンが押されたときのプログラムです。ゲームをスタートします。
AボタンとBボタンが一緒に押されたときのプログラム
AボタンとBボタンが一緒に押されたときのプログラムです。ゲームを棄権します。
迷路を初期化する関数(InitMaze)
迷路を作成する関数です。外壁の作成後・内壁を一定のルールをもとにしてランダムに作成します。
壁をセットする関数(SetWall)
座標が指定されたマスに、指定された方向の壁をセットします。
右下がフリーなポイントかどうか確認する関数(CheckFreeWall)
座標が指定されたマスの右下がフリーなポイントかどうか判定します。
迷路を表示する関数(ShowMaze)
迷路をLED画面に表示します。
4.プログラム(JavaScript)
このプログラムは、旧バージョンのMakeCode V0でのみ動作します。https://makecode.microbit.org/v0からアクセスしてください。
プログラム(Javascript)です。
5.仕組み
micro:bitには、傾き(三軸加速度)を取得するセンサーが内蔵されています。そのセンサーで取得した傾きに応じて、迷路を移動させます。
6.チャレンジ
経路中にばらまかれた宝を取りながら、ゴールを目指す迷路に改造するのも面白いね。