Hi,
Isn bisschen komischer Titel aber mir ist nix besseres eingefallen
Also mit dieser Procedure Teile ich eine ObjectListe auf und verlege die Objecte dadrin in drei andere Objectlisten:
Delphi-Quellcode:
Kartenstapel: TKarten; // TKarten = class(TObjectlist)
Spieler: Array[0..3] of TKarten;
Delphi-Quellcode:
procedure TForm1.GiveKarten;
var i: Integer;
z: Integer;
begin
while KartenStapel.Count > 0 do begin
for i:= 0 to 3 do begin
if Kartenstapel.Count = 0 then exit;
z:= random(Kartenstapel.Count);
Spieler[i].Add(Kartenstapel.Items[z]);
Kartenstapel.Items[z].AnimStart := Kartenstapel.Items[z].AnimStart + 1;
if Kartenstapel.Items[z].AnimStart = 2 then Kartenstapel.Delete(z);
end;
Application.ProcessMessages;
end;
end;
AnimStart benutze ich nur zum zählen.. das ist jetzt nur am Anfang so. Also das heißt das jede Karte zweimal existiert nachher. Weil eine Karte zweimal in eine Objectliste eingefügt werden kann.
So die Items der Objectlisten sind vom Typ TImageSprite.. Und nachdem ich die Procedure ausgeführt hab sind die nicht mehr in meiner SpriteEngine drin... Kann man da was gegen machen ? Bzw wie bekomm ich die da wieder rein
Gruß
Neutral General