Floodfill. Не заливается - PascalABC.NET

Узнай цену своей работы

Формулировка задачи:

Решение задачи: «Floodfill. Не заливается»

textual
Листинг программы
uses graphABC;
var c,z,x1,y1,x2,y2,x,y:integer;
    A:array of point;
begin
//небо
SetPenColor(clDarkgoldenrod);
SetBrushColor(clDarkgoldenrod);
Rectangle(0,0,640,240);
 //солнце
SetPenColor(ClYellow);
SetBrushColor(ClYellow);
x1 := -50; y1 := -45;
x2 := 80; y2 := 60;
Ellipse(x1, y1, x2, y2);
for var i:=1 to 25 do
 begin
   c:=random(185);
   z:=random(185);
   Line(0,0,c,z);
 end;
SetBrushColor(clSkyblue); //облака
SetPenColor(clSkyblue);
Ellipse(225,7,400,45);
Ellipse(330,28,537,65);
Ellipse(390,10,640,51);
Ellipse(17,-10,197,23);
//море
SetPenColor(clBlue);
SetBrushColor(ClBlue);
Rectangle(0,240,640,480);
SetPencolor(clWhite); //волны
for var i:=1 to 7 do
 begin
   x:=random(600);
   y:=random(205);
   Arc(25+x,324+y,15,30,150);
  end;
 SetPenColor(clred);//кораблик
 SetPenWidth(2);
 SetBrushColor(clLightgray);
 Polygon((200,100),(200,270),(300,185),(200,100));
 SetPenColor(clGray);
 SetBrushColor(clLightgray);
 Polygon((150,270),(440,270),(416,320),(174,320),(150,270));
 SetPenColor(clRed);
 Line(155,280,435,280);
 SetPenColor(clOlive);
 SetPenWidth(10);
 Line(171,312,419,312);
 SetPenColor(clBrown);
 SetPenWidth(1);
 SetLength(A,3);
 a[0].x:=0;
 a[0].y:=430;
 a[1].x:=200;
 a[1].y:=430;
 a[2].x:=340;
 a[2].y:=480;
 SetPenColor(clOlive);
 Curve(A);
 FloodFill(34,458,clOlive);
 SetPenColor(clPurple);//забор
 SetBrushColor(clPurple);
 x1:=10;
 x2:=10;
 for var i:=1 to 6 do
  begin
   Rectangle (x1,420,x2,480);
   x1:=30*i;
   x2:=10+30*(i-1);
  end;
 Rectangle(10,430,150,440);
 Rectangle(10,460,150,470);
 SetPenColor(clBlack); //птицы
 SetBrushColor(clBlack);
 Circle(480,120,3);
 Circle(540,100,3);
 Circle(600,80,3);
 Arc(495,125,15,30,150);
 Arc(465,130,15,30,150);
 Arc(555,105,15,30,150);
 Arc(525,110,15,30,150);
 Arc(615,85,15,30,150);
 Arc(586,90,15,30,150);
 //горы
 SetPenColor(clBlack);
 Line(400,240,520,185);
 Line(520,185,640,240);
 Line(400,240,640,240);
 MoveTo(488,200);
 LineTo(505,195);
 LineTo(512,202);
 LineTo(520,195);
 LineTo(525,200);
 LineTo(530,196);
 LineTo(551,200);
 FloodFill(520,230,clmaroon);
 FloodFill(520,190,clWhite);
 Line(290,240,380,160);
 line(380,160,470,239);
 Line(290,240,470,239);
 MoveTo(357,180);
 LineTo(370, 175);
 LineTo(385,185);
 LineTo(403,180);
 SetBrushColor(clRed);
 Polygon((290,240),(357,180),(370,175),(385,185),(403,180),(470,240),(290,240));
 FloodFill(380,165,clWhite);
end.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 4.333 из 5
Похожие ответы