Thema: Delphi Karten geben

Einzelnen Beitrag anzeigen

Samufi

Registriert seit: 27. Nov 2008
Ort: Güstrow
93 Beiträge
 
Turbo Delphi für Win32
 
#1

Karten geben

  Alt 29. Okt 2009, 11:13
Hallo,
ich versuche gerade ein Kartenspiel zu programmieren und bin beim Karten geben stecken geblieben. Mein Plan war, für jeden Spieler eine ListBox (die dann später noch mit Bildern verknüpft werden soll) zu erstellen und die Kartenwerte per Zufallsgenerator dort hineinzuschreiben. Dazu brauche ich aber einen Zufallsgenerator, der schon herausgegebene Werte nicht noch einmal annimmt. Dann könnte die Sache ungefähr so aussehen:
Delphi-Quellcode:
var I,J,SpielerAnzahl,KartenAnzahl,KartenGesamt:Integer;
begin

For I:=1 to SpielerAnzahl do
begin
  For J:=1 to KartenAnzahl do
  begin
    TListBox(Form1.FindComponent('ListeSpieler'+InttoStr(I))).Items.add([Zufallsgenerator](KartenGesamt))
  end;
end;

end;
Mein Problem ist jetzt, dass ich keinen solchen Zufallsgenerator kenne; der, den ich jetzt gefunden habe (random(KartenAnzahl)) würde ja auch mehrmals dieselben Karten ausspucken. ich habe schon überlegt, den Generator in eine Repeat-Schleife zu packen, bis die Bedingung erfüllt ist, dass kein bisher schon aufgetretener Wert heruaskommt aber das wäre äußerst unelegant und könnte zu langen wartezeiten führen. Ich brauche also ein Zufallsgerät für eine "Kugelziehung ohne Zurücklegen" um das mal bildhaft auszudrücken...
Vielen Dank allen schon im Voraus, die sich des Problems annehmen!
Samufi
  Mit Zitat antworten Zitat