シオンさんがゲームオーバー時に追加した処理は、マップ番号最大値(MAX_MAP)を減らす処理ですね。
つまり、仮にマップ番号5でミスした場合、
「現在のマップ番号は5のままで、マップ番号最大値(MAX_MAP)を4にする」
という処理になります。
そして、ちょっとコードを読んでみましたが、マップ描画処理の際、現在のマップを示す変数「MAP」と、マップの最大値である「MAX_MAP」について、チェックをしていないみたいですね。
(※このチェックは、マップ選択処理の際に行っているようなので、普通は問題になりません)
つまり、マップ番号最大値が4になっていたとしても、マップ番号5を指定した場合、マップ番号5のマップが描画されてしまいます。
これが、「ミスしても前のマップに戻らない」理由ですね。
0そうだね プレイ済み