Окружность летит наискосок по звездному небу (2 способ имитации движения с использованием динамической памяти)

Program dvig;

uses crt,graph;

var d,m,x,y,Size,k,i:integer;

P: Pointer;

begin

d:=detect;

initgraph (d,m,'D:\bp\bgi');

y:=100;

X:=100;

SetBkColor(3);

SetColor (5);

Circle (x,y,20);

Size:=ImageSize(75,75,125,125);

GetMem(P, Size);

GetImage(75,75,125,125,P^); {запоминает образ}

ClearDevice; {очистка экрана}

For i:=1 to 1000 do {рисует звездное небо}

Putpixel(Random(639),Random(479),15);

For k:=1 To 200 Do

Begin

PutImage(x-20,y-20, P^, 1); {рисует образ и сохраняет фон XorPut = 1;Исключительное ИЛИ }

Delay(100); {задержка}

PutImage(x-20,y-20, P^, 1); {стирает образ и сохраняет фон}

x:=X+1;

Y:=Y+1;

End;

CloseGraph;

end.