Здраствуйте,скажите пожалуйста будет ли приемлен этот код или можно сделать преще(код скачан из интернета для понимания принцыпа движения)
unit UnitPlanets;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls,Math;
Type
TBody=class
public
procedure StandardDraw(Canvas: TCanvas; Color: TColor; Radius: integer);
procedure GetXY(Out X,Y: double); Virtual; Abstract;
procedure Draw(Canvas: TCanvas); Virtual; Abstract;
procedure Move(Canvas: TCanvas); Virtual; Abstract;
end;
TStar = class (TBody)
private
//ParentBody: TBody;
Fx: double;
Fy: double;
public
procedure GetXY(Out GX, GY: double); override;
procedure Draw(Canvas: TCanvas); override;
procedure Move(Canvas: TCanvas); override;
property X: double read Fx;
property Y: double read Fy;
end;
TSatellite = class(TBody)
private
ParentBody: TBody;
R: double;
Alpha: double; //Угловое перемещение тела
DAlpha: double;
public
procedure GetXY(Out X,Y: double); override;
procedure Move(Canvas: TCanvas); override;
end;
TPlanet = class(TSatellite)
public
procedure Draw(Canvas: TCanvas); override;
end;