42行目が間違っているような気がします。 SKYX が0 のときに、@SKYRIGHT してますが…… この時、@SKYRIGHT では、SKYX の値について何も変更を加えないですよね。 つまり、 42行目:SKYX==0 だから38行目の@SKYRIGHT にジャンプする 38行目:@SKYRIGHT 39行目:SKYX==36 ではないから、何もしない 40行目:BT==8 でない場合、何もしない 41行目:@SKYLEFT 42行目:SKYX==0 だから38行目の@SKYRIGHT にジャンプする 38行目:@SKYRIGHT と延々とループしてしまうように思えますが……