program tenis; uses crt,graph; var pic,pic2:pointer; xx,yy,a,b,x,y,x0,y0,r,karta,tryb,d:integer; BEGIN r:=11; d:=2*r; detectgraph(karta,tryb); initgraph(karta,tryb,' '); settextstyle(0,0,1); setfillstyle(1,15); circle(100,100,r-1); floodfill(100,100,15); bar(200,100,205,6*r+100); getmem(pic,imagesize(100-r,100-r,100+r,100+r)); getmem(pic2,imagesize(200,100,205,6*r+100)); getimage(100-r,100-r,100+r,100+r,pic^); getimage(200,100,205,6*r+100,pic2^); putimage(100-r,100-r,pic^,xorput); putimage(200,100,pic2^,xorput); b:=0; yy:=0; a:=7; repeat for xx:=0 to getmaxx-2*r do begin if b<=yy then if yy<>getmaxy-2*r then begin putimage(xx,yy,pic^,xorput); putimage(0,yy-d,pic2^,xorput); putimage(getmaxx-r,yy-d,pic2^,xorput); delay(a); putimage(xx,yy,pic^,xorput); putimage(0,yy-d,pic2^,xorput); putimage(getmaxx-r,yy-d,pic2^,xorput); b:=yy; yy:=yy+1; end else begin putimage(xx,yy,pic^,xorput); putimage(0,yy-d,pic2^,xorput); putimage(getmaxx-r,yy-d,pic2^,xorput); delay(a); putimage(xx,yy,pic^,xorput); putimage(0,yy-d,pic2^,xorput); putimage(getmaxx-r,yy-d,pic2^,xorput); b:=yy; yy:=yy-1; end else if yy<>0 then begin putimage(xx,yy,pic^,xorput); putimage(0,yy-d,pic2^,xorput); putimage(getmaxx-r,yy-d,pic2^,xorput); delay(a); putimage(xx,yy,pic^,xorput); putimage(0,yy-d,pic2^,xorput); putimage(getmaxx-r,yy-d,pic2^,xorput); b:=yy; yy:=yy-1; end else begin putimage(xx,yy,pic^,xorput); putimage(0,yy-d,pic2^,xorput); putimage(getmaxx-r,yy-d,pic2^,xorput); delay(a); putimage(xx,yy,pic^,xorput); putimage(0,yy-d,pic2^,xorput); putimage(getmaxx-d,yy-r,pic2^,xorput); b:=yy; yy:=yy+1; end; end; for xx:=getmaxx-2*r downto 0 do begin if b<=yy then if yy<>getmaxy-2*r then begin putimage(xx,yy,pic^,xorput); putimage(0,yy-d,pic2^,xorput); putimage(getmaxx-r,yy-d,pic2^,xorput); delay(a); putimage(xx,yy,pic^,xorput); putimage(0,yy-d,pic2^,xorput); putimage(getmaxx-r,yy-d,pic2^,xorput); b:=yy; yy:=yy+1; end else begin putimage(xx,yy,pic^,xorput); putimage(0,yy-d,pic2^,xorput); putimage(getmaxx-r,yy-d,pic2^,xorput); delay(a); putimage(xx,yy,pic^,xorput); putimage(0,yy-d,pic2^,xorput); putimage(getmaxx-r,yy-d,pic2^,xorput); b:=yy; yy:=yy-1; end else if yy<>1 then begin putimage(xx,yy,pic^,xorput); putimage(0,yy-d,pic2^,xorput); putimage(getmaxx-r,yy-d,pic2^,xorput); delay(a); putimage(xx,yy,pic^,xorput); putimage(0,yy-d,pic2^,xorput); putimage(getmaxx-r,yy-d,pic2^,xorput); b:=yy; yy:=yy-1; end else begin putimage(xx,yy,pic^,xorput); putimage(0,yy-d,pic2^,xorput); putimage(getmaxx-r,yy-d,pic2^,xorput); delay(a); putimage(xx,yy,pic^,xorput); putimage(0,yy-d,pic2^,xorput); putimage(getmaxx-r,yy-d,pic2^,xorput); b:=yy; yy:=yy+1; end; end; until keypressed; closegraph; end.