Hallo Gemeinde,
mich plagt gerade folgendes Problem:
Ich schreibe ein Memory-Spiel, und dazu habe ich eine Klasse TSpielKarte und eine Container-Klasse, die die Verwaltung der Karten übernimmt und so das Spielfeld als Objekt darstellt (TSpielfeld).
Nun möchte ich, dass jede Karte ein Rückenbild anzeigt (beim Klicken dann das Bild dessen Zwilling ja gesucht werden soll). Dazu überreiche ich im CREATE des Spielfeldes eine ImageList, die alle Bilder enthält.
Das Spielfeld initialisiert (created) nun alle benötigten Spielkarten -- und soll z.B. das erste Bild in der ImageListe als Rücken-Bild für alls Spielkarten verwenden.
Der Spielkarten-Konstruktor sieht so aus:
Delphi-Quellcode:
constructor TSpielKarte.Create(Owner: TComponent);
begin
inherited Create(Owner);
Self.OnClick := Click;
FImage := TBitmap.create;
FImage.Width := 100;
FImage.Height := 100;
end;
Die Initialisierung der Spielkarten erfolgt der Klasse Spielfeld etwa so:
Delphi-Quellcode:
RueckBild := TBitmap.Create;
FBilderliste.GetBitmap(3, RueckBild);
for i := 0 to FCounTSpielKartes - 1 do
begin
Card := TSpielKarte.Create(nil);
Card.Parent := FParent;
Card.Height := 102;
Card.Width := 102;
Card.FImage := RueckBild;
...
Nun sehe ich aber kein "RueckBild" auf der Karte. D.h. ich habe irgendwas mit dem Card.FImage vermurkst. Nur was?
Ich dachte zunächst, dass FImage ein Parent bräuchte -- ist aber wohl Unsinn.
Jede Spielkarte soll halt die Möglichkeit haben ein Bild vom Typ TBitmap anzuzeigen. Da ich später vielleicht auch Text auf der Spielkarte anzeigen wollte, habe ich mich dagegen entschieden, einfach 20 TBitmaps als Spielkarten zu verwenden.
Dankbar für jede Idee/Kommentar.
Gruß
Jazzman