大事な事を書き忘れてました。 主人公の移動は16*16単位のマス移動で、斜め方向への移動はありません。 4方向への移動は、それぞれ違った処理を記述可能です。