IF (PHoji=TRUE) THEN BEGIN GOTO 1 ; END ; {=== これ以降は保持がチェックされていない場合 ===}
IF (TotalDeg1<= PKyoyoDeg) AND (TotalDeg2<= PKyoyoDeg) AND (TotalDeg3<= PKyoyoDeg) THEN BEGIN GOTO 3 ; END ; BEGIN GOTO 4 ; END ; {=================================}
1 : {=== 保持がチェックされた場合 ===} IF (Muki=False) THEN GOTO 2 ;
IF (aDx=0) AND (DisX<=PKyoyoDis) THEN BEGIN bX2 := aX1 ; GOTO 3 ; END ;
IF (aDy=0) AND (DisY<=PKyoyoDis) THEN BEGIN bY2 := aY1 ; GOTO 3 ; END ;
IF (bDx=0) AND (aDx<>0) AND (DisX<=PKyoyoDis) THEN BEGIN aX1 := bX2 ; GOTO 3 ; END ;
IF (bDy=0) AND (aDy<>0) AND (DisY<=PKyoyoDis) THEN BEGIN aY1 := bY2 ; GOTO 3 ; END ;
IF (TotalDeg1<= PKyoyoDeg) AND (TotalDeg2<= PKyoyoDeg) AND (TotalDeg3<= PKyoyoDeg) THEN BEGIN GOTO 3 ; END ; BEGIN GOTO 4 ; END ;
2 : {=== 保持がチェックされ更に選択順の向きが逆の場合 ===}
IF (bDx=0) AND (DisX<=PKyoyoDis) THEN BEGIN aX1 := bX2 ; GOTO 3 ; END ;
IF (bDy=0) AND (DisY<=PKyoyoDis) THEN BEGIN aY1 := bY2 ; GOTO 3 ; END ;
IF (aDx=0) AND (bDx<>0) AND (DisX<=PKyoyoDis) THEN BEGIN bX2 := aX1 ; GOTO 3 ; END ;
IF (aDy=0) AND (bDy<>0) AND (DisY<=PKyoyoDis) THEN BEGIN bY2 := aY1 ; GOTO 3 ; END ;
IF (TotalDeg1<= PKyoyoDeg) AND (TotalDeg2<= PKyoyoDeg) AND (TotalDeg3<= PKyoyoDeg) THEN BEGIN GOTO 3 ; END ; BEGIN GOTO 4 ; END ;