Registriert seit: 18. Sep 2004
Ort: Wentorf
87 Beiträge
Delphi 7 Personal
|
Re: Skat - Bilder in Stringgrid einfügen
11. Mär 2006, 20: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.
Wieland S.
|
|
Zitat
|