home *** CD-ROM | disk | FTP | other *** search
/ DP Tool Club 31 / CDASC_31_1996_juillet_aout.iso / vrac / del2faq.zip / CARDEXP.ZIP / UNIT1.PAS < prev   
Pascal/Delphi Source File  |  1995-03-08  |  2KB  |  90 lines

  1. unit Unit1;
  2.  
  3. interface
  4.  
  5. uses
  6.   SysUtils, WinTypes, WinProcs, Messages, Classes, Graphics, Controls,
  7.   Forms, Dialogs, VBXCtrl, Mhcd200, StdCtrls;
  8.  
  9. type
  10.   TForm1 = class(TForm)
  11.     MhCardDeck2: TMhCardDeck;
  12.     MhCardDeck3: TMhCardDeck;
  13.     Label1: TLabel;
  14.     Label2: TLabel;
  15.     Label3: TLabel;
  16.     Label4: TLabel;
  17.     Label5: TLabel;
  18.     procedure MhCardDeck2Click(Sender: TObject);
  19.     procedure FormCreate(Sender: TObject);
  20.   private
  21.     NumTurned: integer;
  22.     { Private declarations }
  23.   public
  24.     { Public declarations }
  25.   end;
  26.  
  27. var
  28.   Form1: TForm1;
  29.  
  30. implementation
  31. var
  32.   CardArray: array[1..52] of boolean;
  33.   { Clubs = 1 - 13, Diamonds = 14 - 26,
  34.     Hearts = 27 - 39, Spades = 40 - 52 }
  35.  
  36. {$R *.DFM}
  37.  
  38. procedure TForm1.MhCardDeck2Click(Sender: TObject);
  39. var
  40.   value: integer;
  41. begin
  42.   repeat
  43.     value := random(52) + 1;
  44.   until CardArray[Value] <> true;
  45.  
  46.   CardArray[Value] := true;
  47.  
  48.   if Value <= 13 then
  49.   begin
  50.     MhCardDeck3.Suit := 0;
  51.     MhCardDeck3.Value := Value;
  52.   end
  53.   else if Value <= 26 then
  54.   begin
  55.     MhCardDeck3.Suit := 1;
  56.     MhCardDeck3.Value := Value - 13;
  57.   end
  58.   else if Value <= 39 then
  59.   begin
  60.     MhCardDeck3.Suit := 2;
  61.     MhCardDeck3.Value := Value - 26;
  62.   end
  63.   else
  64.   begin
  65.     MhCardDeck3.Suit := 3;
  66.     MhCardDeck3.Value := Value - 39;
  67.   end;
  68.   MhCardDeck3.Visible := true;
  69.   inc(NumTurned);
  70.  
  71.   if NumTurned = 52 then
  72.     MhCardDeck2.Visible := false;
  73.   Label3.Caption := IntToStr(StrToInt(Label3.Caption)-1);
  74.   Label4.Caption := IntToStr(StrToInt(Label4.Caption)+1);
  75. end;
  76.  
  77. procedure TForm1.FormCreate(Sender: TObject);
  78. var
  79.  i: integer;
  80. begin
  81.   for i := 1 to 52 do
  82.     CardArray[i] := false;
  83.   Randomize;
  84.   NumTurned := 0;
  85.   Label3.Caption := '52';
  86.   Label4.Caption := '0';
  87. end;
  88.  
  89. end.
  90.