Нарисовать «Дом с трубой» -Pascal(Паскаль)

uses crt,graph;
type TPoint=record {тип точка с координатами}
            x,y:integer;
            end;
var p,p1:array[1..5]of TPoint;{массивы точек для рисования крыши и трубы}
    gd,gm,i:integer;
 
begin
clrscr;
InitGraph(gd,gm,''); {переход в графический режим}
setlinestyle(0,0,1);{тип линии, тонкая сплошная}
setfillstyle(1,2);{тип заполнения фигуры, сплошной, зеленый}
Bar(200,200,420,440);{координаты лев.верх и ниж.прав. углов дома}
setfillstyle(1,3);{сплошной, голубой}
Bar(260,240,360,350);{окно}
p[1].x:=170;p[1].y:=200;{определяем 3 координаты крыши}
p[2].x:=310;p[2].y:=50;
p[3].x:=450;p[3].y:=200;
p[4].x:=170;p[4].y:=200;{замыкаем 4ю в 1ю}
moveto(p[1].x,p[1].y);{становимся в 1ю}
for i:=1 to 4 do
lineto(p[i].x,p[i].y);{в цикле соединяем три точки}
setcolor(4);{красный цвет}
setlinestyle(0,0,1);{сплошная тонкая}
setfillstyle(1,4);{сплошной красный}
fillpoly(3,p);{заполняем треугольник}
p1[1].x:=360;p1[1].y:=102;{определеляем координаты трубы}
p1[2].x:=360;p1[2].y:=50;
p1[3].x:=410;p1[3].y:=50;
p1[4].x:=410;p1[4].y:=157;
p1[5].x:=360;p1[5].y:=102;
moveto(p1[1].x,p1[1].y);{первая точка}
for i:=1 to 5 do
lineto(p1[i].x,p1[i].y);{соединяем все 4}
setcolor(7);{серый цвет}
setlinestyle(0,0,1);{тонкая сплошная}
setfillstyle(1,7);{сплошная серая}
fillpoly(4,p1);{закрашиваем 4х-угольник}
readln;
Closegraph;{выходим из графики}
end.

Leave a Comment

− 5 = 3