27.06.2012, 14:38
|
#14
|
Оператор ЭВМ
Регистрация: 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)
|
|