Denk es wäre sinnvoll das Schiff als Objekt zu definieren, dass du dann mit dem Timer bewegst.
Das Schiff müsste die Methoden 'Zeichnen' und 'Löschen' implementieren, sonst kriegst du nur ein Linienmuster von links oben nach rechts unten heraus.
Ist das klassische Einsteigerbeispiel für
OOP.
Delphi-Quellcode:
type
TSchiff = class(TObject)
private
hier die Variablen definieren
public
constructor Create(aCanvas:TCanvas);
procedure Draw(x,y:Integer);
procedure Hide(x,y:Integer);
procedure Move(FromPoint, ToPoint:TPoint);
end;
Besser wäre es ein generisches 'TGraphicObject' zu definieren, von dem du dann spezialisierte grafische Objekte ableitest.
Delphi-Quellcode:
type
TGraphicObject = class(TObject)
private
FPosition:TPoint;
public
constructor Create(aCanvas:TCanvas); virtual;
procedure Draw(x,y:Integer); virtual;
procedure Hide(x,y:Integer); virtual;
procedure Move(FromPoint, ToPoint:TPoint); virtual;
end;
TSchiff=class(TGraphicObject)
constructor Create(aCanvas:TCanvas); override;
procedure Draw(x,y:Integer); override;
procedure Hide(x,y:Integer); override;
...
end;
TKriegsschiff=class(TSchiff)
...
end;
TPolizeiboot=class(TSchiff)
...
end;
mfg