Moin ISAS,
versuch' Dich doch mal mit dem objektorientierten Ansatz von aps vertraut zu machen.
Ich hab' Dir dafür mal ein Beispiel erstellt, wie man das anfangen könnte.
Das ist jeweils alles rudimentär, da noch viele Methoden und Eigenschaften fehlen, sollte aber mal einen Ansatz liefern.
Delphi-Quellcode:
type
// Für jedes Objekt eine Möglichkeit vorsehen, hier mal zwei verschiedene Orcs, und ein Baum
TMyGameObjectTypes = (gotOrcTyp1,gotOrcTyp2,gotTree);
// Hierin wird alles für alle einzelnen Objekte
// Man könnte das auch feiner aufbauen, indem man z.B. zwei Varianten vorsieht
// eine für bewegliche und eine für statische Objekte
TMyGameObject = class(TObject)
private
FgoType : TMyGameObjectTypes;
// Koordinaten usw. müssen noch ergänzt werden
public
constructor Create(const AgoType : TMyGameObjectTypes);
property goType : TMyGameObjectTypes read FgoType;
end;
// Hier werden dann alle Objekte zusammengefasst
// Man kann sie Dann über ihren Namen, oder einen Index abfragen
// Im constructor kann man dann den Pfad zu den eigentlichen Bildern ablegen, damit diese hier
// z.B. in einer ImageList gespeichert werden können, und nicht mehrfach vorkommen müssen
TMyGameObjects = class(TObject)
private
FgoList : TList;
// z.B. eine Liste für die Bilder müsste noch ergänzt werden.
FsPicturePath : string;
function GetGameObjectN(Index: integer): TMyGameObject;
function GetGameObjectS(AsName: string): TMyGameObject;
public
constructor Create(const AsPicturePath : string);
procedure New(const AsName : string;const AgoType : TMyGameObjectTypes);
property GameObjectN[Index:integer] : TMyGameObject read GetGameObjectN;
property GameObjectS[AsName : string] : TMyGameObject read GetGameObjectS;
end;