[Pascal] Powiększenie serca i animacja w trybie graph

Witam !

Napisałem ten kod , ale nie wiem jak zrobić , żeby serce i aby się obracało albo latało po oknie oraz jak je powiększyć .

A wg. was co jeszcze można dorobić do kodu , żeby to ładniej wyglądało ?

Program Serce;

Uses Crt,Graph;

Var

  ster,tryb:smallint;


Begin

ster:=VGA; tryb:=VGAHi;

InitGraph(ster, tryb, 'D:\Lazarus\units' );

setcolor(4);

SetBkColor(lightred);

SetTextStyle(2,horizdir,1);

SetLineStyle(SolidLn,0,ThickWidth );

ClearDevice ;

OutTextXY(300,300,'For my darling, sweety Valentine;*');

arc();

arc();

line();

line();

SetLineStyle(2,2,500);

readln;

closegraph;

end.

Dzięki za odpowiedzi .

Obracanie punktu X1,Y1 wokół punktu X0,Y0 o kąt K (w stopniach)

dx:=X1-X0;

dy:=Y1-Y0;

Len:=sqrt(dx*dx+dy*dy);

K1:=atan2(dy,dx);

X2:=X0+Len*sin(K*PI/180+K1);

Y2:=Y0+Len*cos(K*PI/180+K1);

X2,Y2 - nowe współrzędne punktu X1,Y1

Hmm…A możesz mi to wytłumaczyć , bo dzisiaj 14 , a sam tego nie zrobię ?

A czego nie rozumiesz?

Pierwszy raz robię animacje , więc nie za bardzo wiem co zrobić z tym kodem ? Wystarczy podstawić pod X1,X0,Y1,Y0 i K odpowiednie wartości ?

Dokładnie, wyjdą nowe współrzędne.

Wszystko zrobiłem , ale jest błąd z “atan2” .

Tutaj komunikat o błędzie :

project1.lpr(44,5) Warning: Variable “atan2” does not seem to be initialized

project1.lpr(44,10) Fatal: Syntax error, “;” expected but “(” found

Uses Crt,Graph,Math;

Mógłbyś mi napisać ten kod , bo wszystko się kompiluje , ale animacji nie ma . Strasznie w nim namieszałem :

Program Serce;

Uses Crt,Graph,Math;

Var

  ster,tryb:smallint;

 X1,X0,Y1,Y0,X2,Y2,K:extended;

dx,dy,len,K1,atan2:real;


Begin

ster:=VGA; tryb:=VGAHi;

InitGraph(ster, tryb, 'D:\Lazarus' );

Begin

setcolor(4);

SetBkColor(lightred);

SetTextStyle(1,horizdir,1);

SetLineStyle(SolidLn,0,ThickWidth);

OutTextXY(470,460,'Program by Zuberator');

OutTextXY(300,300,'For my darling, sweety Valentine;*');

arc(300,300,10,200,30);

arc(248,300,390,200,30);

line(220,310,273,384);

line(326,310,273,384);

Begin

SetTextStyle(1,horizdir,2);

SetLineStyle(SolidLn,0,ThickWidth);

setcolor(4);

dx:=300-300;

dy:=300-248;

Len:=sqrt(dx*dx+dy*dy);

K1:=atan2;

X2:=X0+Len*sin(90*PI/180+K1);

Y2:=Y0+Len*cos(90*PI/180+K1);

End;

End;

readln;

closegraph;

end.

A czego się spodziewałeś po takim kodzie ?