Gar nicht
Das war nur ein Vorschlag, wie Du es machen kannst. Dann weißt Du jederzeit exakt welche Karte wo ist.
Für dein Problem, ohne meinen Code zu verwenden:
Wenn Du eine Karte ziehst, bekommst Du dann ja zB k7 zurück. Wenn Du das jetzt in ein Array speicherst, dann hast Du ein Array[1..8] mit z.B. den Werten k7,h8,k9,ka,p9,pb,pd,pa. Wenn Du das getan hast, prüfst Du die Werte auf doppelte. Dazu würde ich Dir in deinem Fall eine Funktion empfehlen, die einen bool'schen Wert zurück gibt. Negativ, wenn keine doppelten vorhanden sind:
Delphi-Quellcode:
function testdouble():boolean;
var a,b : integer;
double : boolean;
begin
for a := 1 to 8 do begin
for b := 1 to 8 do begin
if a<>b then begin
if DeinArray[a]=DeinArray[b] then begin
result:=true;
end
else begin
result:=false;
end else begin
break;
end;
end;
end;
end;
Das funktioniert hoffentlich, habe es nicht getestet. Du könntest also so weiter machen:
Delphi-Quellcode:
repeat
//Karten ziehen
until
not testdouble();
Hoffe das hilft weiter