помогите в PASCAL ABC написать программу рисования этой картинки
Answers & Comments
Segrif
Когда писал изначально, лапы были не из дуг, а из прямых, но потом мне помог один очень хороший человек (благодарности пользователю Amillia25), так что выкладываю конечный вариант.
Чтобы поменять размер изображения, измените значение константы n. Чтобы добавить сетку, уберите фигурные скобки.
uses graphabc; {var i: integer;} const n=30; w=16; h=15; begin setwindowsize(w*n,h*n); setpencolor(clgray); {for i:=0 to w do line(i*n,0,i*n,h*n); for i:=0 to h do line(0,i*n,w*n,i*n);} setpencolor(clblack); setbrushcolor(clwhite); arc(n*3,n*11-n div 4,n*3+n div 4,-158,-22); line(0,n*12,n*2,n*12); line(n*3,n*12,n*6,n*12); arc(n*2+n div 2,n*12,n div 2,180,0); circle(n*4-n div 4,n*13,n div 4); circle(n*3-n div 8,n*13+n div 2,n div 8); arc(n*12,3*n,n*3, 270, 180); arc(n*12,3*n,n,270,180); setbrushcolor(clblack); circle(n*12,3*n,n div 15); arc(n*6,n*2-n div 4,n*3+n div 4,-90,-18); circle(n*9,4*n,n div 10); line(n*6,n*5,n*8,n*6); line(n*8,n*6,n*9,n*6); arc(n*9,n*5,n,270,0); line(n*9,n*6,n*9,n*8); arc(21*n div 2, n*10, 5*n div 2, 127, 180); line(n*8,n*10,n*9,n*9); line(n*9,n*9,n*9,n*12); line(n*9,n*12,n*8,n*12); arc(11*n div 2+2, n*12, 5*n div 2, -53, 0); line(n*7,n*14,n*7,n*15); arc(n*7,n*13,n*2,270,0); line(n*9,n*13,n*11,n*13); arc (13*n, 23*n div 2, 5*n div 2, -142,-89); line(n*13,n*14,n*13,n*15); line(n*13,n*15,n*14,n*13); line(n*14,n*13,n*12,n*13); line(n*12,n*13,n*13,n*12); line(n*13,n*12,n*13,n*10); line(n*13,n*10,n*12,n*6); line(n*13,n*12,n*15,n*11); line(n*15,n*11,n*16,n*6); end.
Answers & Comments
Чтобы поменять размер изображения, измените значение константы n. Чтобы добавить сетку, уберите фигурные скобки.
uses graphabc;
{var i: integer;}
const n=30; w=16; h=15;
begin
setwindowsize(w*n,h*n);
setpencolor(clgray);
{for i:=0 to w do line(i*n,0,i*n,h*n);
for i:=0 to h do line(0,i*n,w*n,i*n);}
setpencolor(clblack);
setbrushcolor(clwhite);
arc(n*3,n*11-n div 4,n*3+n div 4,-158,-22);
line(0,n*12,n*2,n*12);
line(n*3,n*12,n*6,n*12);
arc(n*2+n div 2,n*12,n div 2,180,0);
circle(n*4-n div 4,n*13,n div 4);
circle(n*3-n div 8,n*13+n div 2,n div 8);
arc(n*12,3*n,n*3, 270, 180);
arc(n*12,3*n,n,270,180);
setbrushcolor(clblack);
circle(n*12,3*n,n div 15);
arc(n*6,n*2-n div 4,n*3+n div 4,-90,-18);
circle(n*9,4*n,n div 10);
line(n*6,n*5,n*8,n*6);
line(n*8,n*6,n*9,n*6);
arc(n*9,n*5,n,270,0);
line(n*9,n*6,n*9,n*8);
arc(21*n div 2, n*10, 5*n div 2, 127, 180);
line(n*8,n*10,n*9,n*9);
line(n*9,n*9,n*9,n*12);
line(n*9,n*12,n*8,n*12);
arc(11*n div 2+2, n*12, 5*n div 2, -53, 0);
line(n*7,n*14,n*7,n*15);
arc(n*7,n*13,n*2,270,0);
line(n*9,n*13,n*11,n*13);
arc (13*n, 23*n div 2, 5*n div 2, -142,-89);
line(n*13,n*14,n*13,n*15);
line(n*13,n*15,n*14,n*13);
line(n*14,n*13,n*12,n*13);
line(n*12,n*13,n*13,n*12);
line(n*13,n*12,n*13,n*10);
line(n*13,n*10,n*12,n*6);
line(n*13,n*12,n*15,n*11);
line(n*15,n*11,n*16,n*6);
end.