Надо бы сам оригинальный код затестить, может он нерабочий
Опять не пашет, полностью переписал под MP.
Program explosions;
var vel,tx,ty,c,done,i,dir1:integer;
var x:array[0..50] of integer;
var y:array[0..50] of integer;
var x2:array[0..50] of integer;
var y2:array[0..50] of integer;
var xv:array[0..50] of integer;
var yv:array[0..50] of integer;
var ox:array[0..50] of integer;
var oy:array[0..50] of integer;
begin
for i:= 0 to 50 do
begin
x[i]:=0;
y[i]:=0;
dir1:=trunc(random(1)*628);
vel:=trunc(random(1)*5)+1;
xv[i]:=trunc(sin(trunc(dir1))*vel);
yv[i]:=trunc(cos(trunc(dir1))*vel);
end;
tx:=trunc(random(1)*160);
ty:=trunc(random(1)*180);
c:=31;
done:=0;
drawtext('Explosions by Andrew L. Ayers',5,5);
drawtext('Press any key to exit demo',5,25);
for i:= 0 to 50 do
begin
drawline(ox[i]+tx,oy[i]+ty,x[i]+tx,y[i]+ty);
repaint;
x[i]:=x[i]+xv[i];
y[i]:=y[i]+yv[i];
x2[i]:=x[i]+tx;
y2[i]:=y[i]+ty;
drawline(x2[i],y2[i],x[i]+tx,y[i]+ty);
repaint;
c:=c-1;
end;
repeat
delay(100)
until (c<16);
end.
Ввел новые переменные-массивы x2 и y2 для хранения координат точек, так как в оригинальном коде идет такая схема
где "-" означает, что первая точка имеет координаты(x,y), а вторая точка будет последняя отрисованая, в нашем случае это x[i]+tx и y[i]+ty. Ну так где господа PassCall и Mr_F_, долго будете "включать умняка"? Может подскажете?