少し改良しました。
#define Num 10000 // 玉の総数
#define Div 16 // 玉発射方向数
#define Around 5//玉の間隔フレーム
#define Rotate 0.01 // 回転スピード
#define Speed 3.0 // 玉の速度
#define cx 320 // 中心
#define cy 240
ddim r,Num // 角度
ddim dis,Num // 距離
dim begin,Num // 発射状態に入るまで
// 玉の初期化
foreach r
r(cnt) = 0.0
dis(cnt) = 0.0
begin(cnt) = cnt*Around
loop
repeat
redraw 0
color 0,0,0
boxf
color 255,255,255
// 玉の時間遷移
foreach r
// もし発射状態だったら
if(begin(cnt) < 0){
r(cnt) += Rotate
dis(cnt) += Speed
cnt2 = cnt
repeat Div
r2 = r(cnt2) + (M_PI/(Div/2.0))*cnt
x = cos(r2)*dis(cnt2) + cx
y = sin(r2)*dis(cnt2) + cy
circle x-3,y-3,x+3,y+3,0
loop
}else{
begin(cnt) -= 1
r(cnt) = double(cnt\180.0)/180.0*M_PI
}
loop
await 16
redraw 1
loop