メインループというのは、画面のプログラムだとWHILE TRUEからこの画面には映ってませんが下の方にあるはずのWENDまでの事ですね。なので、この間に弾の動作の処理を入れれば良い事になります。 プログラムを見た感じ、Yボタンを押している間しか処理されない感じになってるんで、弾が飛んでいかないんじゃないかと思います。なので実際は、弾を出す(ボタンを押した時)と弾が動く(常に)は、別に処理する必要があります。 あと47,48行目にあるIFは意味が無いですよ。46行目でボタンが押されているか判定しているので、押された時はENDIFまでの47〜49行目が実行されます。#Yは0ではないのでIF #Y THENとしても必ず実行される行にはなりますが意味は無いです。 と言うことで、 1:弾を出す(ボタンを押した時)と 2:弾を動かす は別々に考えてみてください。