Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.071 Beiträge
Delphi 12 Athens
|
Re: Skatblatt darstellen durch Random?
11. Nov 2009, 14:32
ach ja, auf das aktuelle Problem zurückgebaut, kommt z.B. sowas bei raus:
Delphi-Quellcode:
Type TBlatt = Set of 0..31;
Const cKarte: Array[0..7] of String = (' 7', ' 8', ' 9', ' 10', ' Bube', ' Dame', ' Koenig', ' As');
Function Ziehe( Var Blatt: TBlatt): Integer;
Var i, i2: Integer;
Begin
If Blatt = [] Then Raise Exception.Create(' keine Karten vorhanden');
i := 0;
For i2 := 0 to 31 do If i2 in Blatt Then Inc(i);
i := Random(i);
i2 := -1;
Repeat
Inc(i2);
While not (i2 in Blatt) do Inc(i2);
Dec(i);
Until i < 0;
Exclude(Blatt, i2);
Result := i2 div 4;
End;
Procedure TForm1.FormCreate(Sender: TObject);
Var i, i2: Integer;
Blatt: TBlatt;
Begin
Randomize;
Blatt := [0..31];
For i := 1 to 32 do Begin
i2 := Ziehe(Blatt);
Memo1.Lines.Add(cKarte[i2]);
End;
End;
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
|
|
Zitat
|