Thema: Delphi Skatspiel programmieren

Einzelnen Beitrag anzeigen

Benutzerbild von wicht
wicht

Registriert seit: 15. Jan 2006
Ort: Das schöne Enger nahe Bielefeld
809 Beiträge
 
Delphi XE Professional
 
#3

AW: Skatspiel programmieren

  Alt 26. Mär 2011, 17:10
Hi,

ich kann zwar kein Skat, aber um die Karten zu mischen und in einer Liste zu haben, würde ich wie folgt vorgehen. Erstmal braucht man ja die Karten, dafür sollte man sich eine Klasse bauen, wenn man es ordentlich machen will.

Delphi-Quellcode:
type
  TFarbe = (Pik, Kreuz, Karo, Herz);
  TWert = (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, J, Q, K, A);
  TKarte = class
  public
    Farbe: TFarbe;
    Wert: TWert;
  end;

procedure ListeBauen;
var
  i, n: Integer;
  Karten: TList;
begin
  Karten := TList.Create;

  for i := 0 to High(TFarbe) do
    for n := 0 to High(TWert) do
    begin
      Karten.Add(TKarte.Create);
      Karten[Karten.Count - 1].Farbe := TFarbe(i);
      Karten[Karten.Count - 1].Wert := TWert(n);
    end;

  Mische(Karten);
end;
Vielleicht passen die Werte für Skat jetzt nicht, aber damit hat man dann alle Karten in der Liste, die mir jetzt einfallen. Du müsstest dann nur noch diese Liste mischen (meine nicht implementierte Mische()-Funktion), über Google habe ich z.B. das hier gefunden.

Tipp: Bevor du, wie in deinem Beispiel, jede Karte nur eine Zahl sein lässt, fang gleich damit an, alles, was ein Objekt sein sollte, auch so zu bauen. Dadurch wird der Code schöner und du kommst später besser damit klar.
Achja, und der Code von mir da oben ist ungetestet..


HTH


Edit: Roter Kasten, aber dieses tolle Beispiel muss unbedingt gepostet werden!
http://streamwriter.org

"I make hits. Not the public. I tell the DJ’s what to play. Understand?"

Geändert von wicht (26. Mär 2011 um 17:12 Uhr)
  Mit Zitat antworten Zitat