
На прошлом уроке мы познакомились с большим количеством графических процедур, но апробировать еще не успели.
Сегодня займемся именно этим. Для самостоятельного задания предлагаю написать программу, рисующую вашего любимого мультгероя.
Вот примеры подобных картинок...
Желательно под героем написать его имя.
В помощь вам прилагаю PDF документ с описанием графических процедур.
Текст программы вставляем в комментарий к этому сообщению, в теме указываем Фамилию и Имя.
Удачи!
А это результат Вики Сторожук, Евгения Чернова, Анны Черепановой, Олега Калашина, Анны Изибаевой:
uses Graph;
var Gd, Gm: Smallint;
begin
Gd:= detect;
InitGraph(Gd, Gm, '');
SetColor(15);
Line((GetMaxX div 2) - 43, (GetMaxY div 2) + 10, (GetMaxX div 2) - 75, (GetMaxY div 2) + 220);
Line((GetMaxX div 2) - 20, (GetMaxY div 2) + 180, (GetMaxX div 2) - 32,(GetMaxY div 2) + 215);
Line((GetMaxX div 2) - 75, (GetMaxY div 2) + 220, (GetMaxX div 2) - 32,(GetMaxY div 2) + 215);
Line((GetMaxX div 2) - 43, (GetMaxY div 2) + 10, (GetMaxX div 2) - 20, (GetMaxY div 2) + 180);
SetFillStyle(1, 4);
FloodFill((GetMaxX div 2) - 70, (GetMaxY div 2) + 210, 15);
Line((GetMaxX div 2) + 43, (GetMaxY div 2) + 10, (GetMaxX div 2) + 75, (GetMaxY div 2) + 220);
Line((GetMaxX div 2) + 20, (GetMaxY div 2) + 180, (GetMaxX div 2) + 32,(GetMaxY div 2) + 215);
Line((GetMaxX div 2) + 75, (GetMaxY div 2) + 220, (GetMaxX div 2) + 32,(GetMaxY div 2) + 215);
Line((GetMaxX div 2) + 43, (GetMaxY div 2) + 10, (GetMaxX div 2) + 20, (GetMaxY div 2) + 180);
SetFillStyle(1, 8);
FloodFill((GetMaxX div 2) + 70, (GetMaxY div 2) + 210, 15);
Line((GetMaxX div 2) - 75, (GetMaxY div 2) + 220, (GetMaxX div 2) - 65, (GetMaxY div 2) + 330);
Line((GetMaxX div 2) - 32,(GetMaxY div 2) + 215, (GetMaxX div 2) - 38,(GetMaxY div 2) + 325);
Line((GetMaxX div 2) - 65, (GetMaxY div 2) + 330, (GetMaxX div 2) - 38,(GetMaxY div 2) + 325);
FloodFill((GetMaxX div 2) - 64, (GetMaxY div 2) + 299, 15);
Line((GetMaxX div 2) + 75, (GetMaxY div 2) + 220, (GetMaxX div 2) + 65, (GetMaxY div 2) + 330);
Line((GetMaxX div 2) + 32,(GetMaxY div 2) + 215, (GetMaxX div 2) + 38,(GetMaxY div 2) + 325);
Line((GetMaxX div 2) + 65, (GetMaxY div 2) + 330, (GetMaxX div 2) + 38,(GetMaxY div 2) + 325);
SetFillStyle(1, 4);
FloodFill((GetMaxX div 2) + 64, (GetMaxY div 2) + 299, 15);
SetFillStyle(1, 7);
FillEllipse((GetMaxX div 2) + 65, (GetMaxY div 2) + 325, 28, 6);
FillEllipse((GetMaxX div 2) - 65, (GetMaxY div 2) + 325, 28, 6);
Line((GetMaxX div 2) - 58, (GetMaxY div 2) - 60, (GetMaxX div 2) - 55, GetMaxY div 2);
Arc((GetMaxX div 2) - 60, GetMaxY div 2 - 20, 180, 90, 30);
Line((GetMaxX div 2) - 55, GetMaxY div 2, (GetMaxX div 2) - 90, GetMaxY div 2 - 20);
Line((GetMaxX div 2) + 58, (GetMaxY div 2) - 60, (GetMaxX div 2) + 55, GetMaxY div 2);
Arc((GetMaxX div 2) + 60, GetMaxY div 2 - 20, 0, 90, 30);
Line((GetMaxX div 2) + 55, GetMaxY div 2, (GetMaxX div 2) + 90, GetMaxY div 2 - 20);
Line((GetMaxX div 2) - 90, GetMaxY div 2 - 20, (GetMaxX div 2) - 130, (GetMaxY div 2) + 80);
Line((GetMaxX div 2) - 55, GetMaxY div 2, (GetMaxX div 2) - 105, (GetMaxY div 2) + 75);
Line((GetMaxX div 2) - 130, (GetMaxY div 2) + 80, (GetMaxX div 2) - 105, (GetMaxY div 2) + 75);
SetFillStyle(1, 8);
FloodFill((GetMaxX div 2) - 128, (GetMaxY div 2) + 79, 15);
Line((GetMaxX div 2) + 90, GetMaxY div 2 - 20, (GetMaxX div 2) + 130, (GetMaxY div 2) + 80);
Line((GetMaxX div 2) + 55, GetMaxY div 2, (GetMaxX div 2) + 105, (GetMaxY div 2) + 75);
Line((GetMaxX div 2) + 130, (GetMaxY div 2) + 80, (GetMaxX div 2) + 105, (GetMaxY div 2) + 75);
SetFillStyle(1, 4);
FloodFill((GetMaxX div 2) + 128, (GetMaxY div 2) + 79, 15);
Line((GetMaxX div 2) - 130, (GetMaxY div 2) + 80, (GetMaxX div 2) - 140, (GetMaxY div 2) + 140);
Line((GetMaxX div 2) - 105, (GetMaxY div 2) + 75, (GetMaxX div 2) - 124, (GetMaxY div 2) + 135);
Line((GetMaxX div 2) - 140, (GetMaxY div 2) + 140, (GetMaxX div 2) - 124, (GetMaxY div 2) + 135);
FloodFill((GetMaxX div 2) - 135, (GetMaxY div 2) + 137, 15);
Line((GetMaxX div 2) + 130, (GetMaxY div 2) + 80, (GetMaxX div 2) + 140, (GetMaxY div 2) + 140);
Line((GetMaxX div 2) + 105, (GetMaxY div 2) + 75, (GetMaxX div 2) + 124, (GetMaxY div 2) + 135);
Line((GetMaxX div 2) + 140, (GetMaxY div 2) + 140, (GetMaxX div 2) + 124, (GetMaxY div 2) + 135);
FloodFill((GetMaxX div 2) + 135, (GetMaxY div 2) + 137, 15);
SetFillStyle(1, 7);
FillEllipse((GetMaxX div 2) + 130, (GetMaxY div 2) + 135, 18, 6);
FillEllipse((GetMaxX div 2) - 130, (GetMaxY div 2) + 135, 18, 6);
SetFillStyle(1, 2);
FillEllipse(GetMaxX div 2, GetMaxY div 2, 60, 200);
SetFillStyle(1, 14);
FillEllipse((GetMaxX div 2) + 20, (GetMaxY div 2) - 120, 16, 16);
FillEllipse((GetMaxX div 2) - 20, (GetMaxY div 2) - 120, 16, 16);
SetFillStyle(1, 0);
FillEllipse((GetMaxX div 2) - 20, (GetMaxY div 2) - 120, 2, 2);
FillEllipse((GetMaxX div 2) + 20, (GetMaxY div 2) - 120, 2, 2);
SetColor(10);
Ellipse((GetMaxX div 2) - 20, (GetMaxY div 2) - 100, 360, 180, 12, 4);
Ellipse((GetMaxX div 2) + 20, (GetMaxY div 2) - 100, 360, 180, 12, 4);
Ellipse(GetMaxX div 2, (GetMaxY div 2) - 96, 360, 180, 4, 24);
Ellipse(GetMaxX div 2, (GetMaxY div 2) - 76, 360, 180, 28, 8);
SetColor(11);
Ellipse(GetMaxX div 2, (GetMaxY div 2) - 155, 360, 180, 30, 13);
Ellipse(GetMaxX div 2, (GetMaxY div 2) - 156, 360, 180, 30, 13);
SetColor(9);
SetTextStyle(0, 0, 2);
OutTextXY((GetMaxX div 2) - 230, (GetMaxY div 2) + 350, 'Pickle Rick ("Rick and Morty")');
readln;
CloseGraph;
end.
Можно было конечно попроще героя выбрать (колобка например)
Uses Graph;
Var Gd, Gm : SmaLLInt;
a,b,i,k,x,y:integer;
Begin
Gd:=Detect;
InitGraph(Gd,Gm,'');
setfillstyle(1,12);
Bar(40,0,120,320);
setfillstyle(1,9);
Bar(0,90,160,200);
setfillstyle(1,8);
Bar(60,70,100,90);
Bar(40,0,120,20);
Bar(40,0,40,20);
setfillstyle(1,8);
Bar(40,0,50,30);
Bar(120,0,110,30);
setfillstyle(1,15);
Bar(50,50,70,40);
Bar(90,50,110,40);
setfillstyle(1,6);
Bar(70,60,90,70);
setfillstyle(1,12);
Bar(70,70,90,80);
setfillstyle(1,9);
Bar(60,50,70,40);
Bar(90,50,100,40);
setfillstyle(1,1);
Bar(40,190,120,300);
setfillstyle(1,12);
Bar(60,90,100,100);
Bar(70,100,90,110);
setfillstyle(1,12);
Bar(0,130,40,200);
Bar(120,130,160,200);
setfillstyle(1,7);
Bar(40,300,120,320);
setcolor(0);
line(40,90,120,90);
line(40,130,40,200);
line(120,130,120,200);
line(80,190,80,320);
Readln;
Closegraph;
End.
Uses Graph;
Var Gd, Gm : SmaLLInt;
Begin
Gd:=Detect;
InitGraph(Gd,Gm,'');
SetColor(15);
SetFillStyle(1,7);
Bar(550,100,1200,1000);
SetFillStyle(1,0);
FillEllipse(800,250,7,7);
FillEllipse(740,248,7,7);
FillEllipse(726,280,19,10);
SetColor(0);
Ellipse(735,300,100,180,63,47);
Ellipse(772,301,180,243,100,80);
Line(727,373,685,502);
Ellipse(864,568,160,262,190,195);
Line(840,761,850,820);
Ellipse(931,830,155,290,90,22);
Ellipse(735,705,175,265,15,91);
Ellipse(828,253,85,180,105,95);
Ellipse(855,167,180,0,18,29);
Ellipse(800,160,1,194,18,29);
Ellipse(843,650,0,80,180,490);
Ellipse(1023,615,0,90,20,27);
Ellipse(1023,615,270,360,20,27);
Ellipse(816,612,320,350,210,210);
Line(976,747,974,818);
Ellipse(948,778,295,330,30,80);
Ellipse(800,810,145,300,80,25);
Ellipse(900,450,180,360,50,200);
Ellipse(895,640,100,200,3,20);
Ellipse(915,638,100,200,3,18);
Ellipse(743,343,0,180,10,4);
Ellipse(743,344,0,180,10,4);
Ellipse(740,820,100,200,5,10);
Ellipse(770,828,100,200,5,13);
Ellipse(870,840,100,200,5,13);
Ellipse(905,846,100,200,3,14);
SetColor(6);
SetTextStyle(0, 0, 3);
OutTextXY(600,900, 'Ice Bear "We Bare Bears"');
SetFillStyle(1,15);
FloodFill(750,370,0);
FloodFill(803,152,0);
FloodFill(1024,616,0);
Readln;
CloseGraph;
End.
Uses Graph;
Var Gd, Gm : SmaLLInt;
Begin
Gd:=Detect;
InitGraph(Gd,Gm,'');
SetFillStyle(1,15);
Bar(0,0,GetMaxX,GetMaxY);
SetFillStyle(1,0);
Bar(10,230,100,240);
Bar(130,230,220,240);
Bar(10,220,20,230);
Bar(20,210,40,220);
Bar(40,200,60,210 );
Bar(50,190,60,200);
Bar(60,180,70,190);
Bar(70,130,80,180);
Bar(60,140,70,170);
Bar(50,140,60,150);
Bar(30,170,60,180);
Bar(20,130,30,170);
Bar(30,110,40,130);
Bar(40,100,60,110);
Bar(60,90,80,100);
Bar(70,80,80,90);
Bar(60,50,70,80);
Bar(70,30,80,50);
Bar(80,20,90,30);
Bar(90,10,120,20);
Bar(110,0,140,10);
Bar(140,10,150,20);
Bar(150,20,160,30);
Bar(120,20,130,30);
Bar(130,30,170,40);
Bar(130,40,140,50);
Bar(140,50,160,60);
Bar(170,40,180,110);
Bar(120,70,140,90);
Bar(150,70,160,90);
Bar(160,100,190,110);
Bar(110,100,150,110);
Bar(90,110,100,120);
Bar(100,120,150,130);
Bar(150,110,160,120);
Bar(80,100,90,110);
Bar(190,110,200,130);
Bar(200,130,210,170);
Bar(170,170,200,180);
Bar(170,140,180,150);
Bar(160,140,170,170);
Bar(150,130,160,180);
Bar(160,180,170,190);
Bar(170,190,180,200);
Bar(170,200,190,210);
Bar(190,210,210,220);
Bar(210,220,220,230);
Bar(100,230,100,240);
Bar(90,220,100,230);
Bar(100,210,110,220);
Bar(110,200,120,210);
Bar(120,210,130,220);
Bar(130,220,140,230);
SetFillStyle(1,1);
Bar(20,220,90,230);
Bar(140,220,210,230);
Bar(140,210,190,220);
Bar(150,200,170,210);
Bar(40,210,90,220);
Bar(60,200,70,210);
Bar(80,160,150,180);
Bar(90,180,140,190);
Bar(100,190,130,200);
Bar(30,130,40,170);
Bar(40,110,50,170);
Bar(50,120,60,140);
Bar(50,150,60,170);
Bar(170,150,180,170);
Bar(170,120,180,140);
Bar(180,110,190,170);
Bar(190,130,200,170);
Bar(90,100,100,110);
Bar(80,70,90,100);
Bar(80,60,100,70);
Bar(140,60,160,70);
Bar(80,30,130,60);
Bar(90,20,120,30);
Bar(130,50,140,60);
Bar(160,40,170,60);
SetFillStyle(1,11);
Bar(90,210,100,220);
Bar(70,200,110,210);
Bar(60,190,100,200);
Bar(70,180,90,190);
Bar(140,180,160,190);
Bar(130,190,170,200);
Bar(120,200,150,210);
Bar(130,210,140,220);
Bar(80,130,150,160);
Bar(160,130,170,140);
Bar(150,120,170,130);
Bar(160,110,180,120);
Bar(60,120,100,130);
Bar(60,130,70,140);
Bar(50,110,90,120);
Bar(60,100,80,110);
Bar(70,50,80,80);
Bar(140,40,160,50);
Bar(120,10,140,20);
Bar(130,20,150,30);
SetFillStyle(1,12);
Bar(100,110,150,120);
Bar(150,100,160,110);
Bar(160,90,170,100);
Bar(140,70,150,100);
Bar(100,90,110,110);
Bar(90,70,100,100);
Bar(100,60,110,70);
readln;
CloseGraph;
end.
Uses Graph;
Var Gd, Gm: SmaLLInt;
begin
Gd:=Detect;
InitGraph(Gd,Gm,'');
setcolor(8);
SetFillStyle(1, 8);
Line((GetMaxX div 2)-80 , (GetMaxY div 2)+ 30,(GetMaxX div 2)- 200, (GetMaxY div 2)+ 360);
Line((GetMaxX div 2)+80 , (GetMaxY div 2)+ 30,(GetMaxX div 2)+ 200, (GetMaxY div 2)+ 360);
line((GetMaxX div 2)-200, (GetMaxY div 2)+360 ,(GetMaxX div 2)+200, (GetMaxY div 2)+360);
line((GetMaxX div 2)-80, (GetMaxY div 2)+30 ,(GetMaxX div 2)+80, (GetMaxY div 2)+30);
FloodFill((GetMaxX div 2) -150, (GetMaxY div 2) + 310, 8);
setcolor(2);
SetFillStyle(1, 2);
line((GetMaxX div 2)+300, (GetMaxY div 2)+5 ,(GetMaxX div 2)+150, (GetMaxY div 2)+15);
line((GetMaxX div 2)+300, (GetMaxY div 2)+5 ,(GetMaxX div 2)+450, (GetMaxY div 2)-100);
line((GetMaxX div 2)-80, (GetMaxY div 2)-80 ,(GetMaxX div 2)+450, (GetMaxY div 2)-100);
line((GetMaxX div 2)-80, (GetMaxY div 2)-80 ,(GetMaxX div 2)+150, (GetMaxY div 2)+15);
FloodFill((GetMaxX div 2) +150, (GetMaxY div 2) -80, 2);
SetFillStyle(1, 2);
line((GetMaxX div 2)-300, (GetMaxY div 2)+5 ,(GetMaxX div 2)-150, (GetMaxY div 2)+15);
line((GetMaxX div 2)-300, (GetMaxY div 2)+5 ,(GetMaxX div 2)-450, (GetMaxY div 2)-100);
line((GetMaxX div 2)+80, (GetMaxY div 2)-80 ,(GetMaxX div 2)-450, (GetMaxY div 2)-100);
line((GetMaxX div 2)+80, (GetMaxY div 2)-80 ,(GetMaxX div 2)-150, (GetMaxY div 2)+15);
FloodFill((GetMaxX div 2) -149, (GetMaxY div 2) -79, 2);
setcolor(8);
SetFillStyle(1, 2);
FillEllipse(GetMaxX div 2, GetMaxY div 2, 150, 100);
setcolor(0);
SetFillStyle(1, 15);
FillEllipse((GetMaxX div 2) + 65, (GetMaxY div 2) - 20, 45, 30);
FillEllipse((GetMaxX div 2) - 65, (GetMaxY div 2) - 20, 45, 30);
setcolor(0);
SetFillStyle(1,0);
FillEllipse((GetMaxX div 2) + 65, (GetMaxY div 2) - 20, 35, 30);
FillEllipse((GetMaxX div 2) - 65, (GetMaxY div 2) - 20, 35, 30);
setcolor(0);
SetFillStyle(1, 15);
FillEllipse((GetMaxX div 2) + 60, (GetMaxY div 2) - 40, 10, 10);
FillEllipse((GetMaxX div 2) - 60, (GetMaxY div 2) - 40, 10, 10);
Ellipse(GetMaxX div 2, (GetMaxY div 2) +65,0, 180, 20, 10);
setcolor(0);
SetFillStyle(1, 2);
FillEllipse((GetMaxX div 2), (GetMaxY div 2) +25, 6, 4);
SetFillStyle(1, 15);
FillEllipse((GetMaxX div 2)+3, (GetMaxY div 2) +22, 2, 1);
setcolor(0);
SetFillStyle(12, 0);
Ellipse(GetMaxX div 2, (GetMaxY div 2) +120, 360, 180, 120, 20);
Ellipse((GetMaxX div 2)+135, (GetMaxY div 2) +270, 360, 180, 30, 20);
Ellipse((GetMaxX div 2)-135, (GetMaxY div 2) +270, 360, 180, 30, 20);
readln;
CloseGraph;
end.
program sneg;
uses Graph;
var Gm,Gd:smallint;
begin
Gd:= detect;
InitGraph(Gd, Gm, '');
circle(920,120,5);
circle(960,120,5);
setcolor(15);
setfillstyle(1,15);
circle(940,140,40);
floodfill(920,140,15);
setcolor(1);
arc(940,140,180,360,20);
setcolor(15);
setfillstyle(1,15);
circle(940,240,60);
floodfill(940,240,15);
setcolor(15);
setfillstyle(1,15);
circle(940,400,100);
floodfill(940,400,15);
setcolor(15);
line(800,300,900,200);
setcolor(15);
line(1095,300,975,200);
readln;
closegraph
end.