Uses graphabc; var xk: integer; procedure body (xx, yy: integer); procedure leg(x,y: integer); var i: integer; begin setpenwidth(3); setpencolor(clwhite); for i: =x-30 to x+30 do line(x,y-60,i,y); setpencolor(clblack); line(x-30,y,x,y-60); line(x,y-60,x+30,y); line(x-30,y,x+30,y); floodfill(x,y-10,clblack); end; var s,n: integer; begin setpenwidth(3); setbrushcolor(clblack); circle(xx-115,yy-100,20); setbrushcolor(clwhite); rectangle(xx,yy-10,xx+150,yy+130); ellipse(xx-120,yy-140,xx+50,yy); if xx mod 50< 25 then begin leg(xx+20,yy+130); leg(xx+130,yy+150); end else begin leg(xx+20,yy+150); leg(xx+130,yy+130); end; line(xx-50,yy-5,xx-60,yy+50); line(xx-60,yy+50,xx-100,yy+10); line(xx-50,yy-5,xx-100,yy+10); line(xx+110,yy-50,xx+150,yy-10); line(xx+110,yy-50,xx+170,yy-60); line(xx+150,yy-10,xx+170,yy-60); floodfill(xx+130,yy-40,clblack); line(xx-10,yy-150,xx+10,yy-100); line(xx+10,yy-100,xx+40,yy-140); line(xx-10,yy-150,xx+40,yy-140); floodfill(xx+10,yy-120,clblack); floodfill(xx+10,yy-140,clblack); setpenwidth(1); circle(xx-25,yy-100,25); setpenwidth(7); circle(xx-25,yy-110,8); end; procedure miska; begin setpenwidth(1); setbrushcolor(clblue); ellipse(10,300,110,350); setbrushcolor(clskyblue); ellipse(5,290,115,340); setbrushcolor(clbrown); ellipse(20,300,100,330); end; procedure zv(x,y: integer); begin setbrushcolor(clyellow); circle(x,y,10); setbrushcolor(clwhite); circle(x-20,y,13); circle(x+20,y,13); circle(x,y-20,13); circle(x,y+20,13); end; begin setwindowsize(500,400); lockdrawing; for xk: =500 downto 200 do begin clearwindow; zv(50,50); zv(380,20); zv(70,220); zv(170,320); body (xk,200); miska; sleep(10); redraw; end; end.
Спасибо
Популярные вопросы