Public Class Form1 '1. Create a single method that will be responsible for creating the place holder for each of the dice numbers. 'a. You will likely need to pass the label in as an attribute in the method call '2. Create a single method that will be responsible for adding the button and 3 stats text boxes '3. Add a method who's job is just to roll the dice. '4. Add a method who's job is to collect the stats of how many there are of each number '5. Add a method who's job is to update the stats textboxes '6. Add comments to the code blocks to explain what is going on. 'CODE: 'Declaring variables Dim lblDice1, lblDice2, lblDice3, lblDice4, lblDice5 As New Label 'To add events to the button Dim WithEvents butRoll As New Button 'Declaring variables Dim nYatzee, nFourOfAKind, nThreeOfAKind As New Integer Dim lblYatzee, lblFourOfAKind, lblThreeOfAKind As New TextBox 'Declaring random points Dim rnd As New Random 'This sub is to add the dice numbering and randomization. Also used for the font and size of the label. And to add the controls. Private Sub addDice(ByRef lbl As Label, ByVal x As Integer, ByVal y As Integer) 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 'This sub is to add the hand to the textboxes. Also for the size and to add the controls. Private Sub addHand(ByRef txt1 As TextBox, ByRef txt As String, ByVal x As Integer, ByVal y As Integer) txt1.Text = txt txt1.Location = New Point(x, y) Me.Controls.Add(txt1) txt1.Width = 150 End Sub 'This sub adds the roll button onto the form. Private Sub addRoll(ByRef btn As Button, ByVal txt As String, ByVal x As Integer, ByVal y As Integer) btn.Text = txt btn.Location = New Point(x, y) Me.Controls.Add(btn) End Sub 'When the button is clicked it randomizes the numbers Private Sub addDi(ByVal lblDice As Label) lblDice.Text = rnd.Next(1, 7) End Sub Private Sub addText(ByRef txt As TextBox, ByVal txt1 As String) 'This sub is used to add the calculation to the textboxes in the form txt.Text = txt1 End Sub Private Sub addCalculation() 'Declaring the variable Dim arrNumbers() As Integer = {0, 0, 0, 0, 0, 0} 'For loop to randomize the numbers and determine what is a yahtzee, four of a kind, or three of a kind. For Each lbl As Label In Me.Controls.OfType(Of Label)() arrNumbers(lbl.Text - 1) += 1 Next 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 Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 'These are linked to the subs and then added to the form1load. addDice(lblDice1, 10, 20) addDice(lblDice2, 70, 20) addDice(lblDice3, 130, 20) addDice(lblDice4, 190, 20) addDice(lblDice5, 250, 20) addHand(lblYatzee, "Yahtzees: 0", 20, 140) addHand(lblFourOfAKind, "Four Of A Kind: 0", 20, 180) addHand(lblThreeOfAKind, "Three Of A Kind: 0", 20, 220) addRoll(butRoll, "Roll", 100, 90) End Sub Private Sub RollDice() Handles butRoll.Click 'all of these calculate when the button is clicked. addDi(lblDice1) addDi(lblDice2) addDi(lblDice3) addDi(lblDice4) addDi(lblDice5) addCalculation() addText(lblYatzee, "Yahtzee: " & nYatzee) addText(lblFourOfAKind, "Four Of A Kind: " & nFourOfAKind) addText(lblThreeOfAKind, "Three Of A Kind: " & nThreeOfAKind) End Sub End Class
Wednesday, April 20, 2011
Programming 2 */ Methods Assignment */
Subscribe to:
Post Comments (Atom)
Classes
Programming II
Advanced Relational Database
No comments:
Post a Comment