Показать сообщение отдельно
Старый 27.06.2012, 14:38   #14
AntiRock
Оператор ЭВМ
 
Аватар для AntiRock
 
Регистрация: 23.06.2012
Сообщений: 31
Написано 9 полезных сообщений
(для 9 пользователей)
Ответ: Анимация "салют"

Собрался с мозгами доделал код:
Program explosions;
Var
  dlina,i,skorost:integer;
  x2:array[0..50] of integer;
  y2:array[0..50] of integer;
  x:array[0..50] of integer;
  y:array[0..50] of integer;
begin

dlina:=10;
skorost:=5;
  for i:= 0 to 50 do
    begin
    x[i]:=getwidth/2;
    y[i]:=getheight/2;
    end;
  for i:= 0 to 50 do
    begin
    x2[i]:=x[1]+trunc(sin(random(360))*dlina);
    y2[i]:=y[1]+trunc(cos(random(360))*dlina);
    drawline(x[i],y[i],x2[i],y2[i]);
  end;
repeat
repaint;
delay(skorost);
  for i:= 0 to 50 do
    begin
    setcolor(255,255,255);
    drawline(x[i],y[i],x2[i],y2[i]);
    setcolor(0,0,0);
    x[i]:=2*x2[i]-x[i];
    y[i]:=2*y2[i]-y[i];
    drawline(x[i],y[i],x2[i],y2[i]);
    end;
repaint;
delay(skorost);
  for i:= 0 to 50 do
    begin
    setcolor(255,255,255);
    drawline(x[i],y[i],x2[i],y2[i]);
    setcolor(0,0,0);
    x2[i]:=2*x[i]-x2[i];
    y2[i]:=2*y[i]-y2[i];
    drawline(x[i],y[i],x2[i],y2[i]);
    end;
repaint;
until (false);

end.

Немного подправить код, как нужно и все.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Yadro (27.06.2012)