主観のPID(n番)を決めて、n番からみた当り判定すればいい。
だから、repeatをネストさせればいいんじゃない?

repeat maxSLED : n = cnt
/*基本処理*/
/*当り判定処理*/
 repeat maxSLED
if (n != cnt) {
}
 loop
loop

この方法をすぐに思いついたけど
数が5000発とかだと遅いのと、nとn2が重複して判定されるのが問題ね。
解決策は弾に種類をつけて2分割するとか、nとn2を当たったら弾くとかね。

多分、聞きたいことと違うかな?