AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi DelphiX Frage für Spiel
Thema durchsuchen
Ansicht
Themen-Optionen

DelphiX Frage für Spiel

Offene Frage von "tmode00"
Ein Thema von tmode00 · begonnen am 27. Jun 2005 · letzter Beitrag vom 7. Aug 2005
 
tigerman33

Registriert seit: 30. Jul 2005
Ort: München
423 Beiträge
 
Delphi 2005 Professional
 
#12

Re: DelphiX Frage für Spiel

  Alt 31. Jul 2005, 09:45
Also die vier Sachen wirst du vermutlich nicht mit einer gemeinsamen Vorfahrklasse abbacken können (höchstens vielleicht Map und Minimap). Frag dich immer, welche deiner Sachen gemeinsame Eigenschaften und Verhaltensweisen haben. Im allgemeinen merkst du das auch spätestens beim Coden: Wenn du den gleichen Code in drei verschiedenen Klassen schreiben musst, spätestens dann solltest du dir mal Gedanken über Vererbung machen...

Wo du schon eher auf einen Nenner kommst sind deine "Objekte" (Bäume etc.). Ich spinntisiere jetzt einfach mal ein bisschen:

Delphi-Quellcode:
type TSpielobjekt = class
     private
       FPosition: TPoint;
     public
       constructor Create; virtual;
       destructor Destroy; virtual;
       property Position: TPoint read FPosition write FPosition;
       ... // Was halt ALLE Spielobjekte sonst noch gemeinsam haben sollen
     end;
     TVegetation = class(TSpielobjekt)
       // Hier alles was speziell Bäume und Pflanzen betrifft. Was weiß ich, ob die gerade blühen oder so halt
     end;
     TBewegliches = class(TSpielobjekt)
     private
     public
       procedure Move(Richtung: TPoint; Staerke: integer); virtual;
     end;

// So und jetzt die Endklassen ableiten:
     TBaum = class(TVegetation)
       // Alles was ganz speziell NUR den Baum betrifft
     end;
     TTier = class(TBewegliches)
       // Alles was ganz speziell NUR die Tiere betrifft, z.B. Raubtier: boolean
     end;
So ist natürlich ein bisschen Overkill so wie es da jetzt steht. Aber hat ja auch keinen Anspruch auf Vollständigkeit. Das lässt sich sehr einfach warten und handhaben und außerdem problemlos erweitern. Zum Beispiel eine von TSpielobjekt abgeleitete Klasse TGebaeude.

Hoffe das hilft.
Christian
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:38 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz