具体的には右移動するとき X=X+AR IF 壁チェックNGか THEN X=X-AR としていますが、この処理がどこかで誤動作しています。2方向移動したあと1方向しか戻らないみたいな。 WX=X+AR IF 壁チェックOKか THEN X=WX これだと壁チェックが通過して初めてXが更新されます。