空きの場所とはMSF[M]が0の場所をという事です。 上のshoumさんのソースはMSFが[0,0,0,0]の状態から一気に[1,1,1,1]になってしまうはずです。 [1,0,0,0]と1つだけ弾が発射した状態にするにはFOR文でループしてMSF[M]が0の場所を見つけたらBREAK文ですぐ抜けないと、たとえばMが5で始まってMSF[5]が0だったら弾を登録した後6,7,8には行かないようにしないといけないわけです