ウィザードリィ風のゲームを作ろうと思っています
マップは二次配列を使い、0と1で進入可能・不可を分ければ何とかなるのですが
一方通行がうまく表現できません。

例として、2*3のマップで左右は進入不可、中央のマスは侵入可、右上のセルは右上→中央右への移動は可、逆は不可としてみます
通常は
{0,1,X}
{0,1,0}
のような形で、0方向には移動できないようにすると思うのですが、
一方通行のあるセルはifか何かで毎度イベントを起こすべきなのでしょうか?
何かいい方法がありましたら教えてください、お願いします!