1つ前(アンドゥ)、今の(リドゥ)マップの状態を配列変数へ保存かな?データの持ちようで組み方が変わります。