Скачиваний:
289
Добавлен:
04.03.2014
Размер:
1.53 Кб
Скачать
Uses Graph,Crt;
const
r = 20;
pause = 50;
var
d,m,e,xm,ym,x,y,lx,ly,rx,ry,size,dx,dy,width,height : integer;
saucer : pointer;
label
loop;

Begin
d:=Detect;
InitGraph(d,m,'d:\tp7\bgi');
e:=GraphResult;
if e <> grOk then
writeln(GraphErrorMsg(e))
else
begin
setfillstyle(1,red);
setbkcolor(blue);
x:=r*5;
y:=r*2;
xm:=GetmaxX div 4;
ym:=GetmaxY div 4;
setcolor(9);
circle(x,y,r); setcolor(2);
FloodFill(x+1,y+4,9);

lx :=x-r;
ly:=y-23;
rx:=x+r+1;
ry:=y+r;
width:=rx-lx+1;
Height:=ry-ly+1;
size:=Imagesize(lx,ly,rx,ry);
getmem(saucer,size);
getimage(lx,ly,rx,ry,saucer^);

putimage(lx,ly,saucer^,xorput);

rectangle(xm,ym,3*xm,3*ym);
floodfill(xm+3,ym+5,2);
setviewport(xm+1,ym+1,3*xm-1,3*ym-1,clipon);
xm:=2*xm;
ym:=2*ym;
x:=xm div 2;
y:=ym div 2;
dx:=10;
dy:=10;
repeat
putimage(x,y,saucer^,xorput);
delay(pause);
putimage(x,y,saucer^,xorput);
loop: x:=x+dx;
y:=y+dy;

if(x<0) or (x+width+1>xm) or (y<0) or (y+height+1>ym) then
begin
x:=x-dx;y:=y-dy;
dx:=getmaxx div 40 - random(getmaxx div 20);
dy:=getmaxy div 30 - random(getmaxy div 15);
goto loop
end
until keypressed;
if readkey=#0 then x:=ord(readkey);
closegraph
end
End.
Соседние файлы в папке Alex