Добавил:
Kaz
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:АСОИ, Delphi, много вариантов 2 сем / 1классы / паровоз выпускает дым / UParovoz
.pas unit UParovoz;
interface
uses Graphics;
type
TParovoz = class(Tobject)
x,y : integer;
color : tcolor;
canvas : tcanvas;
procedure show;
constructor create(xb,yb : integer; color0 : tcolor; canvas0 : tcanvas);
end;
TDim = class(Tobject)
x00,y00 : integer;
color : tcolor;
canvas : tcanvas;
constructor create(xc,yc : integer; color0 : tcolor; canvas0 : tcanvas);
procedure show;
end;
implementation
constructor TParovoz.create(xb,yb : integer;color0 : tcolor;canvas0: tcanvas);
begin
x := xb;
y := yb;
color := color0;
canvas := canvas0;
end;
constructor TDim.create(xc,yc : integer;color0 : tcolor;canvas0: tcanvas);
begin
x00 := xc;
y00 := yc;
color := color0;
canvas := canvas0;
end;
procedure TParovoz.show;
begin
with canvas do
begin
pen.Color := clblack;
brush.color := clWhite;
MoveTo( x , y);
LineTo( x + 70, y);
LineTo( x + 70, y + 30);
LineTo( x , y + 30 );
LineTo( x , y );
MoveTo( x + 6, y +18);
Ellipse( x + 14, y + 37, x + 7 , y + 30);
Ellipse( x + 21, y + 37, x + 14 , y + 30);
Ellipse( x + 56, y + 37, x + 63 , y + 30);
Ellipse( x + 49, y + 37, x + 56 , y + 30);
MoveTo( x + 14, y);
LineTo( x + 14, y + 30);
MoveTo( x + 56, y);
LineTo( x + 56, y + 30);
MoveTo( x + 70, y + 5);
LineTo( x + 75, y + 5);
MoveTo( x + 70, y + 7);
LineTo( x + 75, y + 7);
MoveTo( x + 70, y + 23);
LineTo( x + 75, y + 23);
MoveTo( x + 70, y + 25);
LineTo( x + 75, y + 25);
MoveTo( x + 75 , y);
LineTo( x + 145, y);
LineTo( x + 145, y + 30);
LineTo( x + 75 , y + 30 );
LineTo( x + 75, y );
MoveTo( x + 81, y +18);
Ellipse( x + 89, y + 37, x + 82 , y + 30);
Ellipse( x + 96, y + 37, x + 89 , y + 30);
Ellipse( x + 131, y + 37, x + 138 , y + 30);
Ellipse( x + 131, y + 37, x + 124 , y + 30);
MoveTo( x + 89, y);
LineTo( x + 89, y + 30);
MoveTo( x + 131, y);
LineTo( x + 131, y + 30);
MoveTo( x + 145, y + 5);
LineTo( x + 150, y + 5);
MoveTo( x + 145, y + 7);
LineTo( x + 150, y + 7);
MoveTo( x + 145, y + 23);
LineTo( x + 150, y + 23);
MoveTo( x + 145, y + 25);
LineTo( x + 150, y + 25);
MoveTo( x + 150 , y - 10);
LineTo( x + 150 , y + 30);
LineTo( x + 240 , y + 30);
Arc( x + 245, y + 35, x + 220, y + 10, x + 242, y + 35, x + 230, y + 10);
MoveTo( x + 230, y + 10);
LineTo( x + 225, y );
LineTo( x + 225, y - 30 );
LineTo( x + 230, y - 35 );
LineTo( x + 210, y - 35 );
LineTo( x + 215, y - 30);
LineTo( x + 215, y );
LineTo( x + 170, y );
LineTo( x + 170, y - 10);
LineTo( x + 150 , y - 10);
MoveTo( x + 170, y - 10);
LineTo( x + 190, y - 10);
LineTo( x + 200, y);
Ellipse( x + 238, y + 37, x + 231 , y + 30);
Ellipse( x + 224, y + 37, x + 231 , y + 30);
Ellipse( x + 158, y + 37, x + 165 , y + 30);
Ellipse( x + 165, y + 37, x + 172 , y + 30);
end;
end;
procedure TDim.show;
begin
with canvas do
begin
pen.Color := clGray;
brush.color := clGray;
ellipse( x00 + 212, y00 - 38, x00 + 230, y00 - 50);
ellipse( x00 + 202, y00 - 45, x00 + 220, y00 - 57);
ellipse( x00 + 192, y00 - 52, x00 + 210, y00 - 64);
end;
end;
end.
--------------------------------------Temp--------------------------------------
interface
uses Graphics;
type
TParovoz = class(Tobject)
x,y : integer;
color : tcolor;
canvas : tcanvas;
procedure show;
constructor create(xb,yb : integer; color0 : tcolor; canvas0 : tcanvas);
end;
TDim = class(Tobject)
x00,y00 : integer;
color : tcolor;
canvas : tcanvas;
constructor create(xc,yc : integer; color0 : tcolor; canvas0 : tcanvas);
procedure show;
end;
implementation
constructor TParovoz.create(xb,yb : integer;color0 : tcolor;canvas0: tcanvas);
begin
x := xb;
y := yb;
color := color0;
canvas := canvas0;
end;
constructor TDim.create(xc,yc : integer;color0 : tcolor;canvas0: tcanvas);
begin
x00 := xc;
y00 := yc;
color := color0;
canvas := canvas0;
end;
procedure TParovoz.show;
begin
with canvas do
begin
pen.Color := clblack;
brush.color := clWhite;
MoveTo( x , y);
LineTo( x + 70, y);
LineTo( x + 70, y + 30);
LineTo( x , y + 30 );
LineTo( x , y );
MoveTo( x + 6, y +18);
Ellipse( x + 14, y + 37, x + 7 , y + 30);
Ellipse( x + 21, y + 37, x + 14 , y + 30);
Ellipse( x + 56, y + 37, x + 63 , y + 30);
Ellipse( x + 49, y + 37, x + 56 , y + 30);
MoveTo( x + 14, y);
LineTo( x + 14, y + 30);
MoveTo( x + 56, y);
LineTo( x + 56, y + 30);
MoveTo( x + 70, y + 5);
LineTo( x + 75, y + 5);
MoveTo( x + 70, y + 7);
LineTo( x + 75, y + 7);
MoveTo( x + 70, y + 23);
LineTo( x + 75, y + 23);
MoveTo( x + 70, y + 25);
LineTo( x + 75, y + 25);
MoveTo( x + 75 , y);
LineTo( x + 145, y);
LineTo( x + 145, y + 30);
LineTo( x + 75 , y + 30 );
LineTo( x + 75, y );
MoveTo( x + 81, y +18);
Ellipse( x + 89, y + 37, x + 82 , y + 30);
Ellipse( x + 96, y + 37, x + 89 , y + 30);
Ellipse( x + 131, y + 37, x + 138 , y + 30);
Ellipse( x + 131, y + 37, x + 124 , y + 30);
MoveTo( x + 89, y);
LineTo( x + 89, y + 30);
MoveTo( x + 131, y);
LineTo( x + 131, y + 30);
MoveTo( x + 145, y + 5);
LineTo( x + 150, y + 5);
MoveTo( x + 145, y + 7);
LineTo( x + 150, y + 7);
MoveTo( x + 145, y + 23);
LineTo( x + 150, y + 23);
MoveTo( x + 145, y + 25);
LineTo( x + 150, y + 25);
MoveTo( x + 150 , y - 10);
LineTo( x + 150 , y + 30);
LineTo( x + 240 , y + 30);
Arc( x + 245, y + 35, x + 220, y + 10, x + 242, y + 35, x + 230, y + 10);
MoveTo( x + 230, y + 10);
LineTo( x + 225, y );
LineTo( x + 225, y - 30 );
LineTo( x + 230, y - 35 );
LineTo( x + 210, y - 35 );
LineTo( x + 215, y - 30);
LineTo( x + 215, y );
LineTo( x + 170, y );
LineTo( x + 170, y - 10);
LineTo( x + 150 , y - 10);
MoveTo( x + 170, y - 10);
LineTo( x + 190, y - 10);
LineTo( x + 200, y);
Ellipse( x + 238, y + 37, x + 231 , y + 30);
Ellipse( x + 224, y + 37, x + 231 , y + 30);
Ellipse( x + 158, y + 37, x + 165 , y + 30);
Ellipse( x + 165, y + 37, x + 172 , y + 30);
end;
end;
procedure TDim.show;
begin
with canvas do
begin
pen.Color := clGray;
brush.color := clGray;
ellipse( x00 + 212, y00 - 38, x00 + 230, y00 - 50);
ellipse( x00 + 202, y00 - 45, x00 + 220, y00 - 57);
ellipse( x00 + 192, y00 - 52, x00 + 210, y00 - 64);
end;
end;
end.
--------------------------------------Temp--------------------------------------