個人的には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
1そうだね プレイ済み