Thema: Delphi schiff(canvas)

Einzelnen Beitrag anzeigen

Ferber

Registriert seit: 9. Mär 2005
Ort: Wien Umgebung
155 Beiträge
 
Delphi 2006 Architect
 
#2

Re: schiff(canvas)

  Alt 1. Feb 2006, 13:31
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
Otto
  Mit Zitat antworten Zitat