Держи =) Дальше сам, а то мозги поплыли уже. Вроде легкий код, но эти массивы... Написал с нуля, сам.
Program explosions;
Var
xc,yc,ugol,dlina,i:integer;
x2:array[0..50] of integer;
y2:array[0..50] of integer;
begin
dlina:=30; ///устанавлием длину отрезков, которые будут отрисовываться и составлять наш вейерверк
xc:=getwidth/2; ///устанавливаем "фейерверк" в центр экрана
yc:=getheight/2; ///предыдущий комментарий
for i:= 0 to 50 do
begin
x2[i]:=xc+trunc(sin(random(360))*dlina); \\\придумываем угол, находим син\кос и находим координаты точек
y2[i]:=yc+trunc(cos(random(360))*dlina); \\\придумываем угол, находим син\кос и находим координаты точек
drawline(xc,yc,x2[i],y2[i]); \\\выводим в буфер
end;
repaint; \\\выводим на экран
delay(5000); \\\ждем
end.