Einzelnen Beitrag anzeigen

Panthrax

Registriert seit: 18. Feb 2005
286 Beiträge
 
Delphi 2010 Enterprise
 
#10

Re: Kartenspiel: Wie Karten "kodieren" (Wert, Farb

  Alt 22. Mär 2010, 01:56
Z.B. so:
Delphi-Quellcode:
type
  TCardStack = array[0..31] of TCard;

procedure SetupCardStack(var CardStack: TCardStack);
var
  S: TSuit;
  V: TCardValue;
  I: Integer;
begin
  I := 0;
  for S := Low(TSuit) to High(TSuit) do
    for V := Low(TCardValue) to High(TCardValue) do
    begin
      with CardStack[I] do
      begin
        Suit := S;
        Value := V;
      end;
      Inc(I);
    end;
end;

procedure ShuffleCardStack(var CardStack: TCardStack; R: Integer = 1000);

  procedure ExchangeCards(const Index1, Index2: Integer);
  var
    Temp: TCard;
  begin
    Temp := CardStack[Index1];
    CardStack[Index1] := CardStack[Index2];
    CardStack[Index2] := Temp;
  end;

begin
  while R > 0 do
  begin
    ExchangeCards(Random(32), Random(32));
    Dec(R);
  end;
end;

var
  CardStack: TCardStack;
begin
  SetupCardStack(CardStack);
  ShuffleCardStack(CardStack);
end;
"Es gibt keine schlimmere Lüge als die Wahrheit, die von denen, die sie hören, missverstanden wird."
  Mit Zitat antworten Zitat