unit mKugel;

interface

uses mSuM;

type Kugel = class
       hatStift: Stift;         // die Kugel hat einen Stift, um sich zu zeichnen
       constructor init;
       procedure   Zeichne;
       procedure   Loesche;
       procedure   Bewege;
       destructor  gibFrei;
     end;

implementation

constructor Kugel.init;
begin
  hatStift := Stift.init;       // Stift erzeugen
  hatStift.bewegeBis(20,50);
end;

procedure   Kugel.Zeichne;
begin
  hatStift.zeichneKreis(5);
end;

procedure   Kugel.loesche;
begin
  hatStift.radiere;
  self.Zeichne;
  hatStift.normal
end;

procedure   Kugel.Bewege;
begin
  self.loesche;
  hatStift.bewegeUm(0.1);       // an die Geschwindigkeit des Rechners anpassen!
  self.Zeichne;
end;

destructor  Kugel.gibFrei;
begin
  hatStift.gibFrei;             // Stift wieder freigeben
end;

end.