個人的にはX、Yの移動量を別の変数に入れておくのがオススメです。 これならば省略形が使える条件を満たせるので4つのIF文で簡単に記述できます。 @LOOP B=BUTTON() VX=0:VY=0 IF B AND 1 THEN VY=-2 IF B AND 2 THEN VY=2 IF B AND 4 THEN VX=-2 IF B AND 8 THEN VX=2 A=(ABS(VX)+ABS(VY))/2 IF A THEN X=X+VX/A:Y=Y+VY/A SPOFS 0,X,Y VSYNC GOTO @LOOP