普段はかべにぶつかっていない状態の場合 「移動したあとに壁にぶつかったら、移動する前は壁にぶつかっていなかった」と考えることができます つまり「動いた後に壁にぶつかったら、動く前の座標に戻る」というプログラムを組めば、大丈夫だと思います