ループを抜けるためのボタンがAボタンになっていますよね。でもAボタンにはENTERキーの意味もあるので、それがそのまま、INPUTでの「入力完了」になってしまってるんですね。試しに、9行目を「IF A==32 THEN @AI」にして、Bボタンで抜けるようにしてみてください。今度は、INPUTで入力待ちになると思います。
もちろん、プログラム次第では、Aボタンでループ抜けしても、INPUTに影響させない方法もありますが、それはぜひいろいろ試して学ぶことをオススメします。
とりあえず思いつくのは、配列変数の活用です。打った順番で、例えばA$[1]="・ー"、A$[2]="ー・ー・"、A$[3]="ーー"…なんて記録します。で、今、何回打ったかが変数Cとすると、
FOR I=1 TO C:PRINT A$[I];:NEXT
で、今まで打ったものが表示されます。で、ボタンなどでCを減らして、再度上の命令を実行すると…アンドゥになりますね。
これをLOCATEで同じ場所に表示するようにすれば、自然に増えたり減らしたり、に見えるはずです。
ちょっと難しいかもしれませんが、がんばってみてください。
残機が0の処理は、そういう感じでいいですよ。で、
@GAME_OVER
END
これで、残機が0になったら、プログラムが終了するようになります。もちろんENDのかわりに、画面を変えたり、音楽を流したり、タイトル画面に戻したりと、プログラム次第で色々できます。
あと、現われた敵がどんどん大きくなり、例えば照準より大きくなっても撃ち落とせなかったら、1ミス…みたいのは、どうですか?