壁伸ばし法で作成した迷路は、(偶数,偶数)のマスは必ず壁になり、(奇数,奇数)のマスは必ず通路になる特徴があります。
※左上の座標を(y,x)=(0,0)とした場合
例えば通路に宝箱や仕掛けを作ろうとした場合、(奇数,奇数)のマスに作れば壁かどうかをいちいち調べる必要がなく設置出来ます。
この特徴から(奇数,奇数)のマスに梯子やエレベータ等の(y,x座標が移動しない)垂直昇降装置を作ると、別の迷路でも大きさが同じなら確実に通路に移動することが出来ます。
そこで、今回は同じ大きさの迷路を多階層化して、謎のワープ装置で上の階(つまり別の迷路)の同じ座標に移動する処理を組み込んでみました。
あと、迷路が難解になり過ぎるので自分の周囲だけを確認出来るミニマップを右下に付けました。
こちらも参照:
pyxelの機能でgifを作ってみました。
操作方法:
前進:↑ボタン、左旋回:←ボタン、右旋回:→ボタン、振り返り:↓ボタン
壁色変更:スペースキー、迷路リセット:Qキー
※マウスでの操作も可能です。
前進、振り返り:マウスホイール、左旋回:左クリック、右旋回:右クリック
迷路リセット:左右同時クリック(操作が少しシビアですが…)
※ゲームコントローラーでの操作も可能です。
※PS4のゲームパッドでテストしました
前進:↑、振り返り:↓、左旋回:←、右旋回:→、
迷路リセット:OPTIONSボタン(STARTボタン?)
※謎のワープ装置のマスに移動すると装置が勝手に起動してワープします。
※ゴールに到達しても「GOAL!」と表示されるだけです。
ソースはGoogleドキュメントに載せてあります。
githubにhtmlを置いて実行出来る様にしてみました。
リソース:イメージバンク0
迷路内の擬似3D化のリソースに謎のワープ装置を追加しました。
※下向き三角は下層へのワープ用ですが今回は未使用です。
以上です。