37 lines
641 B
ObjectPascal
37 lines
641 B
ObjectPascal
// Класс штампа ряда прямоугольников
|
|
uses GraphABC;
|
|
|
|
type
|
|
RectangleStamp = auto class
|
|
x,y,w,h: integer;
|
|
procedure Stamp;
|
|
begin
|
|
Rectangle(x,y,x+w,y+h);
|
|
end;
|
|
end;
|
|
|
|
RowRectanglesStamp = auto class
|
|
x,y,w,h,n: integer;
|
|
procedure Stamp;
|
|
begin
|
|
var r := new RectangleStamp(x,y,w,h);
|
|
r.Stamp;
|
|
for var i:=1 to n-1 do
|
|
begin
|
|
r.x += r.w + 5;
|
|
r.Stamp;
|
|
end;
|
|
end;
|
|
end;
|
|
|
|
const n=8;
|
|
|
|
begin
|
|
var r := new RowRectanglesStamp(30,30,50,50,n);
|
|
r.Stamp;
|
|
for var i:=1 to n-1 do
|
|
begin
|
|
r.y += r.h + 5;
|
|
r.Stamp;
|
|
end;
|
|
end. |