Einzelnen Beitrag anzeigen

tankm26

Registriert seit: 18. Sep 2004
Ort: Wentorf
87 Beiträge
 
Delphi 7 Personal
 
#6

Re: Skat - Bilder in Stringgrid einfügen

  Alt 11. Mär 2006, 19:04
jetzt frage ich mich, wie ich die karten sortieren kann. Als Beispiel/Anleitung für mich erführe ich gerne, wie man die Buben nach rechts sortieren lassen könnte (mittels Button).


Danke schonmal,


Wieland


Quelltext:

Delphi-Quellcode:

type
  TForm1 = class(TForm)
    ClientSocket1: TClientSocket;
    ServerSocket1: TServerSocket;
    OpenDialog1: TOpenDialog;
    SaveDialog1: TSaveDialog;
    MainMenu1: TMainMenu;
    start1: TMenuItem;
    neuerunde1: TMenuItem;
    beenden1: TMenuItem;
    hilfe1: TMenuItem;
    regeln1: TMenuItem;
    reglnfrdeppen1: TMenuItem;
    JA: TButton;
    NEIN: TButton;
    gridspieler1: TStringGrid;
    gridspieler2: TStringGrid;
    gridspieler3: TStringGrid;
    spieler_2: TLabel;
    spieler_3: TLabel;
    Image1: TImage;
    aus: TBitBtn;
    Chatfenster: TMemo;
    gridskat: TStringGrid;
    labelSkat: TLabel;
    buttonsortiere: TButton;
    procedure beenden1Click(Sender: TObject);
    procedure Chrgeben;
    procedure FormCreate(Sender: TObject);
    procedure sreihenfolge;
    procedure wimageload;
    procedure JAClick(Sender: TObject);
    procedure gridspieler1DrawCell(Sender: TObject; ACol, ARow: Integer;
      Rect: TRect; State: TGridDrawState);
    procedure ausClick(Sender: TObject);
    procedure buttonsortiereClick(Sender: TObject);

  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  karten:array[0..31] of TBitmap;
  nummern:array[0..31]of Integer;
  spieler1:array[0..9] of Integer;
  spieler2:array[0..9] of Integer;
  spieler3:array[0..9] of Integer;
  skat2,skat3, dransein, sgeben, shoeren, ssagen, spiel:integer;

implementation

{$R *.dfm}

procedure TForm1.beenden1Click(Sender: TObject);
begin
close;
end;

procedure TForm1.Chrgeben;
var
 i,x,j:integer;
begin
  Randomize;
  for i:= 0 to 31 do
  begin
    j:=Random(31);
    X:=nummern[i] ;
    nummern[i]:= nummern[j];
    nummern[j]:=x;
  end;
  for i:=0 to 9 do begin
    spieler1[i]:=nummern[i];
    spieler2[i]:=nummern[i+10];
    spieler3[i]:=nummern[i+20];
  end;
  skat2:=nummern[30];
  skat3:=nummern[31];
  for i:=0 to 8 do
  begin
    for j:=i+1 to 9 do
    begin
      if spieler1[j] < spieler1[i] then begin
        x:=spieler1[i];
        spieler1[i]:=spieler1[j];
        spieler1[j]:=x;
      end;
      if spieler2[j] < spieler2[i] then begin
        x:=spieler2[i];
        spieler2[i]:=spieler2[j];
        spieler2[j]:=x;
      end;
      if spieler3[j] < spieler3[i] then begin
        x:=spieler3[i];
        spieler3[i]:=spieler3[j];
        spieler3[j]:=x;
      end;
    end;
  end;
end;

procedure TForm1.wimageload;
var
  i: integer;
begin
  for i:=0 to 31 do
  begin
    karten[i]:=TBitmap.Create;
    karten[i].LoadFromFile(IntToStr(i)+'.bmp');
  end;
end;

procedure TForm1.sreihenfolge;
begin
  if sgeben=3 then
    sgeben:=1
  else sgeben:=sgeben+1;
  if shoeren=3 then
    shoeren:=1
  else shoeren:=shoeren+1;
  if ssagen=3 then
    ssagen:=1
  else ssagen:=ssagen+1;
  if sgeben=3 then
    dransein:=1
  else dransein:=sgeben+1;
end;

procedure TForm1.FormCreate(Sender: TObject);
var chr3:integer;
begin
  for chr3:= 0 to 31 do
    nummern[chr3]:=chr3;
  chrgeben;
  sgeben:=1;
  shoeren:=2;
  ssagen:=3;
  wimageload;
  sreihenfolge;
  chatfenster.Lines.Add('Spielbeginn: '+(timetostr(now)));
end;

procedure TForm1.JAClick(Sender: TObject);
begin
  chrgeben;
  gridspieler1.Refresh;
end;

procedure TForm1.gridspieler1DrawCell(Sender: TObject; ACol, ARow: Integer;
  Rect: TRect; State: TGridDrawState);
var c:integer;
begin
  for c := 0 to 31 do begin
    if spieler1[Acol]=c then
      gridspieler1.Canvas.Draw(rect.left, rect.top, Karten[c]);
  end;
end;

procedure TForm1.ausClick(Sender: TObject);
begin
  close;
end;

procedure TForm1.buttonsortiereClick(Sender: TObject);
var w,w2,w3,w4,w5:integer;
begin
end;
  { if spiel=1 then begin
    for w:=9 downto 0 do begin
      if gridspieler1 [w] =5 then begin
        w2:=w;
        w3:=5;
        gridspieler1[w]:=5;
        gridspieler1[w2]:=
      end;
    end;
  end;}

end.
Angehängte Dateien
Dateityp: zip feinere_fertige_version_1_205.zip (298,9 KB, 26x aufgerufen)
Wieland S.
  Mit Zitat antworten Zitat