倉庫番

ドラクエ3にも登場した、倉庫番ゲームの作り方を紹介します。
例えば、
「正方形の部屋、岩が一つ、扉が一つ(開かない)、色違いの床が一つで、
岩を色違いの床の上に移動すると、扉が開く」
といったものです。
(岩は、部屋の中ならどこにでも移動可能、引っ張りは不可能)




例えば、部屋の大きさは5×5としましょう。
この部屋にイベントを敷き詰めます。5×5なので25個。
そして、それぞれのイベントに2つずつのスイッチを対応させます。
例えば、スイッチの1番から25番までを岩の位置、
101番から125番までを主人公の位置とします。
1 2 3 4 5
6 7 8 9 10
11 12 13 14 15
16 17 18 19 20
21 22 23 24 25


イベントの内容を、部屋の真ん中にある13番のイベントを例に説明しましょう。
岩の数は複数とします。


ページ1 グラフィック無し 開始条件:主人公が触れた
内容:スイッチオフ 101から125
   スイッチオン 113

(これは、13番のイベントの位置に岩が無いときに、
主人公が13番のイベントの位置に移動したことを表します。)


ページ2 グラフィック:岩 開始条件:主人公が触れた
このページの条件:スイッチ013オン スイッチ118オン スイッチ008オフ
内容:スイッチ013 オフ
   スイッチ008 オン

(これは、現時点で13番のイベント位置に岩があり、
その真上の8番のイベント位置に岩が無く、
主人公が13番のイベントの真下にある18番のイベント位置から押したため、
岩が8番に移動したことを表します。)


ページ3 グラフィック:岩 開始条件:主人公が触れた
このページの条件:スイッチ013オン スイッチ012オン スイッチ014オフ
内容:スイッチ013 オフ
   スイッチ014 オン

(これは、現時点で13番のイベント位置に岩があり、
その右の14番のイベントに岩が無く、
主人公が13番のイベントの左にある12番のイベント位置から押したため、
岩が14番に移動したことを表します。)


同様に、ページ4は右から押したとき、
ページ5は上から押したとき、とします。

色違いの床が二つあり、それが20番と25番のイベントだとすると、
扉のイベントは、
スイッチ020と025がオンのときに開いているようにすればいいです。


なお、スイッチの数を節約したい場合は、
主人公の位置のx座標をスイッチ101から105、
y座標をスイッチ106から110、として、
その二つの組み合わせで表現するという手法も考えられます。