みむ*mimさんも言われているように弾の発射と弾の処理は分けた方がプログラムが書きやすくなると思います。 今は全てまとめてやろうとし過ぎて、弾の発射の処理で一度に全ての弾を同じ場所に出してしまったりしていますし、出てない弾まで位置を変えるような処理が入ってませんか? 皆さんが言われている内容を考えてみて、わかりにくい所とか理解出来ないところとかあったらまた質問してみるといいと思いますよ。