16番会議室「玉石混淆みんなで作るSample蔵」に寄せられたサンプル
"カードゲーム用ランダムシャッフル(改)"
この発言は #00279 T. Kawanishi さんのRe:カードゲーム用ランダムシャッフル に対するコメントです
この発言に対し以下のコメントが寄せられています
#00287 T. Kawanishi さん Re:カードゲーム用ランダムシャッフル(改)
T. Kawanishi さん、こんにちは。 J-OH! です。
御指摘、どうもありがとうございました。 m(__)m アリガトー ゴザイマシタ・・・
――― というコトで改良版です。 (^^;;;
◆サンプルコード◆
procedure TForm1.Button1Click(Sender: TObject);
var
StrNum, StrMrk: String;
OK: Boolean;
Num, Mrk, RC, CC, All: Integer;
GrdHide: TStringGrid;
begin
Randomize;
try
GrdHide := TStringGrid.Create(Self);
All := 0;
for RC := 1 to 8 do
begin
for CC := 1 to 8 do
begin
OK := False;
inc(All);
if All >= 53 then Break;
while OK = False do
begin
Mrk := Random(4) + 1;
case Mrk of
1: StrMrk := '▲';
2: StrMrk := '★';
3: StrMrk := '○';
4: StrMrk := '◇';
end;
Num := Random(13) + 1;
if GrdHide.Cells[Num,Mrk] = '' then
begin
OK := True;
GrdHide.Cells[Num,Mrk] := 'x';
end;
if OK = True then
begin
if Num = 1 then StrNum := 'A' else
if Num = 11 then StrNum := 'J' else
if Num = 12 then StrNum := 'Q' else
if Num = 13 then StrNum := 'K' else
StrNum := IntToStr(Num);
StringGrid1.Cells[CC,RC] := StrMrk + StrNum;
end;
end;
end;
end;
finally
GrdHide.Free;
end;
end;
J-OH!(VEC05267)
◆追記◆
1: お陰様で、私自身が「T・・・.Create(); 〜〜 ・・・.Free;」の勉強になりま
した。 v(^^; ジツハ イママデ シリマセン デシタ・・・
2: また、おかしなトコロがありましたら御教示下さい。 m(__)m オネガイシマス・・
Original document by J-OH! 氏 ID:(VEC05267)
ここにあるドキュメントは NIFTY SERVEの Delphi Users' Forum の16番会議室「玉石混淆みんなで作るSample蔵」に投稿されたサンプルです。これらのサンプルはボーランド株式会社がサポートする公式のものではありません。また、必ずしも動作が検証されているものではありません。これらのサンプルを使用したことに起因するいかなる損害も投稿者、およびフォーラムスタッフはその責めを負いません。使用者のリスクの範疇でご使用下さい。
Copyright 1996-2002 Delphi Users' Forum
|