Скачиваний:
329
Добавлен:
04.03.2014
Размер:
2 Кб
Скачать
 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