Public Class Form1
'Declaring variables for the form
Dim lblDice1, lblDice2, lblDice3, lblDice4, lblDice5 As New Label
Dim WithEvents butRoll As New Button
Dim nYatzee, nFourOfAKind, nThreeOfAKind As New Integer
Dim lblYatzee, lblFourOfAKind, lblThreeOfAKind As New TextBox
Dim rnd As New Random
Private Sub addDice(ByRef lbl As Label, ByVal x As Integer, ByVal y As Integer)
'Generic code for all labels (Dice Roll)
lbl.Text = 0
lbl.Location = New Point(x, y)
lbl.Font = New Drawing.Font("Microsoft Sans Serif", 28.0F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point)
lbl.Height = 40
lbl.Width = 40
Me.Controls.Add(lbl)
End Sub
Private Sub addCounts(ByRef ctxt As TextBox, ByVal c As Integer, ByVal d As Integer, ByVal e As String)
'Generic code for all textboxes (Counters)
ctxt.Text = e
ctxt.Location = New Point(c, d)
ctxt.Width = 150
Me.Controls.Add(ctxt)
End Sub
Private Sub addRoll(ByRef butr As Button, ByVal s As String, ByVal t As Integer, ByVal u As Integer)
'Generic code for all buttons (Button)
butRoll.Text = s
butRoll.Location = New Point(t, u)
Me.Controls.Add(butRoll)
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'Adding the Dice Rolls to the form
addDice(lblDice1, 10, 20)
addDice(lblDice2, 70, 20)
addDice(lblDice3, 130, 20)
addDice(lblDice4, 190, 20)
addDice(lblDice5, 250, 20)
'Adding the Counters to the form
addCounts(lblYatzee, 20, 140, "Yatzees: 0")
addCounts(lblFourOfAKind, 20, 180, "Four Of A Kind: 0")
addCounts(lblThreeOfAKind, 20, 220, "Three Of A Kind: 0")
'Adding the Buttons to the form
addRoll(butRoll, "Roll", 100, 90)
End Sub
Private Sub codeDice(ByRef codelbl As Label)
'Generic code for the dice
codelbl.Text = rnd.Next(1, 7)
End Sub
Private Sub getTotal()
'Declare the variable used to find the total
Dim arrNumbers() As Integer = {0, 0, 0, 0, 0, 0}
For Each lbl As Label In Me.Controls.OfType(Of Label)()
arrNumbers(lbl.Text - 1) += 1
Next
'Totals up three of a kind, four of a kind, and yatzee.
For Each i As Integer In arrNumbers
If i = 5 Then
nYatzee += 1
ElseIf i = 4 Then
nFourOfAKind += 1
ElseIf i = 3 Then
nThreeOfAKind += 1
End If
Next
End Sub
Private Sub nameLabel()
'Display the total for yatzees, four of a kind, and three of a kind
lblYatzee.Text = "Yatzees: " & nYatzee
lblFourOfAKind.Text = "Four Of A Kind: " & nFourOfAKind
lblThreeOfAKind.Text = "Three Of A Kind: " & nThreeOfAKind
End Sub
Private Sub RollDice() Handles butRoll.Click
'Call the dice roll to the form
codeDice(lblDice1)
codeDice(lblDice2)
codeDice(lblDice3)
codeDice(lblDice4)
codeDice(lblDice5)
'Call the total to the form
getTotal()
'Call the display to the form
nameLabel()
End Sub
End Class
Wednesday, April 20, 2011
Practice 7 II
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment