unit Auto;
// stellt die TAuto-Klasse zur Verfügung
interface
uses Graphics;
type TAuto =
class(TObject)
// Klassendeklaration von TAuto
// Eigenschaften:
x:Integer;
// x - Position
y: Integer;
// y - Position
va: Single;
// aktuelle Geschwindigkeit
farbe: LongInt;
// Lackierung
// Methoden:
procedure Gasgeben(dv:Single);
// erhöht va um dv
procedure Bremsen(dv:Single);
// verringert va um dv
procedure Zeichnen(canv:TCanvas; colr: LongInt);
// zeichnet Auto auf Canvas in Farbe colr
end;
implementation
// ------------ Methoden implementieren:
procedure TAuto.Gasgeben(dv:Single);
begin
va := va + dv;
if va > 100
then va := 100
// Geschwindigkeitsbegrenzung
end;
procedure TAuto.Bremsen(dv:Single);
begin
va := va - dv;
if va <= 0
then va := 0
// Rückwärtsrollen verhindern
end;
procedure TAuto.Zeichnen(canv:TCanvas; colr: LongInt);
begin
with canv
do begin
Pen.Color := colr;
// Stiftfarbe zuweisen
Rectangle(x+10, y+5, x+30, y+20);
// linkes Hinterrad
Rectangle(x+10,y+70,x+30,y+85);
// rechtes Hinterrad
Rectangle(x+80,y+10,x+100,y+20);
// linkes Vorderrad
Rectangle(x+80,y+70,x+100,y+80);
// rechtes Vorderrad
MoveTo(x+20, y+20); LineTo(x+20,y+30);
// linke Hinterachse
MoveTo(x+20, y+60); LineTo(x+20,y+70);
// rechte Hinterachse
MoveTo(x+90, y+20); LineTo(x+90,y+35);
// linke Vorderachse
MoveTo(x+90, y+55); LineTo(x+90,y+70);
// rechte Vorderachse
MoveTo(x, y+30); LineTo(x+70,y+30);
// linke Karosserieseite
LineTo(x+110, y+40); LineTo(x+110,y+50);
LineTo(x+70, y+60); LineTo(x,y+60);
// rechte Karosserieseite
LineTo(x,y+30);
Ellipse(x+45,y+35,x+65,y+55)
// Cockpit
end
end;
end.