home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 1997 February / PCWK0297.iso / envelop / envelop.5 / Tools / Arsenal / apps / gamedice / gamedice.eto < prev    next >
Text File  |  1996-07-08  |  47KB  |  1,594 lines

  1. Type DiceOptionMenu From PopupMenu
  2. End Type
  3.  
  4. Type OptionsPlayersMenu From PopupMenu
  5. End Type
  6.  
  7. Type DiceMasterForm From SampleMasterForm
  8.   Dim btnRoll As New Button
  9.   Dim chkKeep1 As New CheckBox
  10.   Dim chkKeep2 As New CheckBox
  11.   Dim chkKeep3 As New CheckBox
  12.   Dim chkKeep4 As New CheckBox
  13.   Dim chkKeep5 As New CheckBox
  14.   Dim imgDice1 As New Image
  15.   Dim imgDice2 As New Image
  16.   Dim imgDice3 As New Image
  17.   Dim imgDice4 As New Image
  18.   Dim imgDice5 As New Image
  19.   Dim bmpDice1 As New Bitmap
  20.   Dim bmpDice2 As New Bitmap
  21.   Dim bmpDice3 As New Bitmap
  22.   Dim bmpDice4 As New Bitmap
  23.   Dim bmpDice5 As New Bitmap
  24.   Dim bmpDice6 As New Bitmap
  25.   Dim bmpDice0 As New Bitmap
  26.   Dim Label1 As New Label
  27.   Dim btnKeep As New Button
  28.   Dim Label2 As New Label
  29.   Dim lblTotalScore As New Label
  30.   Dim Label3 As New Label
  31.   Dim lblMatchDice As New Label
  32.   Dim DiceRolled As String
  33.   Dim DiceCount As Integer
  34.   Dim DiceMatched As Integer
  35.   Dim ClickFlag As Integer
  36.   Dim KeepFlag As Integer
  37.   Dim Label4 As New Label
  38.   Dim btnPlayer1 As New Button
  39.   Dim btnPlayer2 As New Button
  40.   Dim btnPlayer3 As New Button
  41.   Dim btnPlayer4 As New Button
  42.   Dim lblScore1 As New Label
  43.   Dim lblScore2 As New Label
  44.   Dim lblScore3 As New Label
  45.   Dim lblScore4 As New Label
  46.   Dim Label9 As New Label
  47.   Dim btnPlayer5 As New Button
  48.   Dim btnPlayer6 As New Button
  49.   Dim lblScore5 As New Label
  50.   Dim lblScore6 As New Label
  51.   Dim lblLostAmount As New Label
  52.   Dim PlayerNumber As Integer
  53.   Dim CurrentTurn As Integer
  54.  
  55.   ' METHODS for object: DiceMasterForm
  56.   Sub ActivatePlayer(count As Integer)
  57.     ' Deactivate all player buttons
  58.     btnPlayer1.Enabled = False
  59.     btnPlayer2.Enabled = False
  60.     btnPlayer3.Enabled = False
  61.     btnPlayer4.Enabled = False
  62.     btnPlayer5.Enabled = False
  63.     btnPlayer6.Enabled = False
  64.   
  65.     ' Enable the currently active turn
  66.     Select Case count
  67.       Case 1
  68.         btnPlayer1.Enabled = True
  69.       Case 2
  70.         btnPlayer2.Enabled = True
  71.       Case 3
  72.         btnPlayer3.Enabled = True
  73.       Case 4
  74.         btnPlayer4.Enabled = True
  75.       Case 5
  76.         btnPlayer5.Enabled = True
  77.       Case 6
  78.         btnPlayer6.Enabled = True
  79.     End Select
  80.   
  81.   End Sub
  82.  
  83.   Sub AnalyzeCheckBoxes()
  84.     ' Check to see if all checkboxes are clicked on
  85.     If chkKeep1.Value = 1 Then 
  86.       If chkKeep2.Value = 1 Then 
  87.         If chkKeep3.Value = 1 Then 
  88.           If chkKeep4.Value = 1 Then 
  89.             If chkKeep5.Value = 1 Then 
  90.               ClickFlag = 1
  91.               InitImages
  92.               ClickFlag = 0
  93.               btnRoll.Enabled = "True"
  94.               KeepFlag = 1
  95.             End If
  96.           End If
  97.         End If
  98.       End If
  99.     End If
  100.   
  101.   End Sub
  102.  
  103.   Sub btnKeep_Click()
  104.     Dim i As Integer
  105.     Dim dice_number As Integer
  106.   
  107.     ' Must add score to total
  108.     ' Must automatically check checkboxes
  109.     ' Must disable checkboxes
  110.     lblTotalScore.Caption = lblTotalScore.Caption + lblMatchDice.Caption
  111.   
  112.     ' Clear the matching dice label
  113.     lblMatchDice.Caption = ""
  114.   
  115.     ' Set the clickflag to true - this prevents checkboxes from running when this routine
  116.     ' automatically updates checkboxes
  117.     ClickFlag = 1
  118.   
  119.     ' check each checkbox to see if it is off, if it is, then check for matching number
  120.     For i = 1 To 5
  121.       Select Case i
  122.         Case 1 ' Image 1
  123.           If chkKeep1.Value = 0 Then 
  124.             dice_number = ReturnDiceNumber(1)
  125.             If dice_number = DiceMatched Then 
  126.               chkKeep1.Value = 1
  127.               chkKeep1.Enabled = "False"
  128.             End If
  129.           End If
  130.         Case 2 ' Image 2
  131.           If chkKeep2.Value = 0 Then 
  132.             dice_number = ReturnDiceNumber(2)
  133.             If dice_number = DiceMatched Then 
  134.               chkKeep2.Value = 1
  135.               chkKeep2.Enabled = "False"
  136.             End If
  137.           End If
  138.         Case 3
  139.           If chkKeep3.Value = 0 Then 
  140.             dice_number = ReturnDiceNumber(3)
  141.             If dice_number = DiceMatched Then 
  142.               chkKeep3.Value = 1
  143.               chkKeep3.Enabled = "False"
  144.             End If
  145.           End If
  146.         Case 4
  147.           If chkKeep4.Value = 0 Then 
  148.             dice_number = ReturnDiceNumber(4)
  149.             If dice_number = DiceMatched Then 
  150.               chkKeep4.Value = 1
  151.               chkKeep4.Enabled = "False"
  152.             End If
  153.           End If
  154.         Case 5
  155.           If chkKeep5.Value = 0 Then 
  156.             dice_number = ReturnDiceNumber(5)
  157.             If dice_number = DiceMatched Then 
  158.               chkKeep5.Value = 1
  159.               chkKeep5.Enabled = "False"
  160.             End If
  161.           End If
  162.       End Select
  163.     Next i
  164.   
  165.     ' clear the clickflag
  166.     ClickFlag = 0
  167.     btnKeep.Enabled = "False"
  168.   
  169.     ' Check to make sure all boxes are checked
  170.     AnalyzeCheckBoxes
  171.   
  172.     ' Set the keep flag
  173.     KeepFlag = 1
  174.   End Sub
  175.  
  176.   Sub btnPlayer1_Click()
  177.     If btnRoll.Enabled = "True" Then 
  178.       If lblTotalScore.Caption <> "" Then 
  179.         lblScore1.Caption = lblScore1.Caption + lblTotalScore.Caption
  180.         ' Reset the turn
  181.         ResetTurn
  182.         IncrementPlayer
  183.       End If
  184.   
  185.       ' Check to see if the player has won
  186.       If lblScore1.Caption >= 10000 Then 
  187.         InfoBox.Message("", "Player 1 is the winner!")
  188.         NewGame_Click
  189.       End If
  190.     End If
  191.   
  192.   End Sub
  193.  
  194.   Sub btnPlayer2_Click()
  195.     If btnRoll.Enabled = "True" Then 
  196.       If lblTotalScore.Caption <> "" Then 
  197.         lblScore2.Caption = lblScore2.Caption + lblTotalScore.Caption
  198.         ' Reset the turn
  199.         ResetTurn
  200.         IncrementPlayer
  201.       End If
  202.   
  203.       ' Check to see if the player has won
  204.       If lblScore2.Caption >= 10000 Then 
  205.         InfoBox.Message("", "Player 2 is the winner!")
  206.         NewGame_Click
  207.       End If
  208.     End If
  209.   End Sub
  210.  
  211.   Sub btnPlayer3_Click()
  212.     If btnRoll.Enabled = "True" Then 
  213.       If lblTotalScore.Caption <> "" Then 
  214.         lblScore3.Caption = lblScore3.Caption + lblTotalScore.Caption
  215.         ' Reset the turn
  216.         ResetTurn
  217.         IncrementPlayer
  218.       End If
  219.   
  220.       ' Check to see if the player has won
  221.       If lblScore3.Caption >= 10000 Then 
  222.         InfoBox.Message("", "Player 1 is the winner!")
  223.         NewGame_Click
  224.       End If
  225.     End If
  226.   End Sub
  227.  
  228.   Sub btnPlayer4_Click()
  229.     If btnRoll.Enabled = "True" Then 
  230.       If lblTotalScore.Caption <> "" Then 
  231.         lblScore4.Caption = lblScore4.Caption + lblTotalScore.Caption
  232.         ' Reset the turn
  233.         ResetTurn
  234.         IncrementPlayer
  235.       End If
  236.   
  237.       ' Check to see if the player has won
  238.       If lblScore4.Caption >= 10000 Then 
  239.         InfoBox.Message("", "Player 4 is the winner!")
  240.         NewGame_Click
  241.       End If
  242.     End If
  243.   End Sub
  244.  
  245.   Sub btnPlayer5_Click()
  246.     If btnRoll.Enabled = "True" Then 
  247.       If lblTotalScore.Caption <> "" Then 
  248.         lblScore5.Caption = lblScore5.Caption + lblTotalScore.Caption
  249.         ' Reset the turn
  250.         ResetTurn
  251.         IncrementPlayer
  252.       End If
  253.   
  254.       ' Check to see if the player has won
  255.       If lblScore5.Caption >= 10000 Then 
  256.         InfoBox.Message("", "Player 5 is the winner!")
  257.         NewGame_Click
  258.       End If
  259.     End If
  260.   End Sub
  261.  
  262.   Sub btnPlayer6_Click()
  263.     If btnRoll.Enabled = "True" Then 
  264.       If lblTotalScore.Caption <> "" Then 
  265.         lblScore6.Caption = lblScore6.Caption + lblTotalScore.Caption
  266.         ' Reset the turn
  267.         ResetTurn
  268.         IncrementPlayer
  269.       End If
  270.   
  271.       ' Check to see if the player has won
  272.       If lblScore6.Caption >= 10000 Then 
  273.         InfoBox.Message("", "Player 6 is the winner!")
  274.         NewGame_Click
  275.       End If
  276.     End If
  277.   End Sub
  278.  
  279.   Sub btnRoll_Click()
  280.     Dim i, j, r as Integer
  281.     Dim rolled_length As Integer
  282.     Dim dice_number As Integer
  283.     Dim dice_valid As Integer
  284.     Dim dice_value
  285.   
  286.     ' If the end of the turn is over, reset new
  287.     If lblLostAmount.Caption <> "" Then 
  288.       ResetTurn
  289.       IncrementPlayer
  290.       lblLostAmount.Caption = ""
  291.     End If
  292.   
  293.     ' Clear DiceRolled string
  294.     DiceRolled = ""
  295.     DiceCount = 0
  296.   
  297.     ' This guy makes sure something got saved
  298.     If KeepFlag = 0 Then 
  299.       InfoBox.Message("", "You must keep at least one dice.")
  300.       Exit Sub
  301.     End If
  302.   
  303.     ' Disable all checked boxes
  304.     DisableCheckedBoxes
  305.   
  306.     lblMatchDice.Caption = ""
  307.     btnKeep.Enabled = "False"
  308.   
  309.     btnRoll.Enabled = "False"
  310.     For i = 1 To 5
  311.       Select Case i
  312.         Case 1 ' Image 1
  313.           If chkKeep1.Value = 0 Then 
  314.             r = RollDice(1, 6, 1)
  315.             Select Case r
  316.               Case 1
  317.                 imgDice1.Picture = bmpDice1
  318.                 DiceRolled = DiceRolled & 1
  319.               Case 2
  320.                 imgDice1.Picture = bmpDice2
  321.                 DiceRolled = DiceRolled & 2
  322.               Case 3
  323.                 imgDice1.Picture = bmpDice3
  324.                 DiceRolled = DiceRolled & 3
  325.               Case 4
  326.                 imgDice1.Picture = bmpDice4
  327.                 DiceRolled = DiceRolled & 4
  328.               Case 5
  329.                 imgDice1.Picture = bmpDice5
  330.                 DiceRolled = DiceRolled & 5
  331.               Case 6
  332.                 imgDice1.Picture = bmpDice6
  333.                 DiceRolled = DiceRolled & 6
  334.             End Select
  335.             imgDice1.Refresh
  336.           End If
  337.         Case 2 ' Image 2
  338.           If chkKeep2.Value = 0 Then 
  339.             r = RollDice(1, 6, 1)
  340.             Select Case r
  341.               Case 1
  342.                 imgDice2.Picture = bmpDice1
  343.                 DiceRolled = DiceRolled & 1
  344.               Case 2
  345.                 imgDice2.Picture = bmpDice2
  346.                 DiceRolled = DiceRolled & 2
  347.               Case 3
  348.                 imgDice2.Picture = bmpDice3
  349.                 DiceRolled = DiceRolled & 3
  350.               Case 4
  351.                 imgDice2.Picture = bmpDice4
  352.                 DiceRolled = DiceRolled & 4
  353.               Case 5
  354.                 imgDice2.Picture = bmpDice5
  355.                 DiceRolled = DiceRolled & 5
  356.               Case 6
  357.                 imgDice2.Picture = bmpDice6
  358.                 DiceRolled = DiceRolled & 6
  359.             End Select
  360.             imgDice2.Refresh
  361.           End If
  362.         Case 3 ' Image 3
  363.           If chkKeep3.Value = 0 Then 
  364.             r = RollDice(1, 6, 1)
  365.             Select Case r
  366.               Case 1
  367.                 imgDice3.Picture = bmpDice1
  368.                 DiceRolled = DiceRolled & 1
  369.               Case 2
  370.                 imgDice3.Picture = bmpDice2
  371.                 DiceRolled = DiceRolled & 2
  372.               Case 3
  373.                 imgDice3.Picture = bmpDice3
  374.                 DiceRolled = DiceRolled & 3
  375.               Case 4
  376.                 imgDice3.Picture = bmpDice4
  377.                 DiceRolled = DiceRolled & 4
  378.               Case 5
  379.                 imgDice3.Picture = bmpDice5
  380.                 DiceRolled = DiceRolled & 5
  381.               Case 6
  382.                 imgDice3.Picture = bmpDice6
  383.                 DiceRolled = DiceRolled & 6
  384.             End Select
  385.             imgDice3.Refresh
  386.           End If
  387.         Case 4 ' Image 4
  388.           If chkKeep4.Value = 0 Then 
  389.             r = RollDice(1, 6, 1)
  390.             Select Case r
  391.               Case 1
  392.                 imgDice4.Picture = bmpDice1
  393.                 DiceRolled = DiceRolled & 1
  394.               Case 2
  395.                 imgDice4.Picture = bmpDice2
  396.                 DiceRolled = DiceRolled & 2
  397.               Case 3
  398.                 imgDice4.Picture = bmpDice3
  399.                 DiceRolled = DiceRolled & 3
  400.               Case 4
  401.                 imgDice4.Picture = bmpDice4
  402.                 DiceRolled = DiceRolled & 4
  403.               Case 5
  404.                 imgDice4.Picture = bmpDice5
  405.                 DiceRolled = DiceRolled & 5
  406.               Case 6
  407.                 imgDice4.Picture = bmpDice6
  408.                 DiceRolled = DiceRolled & 6
  409.             End Select
  410.             imgDice4.Refresh
  411.           End If
  412.         Case 5 ' Image 5
  413.           If chkKeep5.Value = 0 Then 
  414.             r = RollDice(1, 6, 1)
  415.             Select Case r
  416.               Case 1
  417.                 imgDice5.Picture = bmpDice1
  418.                 DiceRolled = DiceRolled & 1
  419.               Case 2
  420.                 imgDice5.Picture = bmpDice2
  421.                 DiceRolled = DiceRolled & 2
  422.               Case 3
  423.                 imgDice5.Picture = bmpDice3
  424.                 DiceRolled = DiceRolled & 3
  425.               Case 4
  426.                 imgDice5.Picture = bmpDice4
  427.                 DiceRolled = DiceRolled & 4
  428.               Case 5
  429.                 imgDice5.Picture = bmpDice5
  430.                 DiceRolled = DiceRolled & 5
  431.               Case 6
  432.                 imgDice5.Picture = bmpDice6
  433.                 DiceRolled = DiceRolled & 6
  434.             End Select
  435.             imgDice1.Refresh
  436.           End If
  437.       End Select
  438.     Next i
  439.     btnRoll.Enabled = "True"
  440.     DiceCount = Len(DiceRolled)
  441.   
  442.     ' Check for duplicate dice
  443.     If DiceCount > 2 Then 
  444.       CheckForDuplicates
  445.     End If
  446.   
  447.     ' set variable to false initially
  448.     dice_valid = 0
  449.   
  450.     ' If there was matching dice, Keep button to check valid next turn
  451.     If lblMatchDice.Caption = "" Then 
  452.       ' Check for end of turn by no valid dice being rolled
  453.       rolled_length = Len(DiceRolled)
  454.       For i = 1 To rolled_length
  455.         dice_number = Mid(DiceRolled, i, 1)
  456.         If dice_number = 1 Or dice_number = 5 Then 
  457.           dice_valid = 1
  458.           Exit For
  459.         End If
  460.       Next i
  461.       If dice_valid = 0 Then 
  462.         ' End of turn, no valid dice rolled, clear everything
  463.         If lblTotalScore.Caption = "" Then 
  464.           lblLostAmount.Caption = "LOST AMOUNT = 0"
  465.         Else 
  466.           lblLostAmount.Caption = "LOST AMOUNT = " & lblTotalScore.Caption
  467.         End If
  468.   
  469.         chkKeep1.Enabled = "False"
  470.         chkKeep2.Enabled = "False"
  471.         chkKeep3.Enabled = "False"
  472.         chkKeep4.Enabled = "False"
  473.         chkKeep4.Enabled = "False"
  474.       End If
  475.     Else 
  476.       ' The Keep button is enabled so we have to disable the corresponding checkboxes
  477.       ' so a clever user don't click them and then the Keep button
  478.       ' The DiceMatched flag should contain the dice we're interested in protecting
  479.       ' check each checkbox to see if it is off, if it is, then check for matching number
  480.       For j = 1 To 5
  481.         Select Case j
  482.           Case 1 ' Image 1
  483.             If chkKeep1.Value = 0 Then 
  484.               dice_value = ReturnDiceNumber(1)
  485.               If dice_value = DiceMatched Then 
  486.                 chkKeep1.Enabled = "False"
  487.               End If
  488.             End If
  489.           Case 2 ' Image 2
  490.             If chkKeep2.Value = 0 Then 
  491.               dice_value = ReturnDiceNumber(2)
  492.               If dice_value = DiceMatched Then 
  493.                 chkKeep2.Enabled = "False"
  494.               End If
  495.             End If
  496.           Case 3
  497.             If chkKeep3.Value = 0 Then 
  498.               dice_value = ReturnDiceNumber(3)
  499.               If dice_value = DiceMatched Then 
  500.                 chkKeep3.Enabled = "False"
  501.               End If
  502.             End If
  503.           Case 4
  504.             If chkKeep4.Value = 0 Then 
  505.               dice_value = ReturnDiceNumber(4)
  506.               If dice_value = DiceMatched Then 
  507.                 chkKeep4.Enabled = "False"
  508.               End If
  509.             End If
  510.           Case 5
  511.             If chkKeep5.Value = 0 Then 
  512.               dice_value = ReturnDiceNumber(5)
  513.               If dice_value = DiceMatched Then 
  514.                 chkKeep5.Enabled = "False"
  515.               End If
  516.             End If
  517.         End Select
  518.       Next j
  519.     End If
  520.   
  521.     ' This flag determines if a checkbox was clicked
  522.     KeepFlag = 0
  523.   
  524.   End Sub
  525.  
  526.   Sub CheckForDuplicates()
  527.     Dim i, j, match_count, target_number, check_number, matched_number As Integer
  528.   
  529.     ' target_number is the number being checked for duplicates
  530.     ' check_number is each of the other numbers to the right of the target_number
  531.     ' match_count will track number of matches for target_number
  532.     ' matched_number is the number in which a duplicate was found
  533.     For i = 1 To DiceCount
  534.       match_count = 1
  535.       target_number = Mid(DiceRolled, i, 1)
  536.       For j = (i + 1) To DiceCount
  537.         check_number = Mid(DiceRolled, j, 1)
  538.         If check_number = target_number Then 
  539.           matched_number = target_number
  540.           match_count = match_count + 1
  541.         End If
  542.       Next j
  543.       If match_count >= 3 Then Exit For
  544.     Next i
  545.   
  546.     If match_count >= 3 Then 
  547.       ComputeDiceScore(matched_number, match_count)
  548.     End If
  549.   
  550.   End Sub
  551.  
  552.   Sub chkKeep1_Click()
  553.     Dim dice_value As Integer
  554.     Dim dice_number
  555.   
  556.     ' If this guy is set to true, then the checkbox is being updated automatically
  557.     If ClickFlag = 1 Then Exit Sub
  558.   
  559.     ' Check to make sure the value is 1 or 5 - if it is add to score if turned on
  560.     ' Otherwise subtract it from the total
  561.   
  562.     If imgDice1.Picture = bmpDice1 Then 
  563.       dice_number = 1
  564.       dice_value = 100
  565.     ElseIf imgDice1.Picture = bmpDice5 Then 
  566.       dice_number = 5
  567.       dice_value = 50
  568.     Else 
  569.       dice_number = 0
  570.     End If
  571.   
  572.     ' If there is no valid dice on the click, then we don't keep the checkbox true
  573.     If dice_number = 0 Then 
  574.       chkKeep1.Value = 0
  575.       Exit Sub
  576.     End If
  577.   
  578.     If chkKeep1.Value = 0 Then 
  579.       ' Subtract from score
  580.       lblTotalScore.Caption = lblTotalScore.Caption - dice_value
  581.       KeepFlag = KeepFlag - 1
  582.     Else 
  583.       ' Add to score
  584.       lblTotalScore.Caption = lblTotalScore.Caption + dice_value
  585.       ' Set the keep flag to true
  586.       KeepFlag = KeepFlag + 1
  587.     End If
  588.   
  589.     ' Check to see if all checkboxes are clicked on
  590.     AnalyzeCheckBoxes
  591.   End Sub
  592.  
  593.   Sub chkKeep2_Click()
  594.     Dim dice_value As Integer
  595.     Dim dice_number
  596.   
  597.     ' If this guy is set to true, then the checkbox is being updated automatically
  598.     If ClickFlag = 1 Then Exit Sub
  599.   
  600.     ' Check to make sure the value is 1 or 5 - if it is add to score if turned on
  601.     ' Otherwise subtract it from the total
  602.   
  603.     If imgDice2.Picture = bmpDice1 Then 
  604.       dice_number = 1
  605.       dice_value = 100
  606.     ElseIf imgDice2.Picture = bmpDice5 Then 
  607.       dice_number = 5
  608.       dice_value = 50
  609.     Else 
  610.       dice_number = 0
  611.     End If
  612.   
  613.     ' If there is no valid dice on the click, then we don't keep the checkbox true
  614.     If dice_number = 0 Then 
  615.       chkKeep2.Value = 0
  616.       Exit Sub
  617.     End If
  618.   
  619.     If chkKeep2.Value = 0 Then 
  620.       ' Subtract from score
  621.       lblTotalScore.Caption = lblTotalScore.Caption - dice_value
  622.       KeepFlag = KeepFlag - 1
  623.     Else 
  624.       ' Add to score
  625.       lblTotalScore.Caption = lblTotalScore.Caption + dice_value
  626.       KeepFlag = KeepFlag + 1
  627.     End If
  628.   
  629.     ' Check to see if all checkboxes are clicked on
  630.     AnalyzeCheckBoxes
  631.   
  632.   End Sub
  633.  
  634.   Sub chkKeep3_Click()
  635.     Dim dice_value As Integer
  636.     Dim dice_number
  637.   
  638.     ' If this guy is set to true, then the checkbox is being updated automatically
  639.     If ClickFlag = 1 Then Exit Sub
  640.   
  641.     ' Check to make sure the value is 1 or 5 - if it is add to score if turned on
  642.     ' Otherwise subtract it from the total
  643.   
  644.     If imgDice3.Picture = bmpDice1 Then 
  645.       dice_number = 1
  646.       dice_value = 100
  647.     ElseIf imgDice3.Picture = bmpDice5 Then 
  648.       dice_number = 5
  649.       dice_value = 50
  650.     Else 
  651.       dice_number = 0
  652.     End If
  653.   
  654.     ' If there is no valid dice on the click, then we don't keep the checkbox true
  655.     If dice_number = 0 Then 
  656.       chkKeep3.Value = 0
  657.       Exit Sub
  658.     End If
  659.   
  660.     If chkKeep3.Value = 0 Then 
  661.       ' Subtract from score
  662.       lblTotalScore.Caption = lblTotalScore.Caption - dice_value
  663.       KeepFlag = KeepFlag - 1
  664.     Else 
  665.       ' Add to score
  666.       lblTotalScore.Caption = lblTotalScore.Caption + dice_value
  667.       KeepFlag = KeepFlag + 1
  668.     End If
  669.   
  670.     ' Check to see if all checkboxes are clicked on
  671.     AnalyzeCheckBoxes
  672.   
  673.   End Sub
  674.  
  675.   Sub chkKeep4_Click()
  676.     Dim dice_value As Integer
  677.     Dim dice_number
  678.   
  679.     ' If this guy is set to true, then the checkbox is being updated automatically
  680.     If ClickFlag = 1 Then Exit Sub
  681.   
  682.     ' Check to make sure the value is 1 or 5 - if it is add to score if turned on
  683.     ' Otherwise subtract it from the total
  684.   
  685.     If imgDice4.Picture = bmpDice1 Then 
  686.       dice_number = 1
  687.       dice_value = 100
  688.     ElseIf imgDice4.Picture = bmpDice5 Then 
  689.       dice_number = 5
  690.       dice_value = 50
  691.     Else 
  692.       dice_number = 0
  693.     End If
  694.   
  695.     ' If there is no valid dice on the click, then we don't keep the checkbox true
  696.     If dice_number = 0 Then 
  697.       chkKeep4.Value = 0
  698.       Exit Sub
  699.     End If
  700.   
  701.     If chkKeep4.Value = 0 Then 
  702.       ' Subtract from score
  703.       lblTotalScore.Caption = lblTotalScore.Caption - dice_value
  704.       KeepFlag = KeepFlag - 1
  705.     Else 
  706.       ' Add to score
  707.       lblTotalScore.Caption = lblTotalScore.Caption + dice_value
  708.       KeepFlag = KeepFlag + 1
  709.     End If
  710.   
  711.     ' Check to see if all checkboxes are clicked on
  712.     AnalyzeCheckBoxes
  713.   
  714.   End Sub
  715.  
  716.   Sub chkKeep5_Click()
  717.     Dim dice_value As Integer
  718.     Dim dice_number
  719.   
  720.     ' If this guy is set to true, then the checkbox is being updated automatically
  721.     If ClickFlag = 1 Then Exit Sub
  722.   
  723.     ' Check to make sure the value is 1 or 5 - if it is add to score if turned on
  724.     ' Otherwise subtract it from the total
  725.   
  726.     If imgDice5.Picture = bmpDice1 Then 
  727.       dice_number = 1
  728.       dice_value = 100
  729.     ElseIf imgDice5.Picture = bmpDice5 Then 
  730.       dice_number = 5
  731.       dice_value = 50
  732.     Else 
  733.       dice_number = 0
  734.     End If
  735.   
  736.     ' If there is no valid dice on the click, then we don't keep the checkbox true
  737.     If dice_number = 0 Then 
  738.       chkKeep5.Value = 0
  739.       Exit Sub
  740.     End If
  741.   
  742.     If chkKeep5.Value = 0 Then 
  743.       ' Subtract from score
  744.       lblTotalScore.Caption = lblTotalScore.Caption - dice_value
  745.       KeepFlag = KeepFlag - 1
  746.     Else 
  747.       ' Add to score
  748.       lblTotalScore.Caption = lblTotalScore.Caption + dice_value
  749.       KeepFlag = KeepFlag + 1
  750.     End If
  751.   
  752.     ' Check to see if all checkboxes are clicked on
  753.     AnalyzeCheckBoxes
  754.   
  755.   End Sub
  756.  
  757.   Sub ClearPlayerCheckmarks()
  758.     OptionsPlayersMenu.CheckItem("PlayerNumber1", 0)
  759.     OptionsPlayersMenu.CheckItem("PlayerNumber2", 0)
  760.     OptionsPlayersMenu.CheckItem("PlayerNumber3", 0)
  761.     OptionsPlayersMenu.CheckItem("PlayerNumber4", 0)
  762.     OptionsPlayersMenu.CheckItem("PlayerNumber5", 0)
  763.     OptionsPlayersMenu.CheckItem("PlayerNumber6", 0)
  764.   End Sub
  765.  
  766.   Sub ComputeDiceScore(dice_number As Integer, dice_count As Integer)
  767.     Dim score As Integer
  768.     ' Compute the score of the dice
  769.   
  770.     Select Case dice_number
  771.       Case 1
  772.         If dice_count = 3 Then 
  773.           score = 1000
  774.         ElseIf dice_count = 4 Then 
  775.           score = 2000
  776.         Else 
  777.           score = 4000
  778.         End If
  779.       Case 2
  780.         If dice_count = 3 Then 
  781.           score = 200
  782.         ElseIf dice_count = 4 Then 
  783.           score = 400
  784.         Else 
  785.           score = 800
  786.         End If
  787.       Case 3
  788.         If dice_count = 3 Then 
  789.           score = 300
  790.         ElseIf dice_count = 4 Then 
  791.           score = 600
  792.         Else 
  793.           score = 1200
  794.         End If
  795.       Case 4
  796.         If dice_count = 3 Then 
  797.           score = 400
  798.         ElseIf dice_count = 4 Then 
  799.           score = 800
  800.         Else 
  801.           score = 1600
  802.         End If
  803.       Case 5
  804.         If dice_count = 3 Then 
  805.           score = 500
  806.         ElseIf dice_count = 4 Then 
  807.           score = 1000
  808.         Else 
  809.           score = 2000
  810.         End If
  811.       Case 6
  812.         If dice_count = 3 Then 
  813.           score = 600
  814.         ElseIf dice_count = 4 Then 
  815.           score = 1200
  816.         Else 
  817.           score = 2400
  818.         End If
  819.     End Select
  820.   
  821.     lblMatchDice.Caption = Str(score)
  822.     btnKeep.Enabled = "True"
  823.   
  824.     ' Store the matching dice number
  825.     DiceMatched = dice_number
  826.   
  827.   End Sub
  828.  
  829.   Sub DiceAbout_Click()
  830.     DiceAboutForm.Show
  831.   End Sub
  832.  
  833.   Sub DisableCheckedBoxes()
  834.     ' We want to disable all boxes that have been previously clicked
  835.     If chkKeep1.Value = 1 Then chkKeep1.Enabled = "False"
  836.     If chkKeep2.Value = 1 Then chkKeep2.Enabled = "False"
  837.     If chkKeep3.Value = 1 Then chkKeep3.Enabled = "False"
  838.     If chkKeep4.Value = 1 Then chkKeep4.Enabled = "False"
  839.     If chkKeep5.Value = 1 Then chkKeep5.Enabled = "False"
  840.     ' We want to enable all disabled checkboxes that are not checked
  841.     ' in the event the user didn't click keep button
  842.     If chkKeep1.Enabled = "False" Then 
  843.       If chkKeep1.Value = 0 Then chkKeep1.Enabled = "True"
  844.     End If
  845.     If chkKeep2.Enabled = "False" Then 
  846.       If chkKeep2.Value = 0 Then chkKeep2.Enabled = "True"
  847.     End If
  848.     If chkKeep3.Enabled = "False" Then 
  849.       If chkKeep3.Value = 0 Then chkKeep3.Enabled = "True"
  850.     End If
  851.     If chkKeep4.Enabled = "False" Then 
  852.       If chkKeep4.Value = 0 Then chkKeep4.Enabled = "True"
  853.     End If
  854.     If chkKeep5.Enabled = "False" Then 
  855.       If chkKeep5.Value = 0 Then chkKeep5.Enabled = "True"
  856.     End If
  857.   End Sub
  858.  
  859.   Sub EnsureBitmaps
  860.     bmpDice0.FileName = SampleDir & "dice0.bmp"
  861.     bmpDice1.FileName = SampleDir & "dice1.bmp"
  862.     bmpDice2.FileName = SampleDir & "dice2.bmp"
  863.     bmpDice3.FileName = SampleDir & "dice3.bmp"
  864.     bmpDice4.FileName = SampleDir & "dice4.bmp"
  865.     bmpDice5.FileName = SampleDir & "dice5.bmp"
  866.     bmpDice6.FileName = SampleDir & "dice6.bmp"
  867.   End Sub
  868.  
  869.   Sub ExitDice_Click()
  870.     ' Clear the form before leaving
  871.     NewGame_Click
  872.     Hide
  873.   End Sub
  874.  
  875.   Sub imgDice1_Click()
  876.     chkKeep1.Value = 1 - chkKeep1.Value
  877.   End Sub
  878.  
  879.   Sub imgDice2_Click()
  880.     chkKeep2.Value = 1 - chkKeep2.Value
  881.   End Sub
  882.  
  883.   Sub imgDice3_Click()
  884.     chkKeep3.Value = 1 - chkKeep3.Value
  885.   End Sub
  886.  
  887.   Sub imgDice4_Click()
  888.     chkKeep4.Value = 1 - chkKeep4.Value
  889.   End Sub
  890.  
  891.   Sub imgDice5_Click()
  892.     chkKeep5.Value = 1 - chkKeep5.Value
  893.   End Sub
  894.  
  895.   Sub IncrementPlayer()
  896.     If CurrentTurn = PlayerNumber Then 
  897.       CurrentTurn = 1
  898.     Else 
  899.       CurrentTurn = CurrentTurn + 1
  900.     End If
  901.   
  902.     ' Activate the current players turn
  903.     Select Case CurrentTurn
  904.       Case 1
  905.         ActivatePlayer(1)
  906.       Case 2
  907.         ActivatePlayer(2)
  908.       Case 3
  909.         ActivatePlayer(3)
  910.       Case 4
  911.         ActivatePlayer(4)
  912.       Case 5
  913.         ActivatePlayer(5)
  914.       Case 6
  915.         ActivatePlayer(6)
  916.     End Select
  917.   
  918.   End Sub
  919.  
  920.   Sub InitImages()
  921.     ' Don't allow checkbox methods to run
  922.     ClickFlag = 1
  923.   
  924.     ' Clear the dice counter flags
  925.     DiceMatched = 0
  926.     DiceRolled = ""
  927.     DiceCount = ""
  928.   
  929.     EnsureBitmaps
  930.   
  931.     ' Sets all dice pictures to blank dice
  932.     imgDice1.Picture = bmpDice0
  933.     imgDice2.Picture = bmpDice0
  934.     imgDice3.Picture = bmpDice0
  935.     imgDice4.Picture = bmpDice0
  936.     imgDice5.Picture = bmpDice0
  937.   
  938.     ' Turn off all checkboxes - this will set the NumRolls to 5
  939.     chkKeep1.Value = 0
  940.     chkKeep2.Value = 0
  941.     chkKeep3.Value = 0
  942.     chkKeep4.Value = 0
  943.     chkKeep5.Value = 0
  944.   
  945.     ' Enable the checkboxes
  946.     chkKeep1.Enabled = "True"
  947.     chkKeep2.Enabled = "True"
  948.     chkKeep3.Enabled = "True"
  949.     chkKeep4.Enabled = "True"
  950.     chkKeep5.Enabled = "True"
  951.   
  952.     ClickFlag = 0
  953.   End Sub
  954.  
  955.   Sub NewGame_Click()
  956.     ' Reset the game
  957.     ResetTurn
  958.     ' Clear all scores
  959.     lblScore1.Caption = ""
  960.     lblScore2.Caption = ""
  961.     lblScore3.Caption = ""
  962.     lblScore4.Caption = ""
  963.     lblScore5.Caption = ""
  964.     lblScore6.Caption = ""
  965.   
  966.     CurrentTurn = 1
  967.     ActivatePlayer(1)
  968.   End Sub
  969.  
  970.   Sub PlayerNumber1_Click()
  971.     ClearPlayerCheckmarks
  972.     SetPlayerNumber(1)
  973.     OptionsPlayersMenu.CheckItem("PlayerNumber1", 1)
  974.   End Sub
  975.  
  976.   Sub PlayerNumber2_Click()
  977.     ClearPlayerCheckmarks
  978.     SetPlayerNumber(2)
  979.     OptionsPlayersMenu.CheckItem("PlayerNumber2", 1)
  980.   End Sub
  981.  
  982.   Sub PlayerNumber3_Click()
  983.     ClearPlayerCheckmarks
  984.     SetPlayerNumber(3)
  985.     OptionsPlayersMenu.CheckItem("PlayerNumber3", 1)
  986.   End Sub
  987.  
  988.   Sub PlayerNumber4_Click()
  989.     ClearPlayerCheckmarks
  990.     SetPlayerNumber(4)
  991.     OptionsPlayersMenu.CheckItem("PlayerNumber4", 1)
  992.   End Sub
  993.  
  994.   Sub PlayerNumber5_Click()
  995.     ClearPlayerCheckmarks
  996.     SetPlayerNumber(5)
  997.     OptionsPlayersMenu.CheckItem("PlayerNumber5", 1)
  998.   End Sub
  999.  
  1000.   Sub PlayerNumber6_Click()
  1001.     ClearPlayerCheckmarks
  1002.     SetPlayerNumber(6)
  1003.     OptionsPlayersMenu.CheckItem("PlayerNumber6", 1)
  1004.   End Sub
  1005.  
  1006.   Sub ResetApplication_Click ()
  1007.   
  1008.     ' Initialize bitmaps to image controls
  1009.     InitImages
  1010.   
  1011.     ResetTurn
  1012.     lblLostAmount.Caption = ""
  1013.   
  1014.     ' Set the default number of players
  1015.     ClearPlayerCheckmarks
  1016.     SetPlayerNumber(6)
  1017.     OptionsPlayersMenu.CheckItem("PlayerNumber6", 1)
  1018.   
  1019.   End Sub
  1020.  
  1021.   Sub ResetTurn()
  1022.     ' Initialize all images
  1023.     InitImages
  1024.   
  1025.     ' Enable the roll button
  1026.     btnRoll.Enabled = "True"
  1027.     btnKeep.Enabled = "False"
  1028.     lblMatchDice.Caption = ""
  1029.     lblTotalScore.Caption = ""
  1030.   
  1031.     ' Allow the user to roll dice the first time without a previous save
  1032.     KeepFlag = 1
  1033.   End Sub
  1034.  
  1035.   Function ReturnDiceNumber(dice_column As Integer) As Integer
  1036.     ' In the event the requested checkbox is true
  1037.     ReturnDiceNumber = 0
  1038.     ' determine which dice is present and return that value
  1039.     Select Case dice_column
  1040.       Case 1 ' Image 1
  1041.         Select Case imgDice1.Picture
  1042.           Case bmpDice0
  1043.             ReturnDiceNumber = 0
  1044.           Case bmpDice1
  1045.             ReturnDiceNumber = 1
  1046.           Case bmpDice2
  1047.             ReturnDiceNumber = 2
  1048.           Case bmpDice3
  1049.             ReturnDiceNumber = 3
  1050.           Case bmpDice4
  1051.             ReturnDiceNumber = 4
  1052.           Case bmpDice5
  1053.             ReturnDiceNumber = 5
  1054.           Case bmpDice6
  1055.             ReturnDiceNumber = 6
  1056.         End Select
  1057.       Case 2 ' Image 2
  1058.         Select Case imgDice2.Picture
  1059.           Case bmpDice0
  1060.             ReturnDiceNumber = 0
  1061.           Case bmpDice1
  1062.             ReturnDiceNumber = 1
  1063.           Case bmpDice2
  1064.             ReturnDiceNumber = 2
  1065.           Case bmpDice3
  1066.             ReturnDiceNumber = 3
  1067.           Case bmpDice4
  1068.             ReturnDiceNumber = 4
  1069.           Case bmpDice5
  1070.             ReturnDiceNumber = 5
  1071.           Case bmpDice6
  1072.             ReturnDiceNumber = 6
  1073.         End Select
  1074.       Case 3
  1075.         Select Case imgDice3.Picture
  1076.           Case bmpDice0
  1077.             ReturnDiceNumber = 0
  1078.           Case bmpDice1
  1079.             ReturnDiceNumber = 1
  1080.           Case bmpDice2
  1081.             ReturnDiceNumber = 2
  1082.           Case bmpDice3
  1083.             ReturnDiceNumber = 3
  1084.           Case bmpDice4
  1085.             ReturnDiceNumber = 4
  1086.           Case bmpDice5
  1087.             ReturnDiceNumber = 5
  1088.           Case bmpDice6
  1089.             ReturnDiceNumber = 6
  1090.         End Select
  1091.       Case 4
  1092.         Select Case imgDice4.Picture
  1093.           Case bmpDice0
  1094.             ReturnDiceNumber = 0
  1095.           Case bmpDice1
  1096.             ReturnDiceNumber = 1
  1097.           Case bmpDice2
  1098.             ReturnDiceNumber = 2
  1099.           Case bmpDice3
  1100.             ReturnDiceNumber = 3
  1101.           Case bmpDice4
  1102.             ReturnDiceNumber = 4
  1103.           Case bmpDice5
  1104.             ReturnDiceNumber = 5
  1105.           Case bmpDice6
  1106.             ReturnDiceNumber = 6
  1107.         End Select
  1108.       Case 5
  1109.         Select Case imgDice5.Picture
  1110.           Case bmpDice0
  1111.             ReturnDiceNumber = 0
  1112.           Case bmpDice1
  1113.             ReturnDiceNumber = 1
  1114.           Case bmpDice2
  1115.             ReturnDiceNumber = 2
  1116.           Case bmpDice3
  1117.             ReturnDiceNumber = 3
  1118.           Case bmpDice4
  1119.             ReturnDiceNumber = 4
  1120.           Case bmpDice5
  1121.             ReturnDiceNumber = 5
  1122.           Case bmpDice6
  1123.             ReturnDiceNumber = 6
  1124.         End Select
  1125.     End Select
  1126.   
  1127.   End Function
  1128.  
  1129.   Function RollDice(low as integer, high as integer, n as integer) as integer
  1130.     dim range, sum, i as integer
  1131.   
  1132.     range = high - low + 1
  1133.     sum = 0
  1134.   
  1135.     For i = 1 To n
  1136.       sum = sum + rnd() * range + low
  1137.     Next i
  1138.   
  1139.     RollDice = sum
  1140.   End Function
  1141.  
  1142.   Sub SetPlayerNumber(count As Integer)
  1143.     DiceMasterForm.PlayerNumber = count
  1144.   
  1145.     ' Hide all player entries
  1146.     btnPlayer1.Visible = False : lblScore1.Visible = False
  1147.     btnPlayer2.Visible = False : lblScore2.Visible = False
  1148.     btnPlayer3.Visible = False : lblScore3.Visible = False
  1149.     btnPlayer4.Visible = False : lblScore4.Visible = False
  1150.     btnPlayer5.Visible = False : lblScore5.Visible = False
  1151.     btnPlayer6.Visible = False : lblScore6.Visible = False
  1152.   
  1153.     Select Case count
  1154.       Case 1
  1155.         btnPlayer1.Visible = True : lblScore1.Visible = True
  1156.       Case 2
  1157.         btnPlayer1.Visible = True : lblScore1.Visible = True
  1158.         btnPlayer2.Visible = True : lblScore2.Visible = True
  1159.       Case 3
  1160.         btnPlayer1.Visible = True : lblScore1.Visible = True
  1161.         btnPlayer2.Visible = True : lblScore2.Visible = True
  1162.         btnPlayer3.Visible = True : lblScore3.Visible = True
  1163.       Case 4
  1164.         btnPlayer1.Visible = True : lblScore1.Visible = True
  1165.         btnPlayer2.Visible = True : lblScore2.Visible = True
  1166.         btnPlayer3.Visible = True : lblScore3.Visible = True
  1167.         btnPlayer4.Visible = True : lblScore4.Visible = True
  1168.       Case 5
  1169.         btnPlayer1.Visible = True : lblScore1.Visible = True
  1170.         btnPlayer2.Visible = True : lblScore2.Visible = True
  1171.         btnPlayer3.Visible = True : lblScore3.Visible = True
  1172.         btnPlayer4.Visible = True : lblScore4.Visible = True
  1173.         btnPlayer5.Visible = True : lblScore5.Visible = True
  1174.       Case 6
  1175.         btnPlayer1.Visible = True : lblScore1.Visible = True
  1176.         btnPlayer2.Visible = True : lblScore2.Visible = True
  1177.         btnPlayer3.Visible = True : lblScore3.Visible = True
  1178.         btnPlayer4.Visible = True : lblScore4.Visible = True
  1179.         btnPlayer5.Visible = True : lblScore5.Visible = True
  1180.         btnPlayer6.Visible = True : lblScore6.Visible = True
  1181.     End Select
  1182.   
  1183.     ' Since the players have been changed, reset the game
  1184.     NewGame_Click
  1185.   End Sub
  1186.  
  1187. End Type
  1188.  
  1189. Type DiceAboutForm From Form
  1190.   Dim btnClose As New Button
  1191.   Dim Label1 As New Label
  1192.   Dim Label2 As New Label
  1193.   Dim Label3 As New Label
  1194.   Dim Label4 As New Label
  1195.   Dim Label5 As New Label
  1196.   Dim Label6 As New Label
  1197.   Dim Label7 As New Label
  1198.   Dim Label8 As New Label
  1199.   Dim Label9 As New Label
  1200.   Dim Label10 As New Label
  1201.   Dim Label11 As New Label
  1202.   Dim Label12 As New Label
  1203.   Dim Label13 As New Label
  1204.   Dim Label14 As New Label
  1205.   Dim Label15 As New Label
  1206.  
  1207.   ' METHODS for object: DiceAboutForm
  1208.   Sub btnClose_Click()
  1209.     Hide
  1210.   End Sub
  1211.  
  1212. End Type
  1213.  
  1214. Type DiceMenuBar From MenuBar
  1215. End Type
  1216.  
  1217. Begin Code
  1218. ' Reconstruction commands for object: DiceOptionMenu
  1219. '
  1220.   With DiceOptionMenu
  1221.  
  1222.     .InsertItem("NewGame", "&New Game", -1)
  1223.     .InsertItem("DiceAbout", "&About", -1)
  1224.     .InsertPopup(OptionsPlayersMenu, "Players", -1)
  1225.   End With  'DiceOptionMenu
  1226. ' Reconstruction commands for object: OptionsPlayersMenu
  1227. '
  1228.   With OptionsPlayersMenu
  1229.  
  1230.     .InsertItem("PlayerNumber1", "1", -1)
  1231.     .InsertItem("PlayerNumber2", "2", -1)
  1232.     .InsertItem("PlayerNumber3", "3", -1)
  1233.     .InsertItem("PlayerNumber4", "4", -1)
  1234.     .InsertItem("PlayerNumber5", "5", -1)
  1235.     .InsertItem("PlayerNumber6", "6", -1)
  1236.   End With  'OptionsPlayersMenu
  1237. ' Reconstruction commands for object: DiceMasterForm
  1238. '
  1239.   With DiceMasterForm
  1240.     .Caption := "10,000 Dice Game"
  1241.     .BackColor := 8421440
  1242.     .Move(3810, 1860, 7485, 4140)
  1243.     .BevelWidth := 0
  1244.     .MenuBar := DiceMenuBar
  1245.     .SampleDir := "C:\ENVELOP\arsenal\apps\gamedice\"
  1246.     .SampleName := "gamedice"
  1247.     .DiceRolled := ""
  1248.     .DiceCount := 0
  1249.     .DiceMatched := 0
  1250.     .ClickFlag := 0
  1251.     .KeepFlag := 1
  1252.     .PlayerNumber := 6
  1253.     .CurrentTurn := 1
  1254.     With .btnRoll
  1255.       .Caption := "Roll"
  1256.       .ZOrder := 1
  1257.       .Move(300, 2700, 1050, 450)
  1258.     End With  'DiceMasterForm.btnRoll
  1259.     With .chkKeep1
  1260.       .ZOrder := 2
  1261.       .Move(465, 1800, 300, 300)
  1262.       .Ctrl3d := False
  1263.     End With  'DiceMasterForm.chkKeep1
  1264.     With .chkKeep2
  1265.       .ZOrder := 3
  1266.       .Move(1365, 1800, 330, 300)
  1267.       .Ctrl3d := False
  1268.     End With  'DiceMasterForm.chkKeep2
  1269.     With .chkKeep3
  1270.       .ZOrder := 4
  1271.       .Move(2250, 1800, 345, 300)
  1272.       .Ctrl3d := False
  1273.     End With  'DiceMasterForm.chkKeep3
  1274.     With .chkKeep4
  1275.       .ZOrder := 5
  1276.       .Move(3150, 1800, 300, 300)
  1277.       .Ctrl3d := False
  1278.     End With  'DiceMasterForm.chkKeep4
  1279.     With .chkKeep5
  1280.       .ZOrder := 6
  1281.       .Move(4065, 1800, 300, 300)
  1282.       .Ctrl3d := False
  1283.     End With  'DiceMasterForm.chkKeep5
  1284.     With .imgDice1
  1285.       .Caption := "imgDice1"
  1286.       .ZOrder := 7
  1287.       .Move(300, 1200, 480, 480)
  1288.       .BevelOuter := "None"
  1289.       .AutoInitCropRect := False
  1290.       .Picture := DiceMasterForm.bmpDice0
  1291.       .ResizeMode := "Clip"
  1292.       .ScrollBars := "Never"
  1293.       .ScaleX := 1
  1294.       .ScaleY := 1
  1295.     End With  'DiceMasterForm.imgDice1
  1296.     With .imgDice2
  1297.       .Caption := "imgDice2"
  1298.       .ZOrder := 8
  1299.       .Move(1200, 1200, 480, 480)
  1300.       .BevelOuter := "None"
  1301.       .AutoInitCropRect := False
  1302.       .Picture := DiceMasterForm.bmpDice0
  1303.       .ResizeMode := "Clip"
  1304.       .ScrollBars := "Never"
  1305.       .ScaleX := 1
  1306.       .ScaleY := 1
  1307.     End With  'DiceMasterForm.imgDice2
  1308.     With .imgDice3
  1309.       .Caption := "imgDice3"
  1310.       .ZOrder := 9
  1311.       .Move(2100, 1200, 480, 480)
  1312.       .BevelOuter := "None"
  1313.       .AutoInitCropRect := False
  1314.       .Picture := DiceMasterForm.bmpDice0
  1315.       .ResizeMode := "Clip"
  1316.       .ScrollBars := "Never"
  1317.       .ScaleX := 1
  1318.       .ScaleY := 1
  1319.     End With  'DiceMasterForm.imgDice3
  1320.     With .imgDice4
  1321.       .Caption := "imgDice4"
  1322.       .ZOrder := 10
  1323.       .Move(3000, 1200, 480, 480)
  1324.       .BevelOuter := "None"
  1325.       .AutoInitCropRect := False
  1326.       .Picture := DiceMasterForm.bmpDice0
  1327.       .ResizeMode := "Clip"
  1328.       .ScrollBars := "Never"
  1329.       .ScaleX := 1
  1330.       .ScaleY := 1
  1331.     End With  'DiceMasterForm.imgDice4
  1332.     With .imgDice5
  1333.       .Caption := "imgDice5"
  1334.       .ZOrder := 11
  1335.       .Move(3900, 1200, 480, 480)
  1336.       .BevelOuter := "None"
  1337.       .AutoInitCropRect := False
  1338.       .Picture := DiceMasterForm.bmpDice0
  1339.       .ResizeMode := "Clip"
  1340.       .ScrollBars := "Never"
  1341.       .ScaleX := 1
  1342.       .ScaleY := 1
  1343.     End With  'DiceMasterForm.imgDice5
  1344.     With .bmpDice1
  1345.       .LoadType := "MemoryBased"
  1346.       .FileName := "gamedice.ero"
  1347.       .ResId := 0
  1348.     End With  'DiceMasterForm.bmpDice1
  1349.     With .bmpDice2
  1350.       .LoadType := "MemoryBased"
  1351.       .FileName := "gamedice.ero"
  1352.       .ResId := 628
  1353.     End With  'DiceMasterForm.bmpDice2
  1354.     With .bmpDice3
  1355.       .LoadType := "MemoryBased"
  1356.       .FileName := "gamedice.ero"
  1357.       .ResId := 1256
  1358.     End With  'DiceMasterForm.bmpDice3
  1359.     With .bmpDice4
  1360.       .LoadType := "MemoryBased"
  1361.       .FileName := "gamedice.ero"
  1362.       .ResId := 1884
  1363.     End With  'DiceMasterForm.bmpDice4
  1364.     With .bmpDice5
  1365.       .LoadType := "MemoryBased"
  1366.       .FileName := "gamedice.ero"
  1367.       .ResId := 2512
  1368.     End With  'DiceMasterForm.bmpDice5
  1369.     With .bmpDice6
  1370.       .LoadType := "MemoryBased"
  1371.       .FileName := "gamedice.ero"
  1372.       .ResId := 3140
  1373.     End With  'DiceMasterForm.bmpDice6
  1374.     With .bmpDice0
  1375.       .LoadType := "MemoryBased"
  1376.       .FileName := "gamedice.ero"
  1377.       .ResId := 3768
  1378.     End With  'DiceMasterForm.bmpDice0
  1379.     With .Label1
  1380.       .Caption := "Click box below dice to keep roll."
  1381.       .ZOrder := 12
  1382.       .Move(750, 2250, 3450, 300)
  1383.     End With  'DiceMasterForm.Label1
  1384.     With .btnKeep
  1385.       .Caption := "Keep Match"
  1386.       .Enabled := False
  1387.       .ZOrder := 13
  1388.       .Move(3450, 600, 1350, 300)
  1389.     End With  'DiceMasterForm.btnKeep
  1390.     With .Label2
  1391.       .Caption := "Total score this turn:"
  1392.       .ZOrder := 14
  1393.       .Move(300, 150, 2100, 300)
  1394.     End With  'DiceMasterForm.Label2
  1395.     With .lblTotalScore
  1396.       .ZOrder := 15
  1397.       .Move(2400, 150, 885, 300)
  1398.       .BorderStyle := "Fixed Single"
  1399.     End With  'DiceMasterForm.lblTotalScore
  1400.     With .Label3
  1401.       .Caption := "Matching dice score:"
  1402.       .ZOrder := 16
  1403.       .Move(300, 600, 2100, 300)
  1404.     End With  'DiceMasterForm.Label3
  1405.     With .lblMatchDice
  1406.       .ZOrder := 17
  1407.       .Move(2400, 600, 885, 300)
  1408.       .BorderStyle := "Fixed Single"
  1409.     End With  'DiceMasterForm.lblMatchDice
  1410.     With .Label4
  1411.       .Caption := "Players:"
  1412.       .ZOrder := 18
  1413.       .Move(5100, 150, 1050, 300)
  1414.     End With  'DiceMasterForm.Label4
  1415.     With .btnPlayer1
  1416.       .Caption := "Player 1"
  1417.       .ZOrder := 19
  1418.       .Move(5100, 600, 1050, 300)
  1419.     End With  'DiceMasterForm.btnPlayer1
  1420.     With .btnPlayer2
  1421.       .Caption := "Player 2"
  1422.       .Enabled := False
  1423.       .ZOrder := 20
  1424.       .Move(5100, 1050, 1050, 300)
  1425.     End With  'DiceMasterForm.btnPlayer2
  1426.     With .btnPlayer3
  1427.       .Caption := "Player 3"
  1428.       .Enabled := False
  1429.       .ZOrder := 21
  1430.       .Move(5100, 1500, 1050, 300)
  1431.     End With  'DiceMasterForm.btnPlayer3
  1432.     With .btnPlayer4
  1433.       .Caption := "Player 4"
  1434.       .Enabled := False
  1435.       .ZOrder := 22
  1436.       .Move(5100, 1950, 1050, 300)
  1437.     End With  'DiceMasterForm.btnPlayer4
  1438.     With .lblScore1
  1439.       .ZOrder := 23
  1440.       .Move(6300, 600, 885, 300)
  1441.       .BorderStyle := "Fixed Single"
  1442.     End With  'DiceMasterForm.lblScore1
  1443.     With .lblScore2
  1444.       .ZOrder := 24
  1445.       .Move(6300, 1050, 885, 300)
  1446.       .BorderStyle := "Fixed Single"
  1447.     End With  'DiceMasterForm.lblScore2
  1448.     With .lblScore3
  1449.       .ZOrder := 25
  1450.       .Move(6300, 1500, 885, 300)
  1451.       .BorderStyle := "Fixed Single"
  1452.     End With  'DiceMasterForm.lblScore3
  1453.     With .lblScore4
  1454.       .ZOrder := 26
  1455.       .Move(6300, 1950, 885, 300)
  1456.       .BorderStyle := "Fixed Single"
  1457.     End With  'DiceMasterForm.lblScore4
  1458.     With .Label9
  1459.       .Caption := "Scores:"
  1460.       .ZOrder := 27
  1461.       .Move(6300, 150, 900, 300)
  1462.     End With  'DiceMasterForm.Label9
  1463.     With .btnPlayer5
  1464.       .Caption := "Player 5"
  1465.       .Enabled := False
  1466.       .ZOrder := 28
  1467.       .Move(5100, 2400, 1050, 300)
  1468.     End With  'DiceMasterForm.btnPlayer5
  1469.     With .btnPlayer6
  1470.       .Caption := "Player 6"
  1471.       .Enabled := False
  1472.       .ZOrder := 29
  1473.       .Move(5100, 2850, 1050, 300)
  1474.     End With  'DiceMasterForm.btnPlayer6
  1475.     With .lblScore5
  1476.       .ZOrder := 30
  1477.       .Move(6300, 2400, 900, 300)
  1478.       .BorderStyle := "Fixed Single"
  1479.     End With  'DiceMasterForm.lblScore5
  1480.     With .lblScore6
  1481.       .ZOrder := 31
  1482.       .Move(6300, 2850, 900, 300)
  1483.       .BorderStyle := "Fixed Single"
  1484.     End With  'DiceMasterForm.lblScore6
  1485.     With .lblLostAmount
  1486.       .ForeColor := 33023
  1487.       .ZOrder := 32
  1488.       .Move(1650, 2850, 3000, 300)
  1489.       .Alignment := "Center"
  1490.     End With  'DiceMasterForm.lblLostAmount
  1491.     With .helpfile
  1492.       .FileName := "C:\ENVELOP\arsenal\apps\gamedice\gamedice.hlp"
  1493.     End With  'DiceMasterForm.helpfile
  1494.   End With  'DiceMasterForm
  1495. ' Reconstruction commands for object: DiceAboutForm
  1496. '
  1497.   With DiceAboutForm
  1498.     .Caption := " About 10,000 Dice Game"
  1499.     .Move(7020, 1350, 7290, 5205)
  1500.     .Outlined := True
  1501.     With .btnClose
  1502.       .Caption := "Close"
  1503.       .ZOrder := 1
  1504.       .Move(6000, 300, 900, 450)
  1505.     End With  'DiceAboutForm.btnClose
  1506.     With .Label1
  1507.       .Caption := "Objective:"
  1508.       .ForeColor := 13107200
  1509.       .ZOrder := 1
  1510.       .Move(300, 300, 1050, 300)
  1511.     End With  'DiceAboutForm.Label1
  1512.     With .Label2
  1513.       .Caption := "First player to score 10,000 points wins!"
  1514.       .ZOrder := 1
  1515.       .Move(1500, 300, 4050, 300)
  1516.     End With  'DiceAboutForm.Label2
  1517.     With .Label3
  1518.       .Caption := "Scoring:"
  1519.       .ForeColor := 13107200
  1520.       .ZOrder := 1
  1521.       .Move(300, 750, 1050, 300)
  1522.     End With  'DiceAboutForm.Label3
  1523.     With .Label4
  1524.       .Caption := "Each '1' rolled worth 100 pts."
  1525.       .ZOrder := 1
  1526.       .Move(450, 1050, 3000, 300)
  1527.     End With  'DiceAboutForm.Label4
  1528.     With .Label5
  1529.       .Caption := "Each '5' rolled worth 50 pts."
  1530.       .ZOrder := 1
  1531.       .Move(3600, 1050, 3000, 300)
  1532.     End With  'DiceAboutForm.Label5
  1533.     With .Label6
  1534.       .Caption := "(3) 1's rolled = 1000    (4) 1's rolled = 2000    (5) 1's rolled = 4000"
  1535.       .ZOrder := 1
  1536.       .Move(450, 1350, 6300, 300)
  1537.     End With  'DiceAboutForm.Label6
  1538.     With .Label7
  1539.       .Caption := "(3) 2's rolled = 200      (4) 2's rolled = 400      (5) 2's rolled = 800"
  1540.       .ZOrder := 1
  1541.       .Move(450, 1650, 6300, 300)
  1542.     End With  'DiceAboutForm.Label7
  1543.     With .Label8
  1544.       .Caption := "(3) 3's rolled = 300      (4) 3's rolled = 600      (5) 3's rolled = 1200"
  1545.       .ZOrder := 1
  1546.       .Move(450, 1950, 6300, 300)
  1547.     End With  'DiceAboutForm.Label8
  1548.     With .Label9
  1549.       .Caption := "(3) 4's rolled = 400      (4) 4's rolled = 800      (5) 4's rolled = 1600"
  1550.       .ZOrder := 1
  1551.       .Move(450, 2250, 6300, 300)
  1552.     End With  'DiceAboutForm.Label9
  1553.     With .Label10
  1554.       .Caption := "(3) 5's rolled = 500      (4) 5's rolled = 1000    (5) 5's rolled = 2000"
  1555.       .ZOrder := 1
  1556.       .Move(450, 2550, 6300, 300)
  1557.     End With  'DiceAboutForm.Label10
  1558.     With .Label11
  1559.       .Caption := "(3) 6's rolled = 600      (4) 6's rolled = 1200    (5) 6's rolled = 2400"
  1560.       .ZOrder := 1
  1561.       .Move(450, 2850, 6300, 300)
  1562.     End With  'DiceAboutForm.Label11
  1563.     With .Label12
  1564.       .Caption := "Rules:"
  1565.       .ForeColor := 13107200
  1566.       .ZOrder := 1
  1567.       .Move(300, 3300, 1050, 300)
  1568.     End With  'DiceAboutForm.Label12
  1569.     With .Label13
  1570.       .Caption := "1. Your turn continues as long as you score points on your roll."
  1571.       .ZOrder := 1
  1572.       .Move(450, 3600, 6300, 300)
  1573.     End With  'DiceAboutForm.Label13
  1574.     With .Label14
  1575.       .Caption := "2. If you fail to score any points on your roll, you lose your score."
  1576.       .ZOrder := 1
  1577.       .Move(450, 3900, 6450, 300)
  1578.     End With  'DiceAboutForm.Label14
  1579.     With .Label15
  1580.       .Caption := "3. You can stop anytime by clicking your designated player button."
  1581.       .ZOrder := 1
  1582.       .Move(450, 4200, 6600, 300)
  1583.     End With  'DiceAboutForm.Label15
  1584.   End With  'DiceAboutForm
  1585. ' Reconstruction commands for object: DiceMenuBar
  1586. '
  1587.   With DiceMenuBar
  1588.  
  1589.     .InsertPopup(SampleMasterFormFileMenu, "&File", -1)
  1590.     .InsertPopup(DiceOptionMenu, "&Options", -1)
  1591.     .InsertPopup(SampleMasterFormHelpMenu, "&Help", -1)
  1592.   End With  'DiceMenuBar
  1593. End Code
  1594.