Unit VirCircle; interface uses Graphics, Graph, VirPoint; type //****************************************************************************** //odvozena trida od Point, definuje kruznici //****************************************************************************** TVirCircle = class (TVirPoint) protected R: Integer; public constructor Create(Xi, Yi, Ri : Integer); procedure Grow(E: Integer); virtual; procedure Move; override; procedure Draw; override; end; implementation //****************************************************************************** // //****************************************************************************** constructor TVirCircle.Create(Xi, Yi, Ri: Integer); begin inherited Create(Xi, Yi); R := Ri; end; //****************************************************************************** // //****************************************************************************** procedure TVirCircle.Grow(E: Integer); begin R := R + E; if R > 50 then R := 0; end; //****************************************************************************** // //****************************************************************************** procedure TVirCircle.Move; begin inherited Move; Grow(random(3)); end; //****************************************************************************** // //****************************************************************************** procedure TVirCircle.Draw; begin Graph.Canvas.Pen.Color:=$ff0000; Graph.Canvas.Ellipse(X-R, Y-R, X+R, Y+R); end; end.