Добавил:
Kaz
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:АСОИ, Delphi, много вариантов 2 сем / 1классы / Машинка с фарами / MyCar
.pas unit MyCar;
interface
Uses Graphics,MyRec,SysUtils;
Type TCar=Class(TRec)
KuzColor:Tcolor;
x,y,r: integer;
ch:boolean;
constructor Create(x0,y0,r0:integer;color0:TColor;Canvas0:TCanvas);
Procedure Show(Col1,Col2:Tcolor); override;
procedure move(dx,dy: integer);override;
Procedure DoorsOpen;
Procedure DoorsClose;
Procedure Lights(Col:Tcolor);
procedure LightsOff;
end;
implementation
Constructor Tcar.create;
begin
inherited create(x0,y0,r0,color0,canvas0);
X:=x0;
y:=y0;
r:=r0;
ch:=false;
end;
Procedure Tcar.DoorsOpen;
var
x1,y1:word;
Begin
with canvas do begin
pen.color:=clBlack;
brush.color:=clBlack;
x1:=x+50;
y1:=y+40;
moveto(x1,y1);
lineto(x1+50,Y-10);
x1:=x-50;
moveto(x1,y1);
lineto(x1-50,Y-10);
end;
end;
Procedure Tcar.DoorsClose;
var
x1,y1:word;
Begin
with canvas do begin
pen.color:=clWhite;
brush.color:=clWhite;
x1:=x+50;
y1:=y+40;
moveto(x1,y1);
lineto(x1+50,Y-10);
x1:=x-50;
moveto(x1,y1);
lineto(x1-50,Y-10);
end;
end;
Procedure Tcar.Lights(Col:Tcolor);
var x1,y1:word;
Begin
with canvas do begin
pen.color:=Col;
brush.color:=Col;
x1:=x-50;
y1:=y+100;
moveto(x1,y1+10);
lineto(x1+20,y1+10);
lineto(X1+100,Y1+500);
lineto(x1-80,Y1+500);
lineto(x1,y1+10);
FloodFill(x1+10,Y1+13,Col,fsBorder);
x1:=x+30;
moveto(x1,y1+10);
lineto(x1+20,y1+10);
lineto(X1+100,Y1+500);
lineto(x1-80,Y1+500);
lineto(x1,y1+10);
FloodFill(x1+10,Y1+13,Col,fsBorder);
end;
end;
Procedure Tcar.LightsOff;
Begin
Lights(clWhite);
end;
Procedure Tcar.Show(Col1,Col2:Tcolor);
var x1,y1:integer;
Begin
x1:=x-50;
y1:=y-100;
inherited Show(Col1,Col2);
with canvas do begin
pen.color:=clblack;
brush.color:=clblue;
Rectangle(x1,y1+30,x1+100,y1+50);
Rectangle(x1,y1+110,x1+100,y1+140);
moveto(x1+25,y1+150);
lineto(x1+35,y1+190);
moveto(x1+75,y1+150);
lineto(x1+65,y1+190);
end;
end;
Procedure Tcar.move(dx,dy: integer);
Begin
inherited move(dx,dy);
if ch then
LightsOff;
Show(clwhite,clwhite);
x:=X+dx;
Y:=Y+dy;
Show(ClBlack,color);
if ch then
Lights(clYellow);
end;
end.
interface
Uses Graphics,MyRec,SysUtils;
Type TCar=Class(TRec)
KuzColor:Tcolor;
x,y,r: integer;
ch:boolean;
constructor Create(x0,y0,r0:integer;color0:TColor;Canvas0:TCanvas);
Procedure Show(Col1,Col2:Tcolor); override;
procedure move(dx,dy: integer);override;
Procedure DoorsOpen;
Procedure DoorsClose;
Procedure Lights(Col:Tcolor);
procedure LightsOff;
end;
implementation
Constructor Tcar.create;
begin
inherited create(x0,y0,r0,color0,canvas0);
X:=x0;
y:=y0;
r:=r0;
ch:=false;
end;
Procedure Tcar.DoorsOpen;
var
x1,y1:word;
Begin
with canvas do begin
pen.color:=clBlack;
brush.color:=clBlack;
x1:=x+50;
y1:=y+40;
moveto(x1,y1);
lineto(x1+50,Y-10);
x1:=x-50;
moveto(x1,y1);
lineto(x1-50,Y-10);
end;
end;
Procedure Tcar.DoorsClose;
var
x1,y1:word;
Begin
with canvas do begin
pen.color:=clWhite;
brush.color:=clWhite;
x1:=x+50;
y1:=y+40;
moveto(x1,y1);
lineto(x1+50,Y-10);
x1:=x-50;
moveto(x1,y1);
lineto(x1-50,Y-10);
end;
end;
Procedure Tcar.Lights(Col:Tcolor);
var x1,y1:word;
Begin
with canvas do begin
pen.color:=Col;
brush.color:=Col;
x1:=x-50;
y1:=y+100;
moveto(x1,y1+10);
lineto(x1+20,y1+10);
lineto(X1+100,Y1+500);
lineto(x1-80,Y1+500);
lineto(x1,y1+10);
FloodFill(x1+10,Y1+13,Col,fsBorder);
x1:=x+30;
moveto(x1,y1+10);
lineto(x1+20,y1+10);
lineto(X1+100,Y1+500);
lineto(x1-80,Y1+500);
lineto(x1,y1+10);
FloodFill(x1+10,Y1+13,Col,fsBorder);
end;
end;
Procedure Tcar.LightsOff;
Begin
Lights(clWhite);
end;
Procedure Tcar.Show(Col1,Col2:Tcolor);
var x1,y1:integer;
Begin
x1:=x-50;
y1:=y-100;
inherited Show(Col1,Col2);
with canvas do begin
pen.color:=clblack;
brush.color:=clblue;
Rectangle(x1,y1+30,x1+100,y1+50);
Rectangle(x1,y1+110,x1+100,y1+140);
moveto(x1+25,y1+150);
lineto(x1+35,y1+190);
moveto(x1+75,y1+150);
lineto(x1+65,y1+190);
end;
end;
Procedure Tcar.move(dx,dy: integer);
Begin
inherited move(dx,dy);
if ch then
LightsOff;
Show(clwhite,clwhite);
x:=X+dx;
Y:=Y+dy;
Show(ClBlack,color);
if ch then
Lights(clYellow);
end;
end.
Соседние файлы в папке Машинка с фарами