動けばいい、というのは私も同意するところですが、でもせっかく省略してみたいという気持ちがあるのなら、あきらめないでほしいなと思います。
BT=BUTTON()
IF BT==4 THEN X=X-1
IF BT==8 THEN X=X+1
なんてのも、
BT=BUTTON()
X=X-(BT==4)+(BT==8)
と書くことで、1行減らせるわけですから。
>nobuさん
そこで登場するのが「ビット演算」なのです。よく使われるのは「AND」で、例えば「IF BT AND 16 THEN…」等ですね。ここで注意ですが、論理演算子としてのANDとは意味が全然違います。…ってこの説明じゃわかりづらいんですが(^^;)、とりあえずANDには2通りの使い方があるとだけご記憶ください。さて、結論から言いますと、
BT=BUTTON()
X=X-((BT AND 4)==4)+((BT AND 8)==8)
Y=Y-((BT AND 1)==1)+((BT AND 2)==2)
これで、十字キー左右でXが、上下でYが増減するようになり、さらに右上、左下などのナナメ入力にも対応します。なぜそうなるかは…かなり難しい説明になってしまいます(^^;)。同じく「? 4 AND 4」「? 8 AND 4」「? 1+4 AND 4」等と試してみてください。
>nobuさん
今回、簡略化がテーマだったので、なるべく短くなる記述を選びましたが、
BT=BUTTON()
IF BT AND 4 THEN X=X-1
IF BT AND 8 THEN X=X+1
IF BT AND 1 THEN Y=Y-1
IF BT AND 2 THEN Y=Y+1
とプログラミングしても同じ動作をしますし、動作に体感できる差はありません。どうか焦らずに、ステップアップしてください。
>Hanzoさん
FOR Y=0 TO 255:GLINE 0,Y,399,Y,RGB(Y,Y,Y):NEXT
これで段差ができちゃう現象のことですね。なるほどとは思うものの、そこまで踏み込めるほど修羅ではないので、私はこのへんで(^^;)。
>nobuさん
ほら、「ねんどろいど」だって、等身のあるキャラを縮めてかわいいじゃないですか(^^)。