public static void Perform(ref double x, ref double y, Predicate <MapCell> isWall) { IsWall = isWall; // 整数化 IX = SCommon.ToInt(x); IY = SCommon.ToInt(y); A2 = new Around(IX, IY, 2); A3 = new Around(IX, IY, 3); Touch = Touch_e.AIRBORNE; I2Point a2RelPtBk = A2.RelativePoint; Perform_A(false, false); if ( a2RelPtBk.X != A2.RelativePoint.X || a2RelPtBk.Y != A2.RelativePoint.Y ) { x = A2.CenterPoint.X + A2.RelativePoint.X; y = A2.CenterPoint.Y + A2.RelativePoint.Y; } }