プログラムの流れ的には二つのサブルーチン内で他のラベルへのジャンプは無いので@LOOPとGOTO @LOOPの間での無限ループですね。 @APPをループ内で毎回実行すると、その度にリンゴの位置を初期化してる(同じ管理番号のスプライトは複数個同時に表示出来ないのを思い出して)ので、たなかさんの例の通りにするか、otta777さんの例の様に画面内にリンゴがあれば以降の処理を実行せず戻る処理を書き足すといいと思いますよ。 @UGOも同様に「ボタンが一度押されたあと押され続けていない、もしくは押され続けているならSPANIMで設定したフレーム数経過した」以外は即リターンして座標を計算する処理をしないようにすればいいと思いますよ。 AXの変化量が32だと少しワープする様な動きになるかもですけど。