home *** CD-ROM | disk | FTP | other *** search
/ Programming Tool Box / SIMS_2.iso / vb_code2 / tab100 / carddeck.bas < prev    next >
BASIC Source File  |  1991-12-02  |  5KB  |  182 lines

  1. DefInt A-Z
  2.  
  3. Declare Function CardVersion Lib "VBCards.Dll" () As Integer
  4.  
  5. Declare Sub GetCard Lib "VBCards.dll" (ByVal Card As Integer)
  6. Declare Sub GetCardBack Lib "VBCards.dll" (ByVal Card As Integer)
  7. Declare Sub GetCardMisc Lib "VBCards.dll" (ByVal Card As Integer)
  8. Declare Function SameSuit Lib "VBCards.Dll" (ByVal c1 As Integer, ByVal c2 As Integer) As Integer
  9. Declare Function SuitOf Lib "VBCards.DLL" (ByVal C As Integer) As Integer
  10. Declare Function CardValue Lib "vbCards.dll" (ByVal C As Integer)
  11. Declare Function SameCardValue Lib "VBCards.Dll" (ByVal c1 As Integer, ByVal c2 As Integer) As Integer
  12.  
  13. Sub ShuffleCards ()
  14.       
  15.    For i = 1 To 52
  16.       Cards(i) = i
  17.    Next i
  18.  
  19.    For J = 1 To 10
  20.      For i = 1 To 52
  21.         K = Int(52 * Rnd + 1)
  22.         Temp = Cards(i)
  23.         Cards(i) = Cards(K)
  24.         Cards(K) = Temp
  25.      Next i
  26.    Next J
  27.  
  28. End Sub
  29.  
  30. Sub ComputerDeal ()
  31.  
  32. ' Deal Player & Computer Hands 6 each 1St to Player
  33.  
  34.     Dim Remainder As Integer
  35.  
  36.     For i = 1 To 12
  37.         GetCard (Cards(CardNo))
  38.         Remainder = i Mod 2
  39.         If Remainder <> 0 Then
  40.             Form1.Picture2(i - (i \ 2)).Picture = ClipBoard.GetData(2)
  41.             Form1.Picture2(i - (i \ 2)).Tag = Str$(CardNo)
  42.             Form1.Picture2(i - (i \ 2)).Enabled = TRUE
  43.             Form1.Picture2(i - (i \ 2)).Visible = TRUE
  44.         Else
  45.             Form1.Picture4(i / 2).Picture = ClipBoard.GetData(2)
  46.             Form1.Picture4(i / 2).Tag = Str$(CardNo)
  47. '            Form1.Picture4(i / 2).Enabled = TRUE
  48. '            Form1.Picture4(i / 2).Visible = TRUE
  49.  
  50.         End If
  51.         CardNo = CardNo + 1
  52.     Next i
  53.  
  54.     ComputerNo = 6
  55.     PlayerNo = 6
  56.  
  57.  
  58.     If CardNo > 52 Then
  59.         GetCardMisc (1)
  60.         Form1.Picture3(1).Picture = ClipBoard.GetData(2)
  61.     End If
  62.  
  63. End Sub
  64.  
  65. Sub PlayerDeal ()
  66.  
  67. ' Deal Player & Computer Hands 6 Each 1st to Computer
  68.  
  69.     Dim Remainder As Integer
  70.  
  71.     For i = 1 To 12
  72.         GetCard (Cards(CardNo))
  73.         Remainder = i Mod 2
  74.         If Remainder <> 0 Then
  75.             Form1.Picture4(i - (i \ 2)).Picture = ClipBoard.GetData(2)
  76.             Form1.Picture4(i - (i \ 2)).Tag = Str$(CardNo)
  77. '            Form1.Picture4(i - (i \ 2)).Enabled = TRUE
  78. '            Form1.Picture4(i - (i \ 2)).Visible = TRUE
  79.         Else
  80.             Form1.Picture2(i / 2).Picture = ClipBoard.GetData(2)
  81.             Form1.Picture2(i / 2).Tag = Str$(CardNo)
  82.             Form1.Picture2(i / 2).Enabled = TRUE
  83.             Form1.Picture2(i / 2).Visible = TRUE
  84.  
  85.         End If
  86.         CardNo = CardNo + 1
  87.     Next i
  88.  
  89.     ComputerNo = 6
  90.     PlayerNo = 6
  91.  
  92.  
  93.     If CardNo > 52 Then
  94.         GetCardMisc (1)
  95.         Form1.Picture3(1).Picture = ClipBoard.GetData(2)
  96.     End If
  97.  
  98.     
  99.     
  100. End Sub
  101.  
  102. Sub FirstDeal ()
  103.     
  104. ' Form1.Picture1 is Table, Form1.Picture2 is Player, Form1.Picture3 is Deck
  105. ' and Form1.Picture4 is Computer(not visible)
  106.  
  107. ' Re-seed Random number generator
  108.  
  109.     Randomize
  110.  
  111.     ShuffleCards
  112.  
  113.     Dim HoldJack As Integer
  114.  
  115.     
  116.     
  117.     CardNo = 1
  118.     If DealSwitch = PLAYER_DEAL Then
  119.         PlayerDeal
  120.     Else
  121.         ComputerDeal
  122.     End If
  123.     
  124.  
  125.     
  126.     GetCardMisc (2)
  127.     Form1.Picture3(1).Picture = ClipBoard.GetData(2)
  128.     Form1.Picture3(1).Visible = TRUE
  129.     
  130.     DealToTable
  131.  
  132.     TableNo = 4
  133.     CardNo = 17
  134.     PlayerCardsNo = 0
  135.     ComputerCardsNo = 0
  136.     For i = 1 To 13
  137.         EqualRankGone(i) = 0
  138.     Next i
  139.  
  140.  
  141.     If DealSwitch = PLAYER_DEAL Then
  142.         GameSwitch = COMPUTER_MOVE
  143.         EnableComputerMove
  144.     Else
  145.         GameSwitch = PLAYER_MOVE
  146.         EnablePlayerMove
  147.     End If
  148. End Sub
  149.  
  150. Sub DealToTable ()
  151.  
  152. '   Deal to Table, Jacks are not dealt to table, but are
  153. '   placed on bottom of deck
  154.  
  155.     For i = 1 To 4
  156.         GetCard (Cards(i + 12))
  157.  
  158.         Do While CardValue(Cards(i + 12)) = 11
  159.             HoldJack = Cards((i + 12))
  160.             ShiftLeft Cards(), ((i + 12) + 1), 52
  161.             Cards(52) = HoldJack
  162.             MsgOk = MsgBox("A Jack has been placed on bottom of the Deck", MBI_INFO)
  163.             GetCard (Cards(i + 12))
  164.         Loop
  165.  
  166.        Form1.Picture1(i).Picture = ClipBoard.GetData(2)
  167.        Form1.Picture1(i).Tag = Str$(i + 12)
  168.        Form1.Picture1(i).Enabled = TRUE
  169.        Form1.Picture1(i).Visible = TRUE
  170.  
  171.     Next i
  172.  
  173.    GetCardBack (2)
  174.    Form1.Picture1(5).Picture = ClipBoard.GetData(2)
  175.    Form1.Picture1(5).Tag = "End"
  176.    Form1.Picture1(i).Enabled = TRUE
  177.    Form1.Picture1(i).Visible = TRUE
  178.  
  179.     
  180. End Sub
  181.  
  182.