We're a community of 1076K IT Pros here for help, advice, solutions, professional growth and fun. Join us!
1,075,970 Members — Technology Publication meets Social Media
Username:
Password:
Lost login information?
Start New Discussion Reply to this Discussion

random number guessing

hi guys, writing a code in my first term at vb 2010, ive to create a guessing game, generate a number between 1 and 30 and let the user guess it. i must give hints along the way and record the amount of guesses made. i have the code written and working. my problem lays with changing the range. if i change the range to any other number, when i press enter it keeps givin a new random number each time.
Public Class frmMain

Public min As Integer
Public max As Integer
Public randomClass As New Random
Public num As Integer

Public X As Integer


'Dim X As Integer = Int(X * Rnd())

Dim msg As String
Dim title As String
Dim style As MsgBoxStyle
Dim response As MsgBoxResult


Private Sub frmMain_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
    min = 1
    max = 30

    Randomize()
    X = randomClass.Next(min, max)
    'X = CInt(Int(30 * Rnd()))
    lblMin.Text = min.ToString
    lblMax.Text = max.ToString
    For i As Integer = min To max
        ComboBox1.Items.Add(i)
    Next
End Sub

Private Sub ExitToolStripMenuItem_Click(sender As System.Object, e As System.EventArgs) Handles ExitToolStripMenuItem.Click
    End
End Sub

Private Sub BackgroundColourToolStripMenuItem_Click(sender As System.Object, e As System.EventArgs) Handles BackgroundColourToolStripMenuItem.Click

End Sub



Private Sub btnEnter_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnEnter.Click


    txtAttempts.Text = Val(txtAttempts.Text) + 1


    num = ComboBox1.Text
    Label2.Text = X

    If ComboBox1.SelectedIndex = X Then
        MsgBox("Congratulations!!!")
        msg = "  do you want to Exit"
        title = "MsgBox Close"

        style = MsgBoxStyle.Critical Or MsgBoxStyle.YesNoCancel
        response = MsgBox(msg, style, title)

        If response = MsgBoxResult.Yes Then 'user choose yes
            'perform some action
            MsgBox("THANK YOU FOR PLAYING THE GUESSING GAME!!")
            End
        ElseIf MsgBoxResult.No Then 'user choose no

            txtGameTotal.Text = Val(txtGameTotal.Text) + 1

            txtAverage.Text = "Your Average is " & txtAttempts.Text / txtGameTotal.Text
            MsgBox("Your Average Guess Total is " & txtAttempts.Text / txtGameTotal.Text)

            X = Int(X * Rnd())
            txtEntry.Clear()
            txtAttempts.Clear()

            Return
        ElseIf MsgBoxResult.Cancel Then  'user choose cancel
            'perform some action
            txtGameTotal.Text = Val(txtGameTotal.Text) + 1
            txtAverage.Text = "Your Average is " & txtAttempts.Text / txtGameTotal.Text
            MsgBox("Your Average Guess Total is " & txtAttempts.Text / txtGameTotal.Text)
            txtEntry.Clear()
            txtAttempts.Clear()

            Return
        End If




        X = Int(X * Rnd())

    End If
    If num < X Then
        txtEntry.Text = ("You are too low!!!")

    End If
    If num > X Then
        txtEntry.Text = ("You are too high!!!")


    End If


End Sub

Private Sub BtnExit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnExit.Click
    MsgBox("THANK YOU FOR PLAYING THE GUESSING GAME!!")

    End
End Sub


Private Sub LightBlueToolStripMenuItem1_Click(sender As System.Object, e As System.EventArgs) Handles LightBlueToolStripMenuItem1.Click
    Me.BackColor = Color.LightBlue

End Sub

Private Sub GreenToolStripMenuItem1_Click(sender As System.Object, e As System.EventArgs) Handles GreenToolStripMenuItem1.Click
    Me.BackColor = Color.Green

End Sub

Private Sub BeigeToolStripMenuItem1_Click(sender As System.Object, e As System.EventArgs) Handles BeigeToolStripMenuItem1.Click
    Me.BackColor = Color.Beige

End Sub

Private Sub CrimsonToolStripMenuItem1_Click(sender As System.Object, e As System.EventArgs) Handles CrimsonToolStripMenuItem1.Click
    Me.BackColor = Color.Crimson

End Sub

Private Sub RangeToolStripMenuItem_Click(sender As System.Object, e As System.EventArgs) Handles RangeToolStripMenuItem.Click
    frmRange.Show()
End Sub



Private Sub ComboBox1_SelectedIndexChanged(sender As System.Object, e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged

End Sub

Private Sub btnRandom_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnRandom.Click


    'Randomize()
    'X = randomClass.Next(min, max)

    lblMin.Text = min.ToString
    lblMax.Text = max.ToString
    TextBox1.Text = X

    txtAttempts.Text = Val(txtAttempts.Text) + 1


    num = ComboBox1.Text
    Label2.Text = X

    If ComboBox1.Text = X Then
        MsgBox("Congratulations!!!")
                msg = "  do you want to Exit"
                title = "MsgBox Close"

                style = MsgBoxStyle.Critical Or MsgBoxStyle.YesNoCancel
                response = MsgBox(msg, style, title)

                If response = MsgBoxResult.Yes Then 'user choose yes
                    'perform some action
                    MsgBox("THANK YOU FOR PLAYING THE GUESSING GAME!!")
                    End
                ElseIf MsgBoxResult.No Then 'user choose no

                   txtGameTotal.Text = Val(txtGameTotal.Text) + 1

                    txtAverage.Text = "Your Average is " & txtAttempts.Text / txtGameTotal.Text
                    MsgBox("Your Average Guess Total is " & txtAttempts.Text / txtGameTotal.Text)

                    X = Int(X * Rnd())
                    txtEntry.Clear()
                    txtAttempts.Clear()

                    Return
                ElseIf MsgBoxResult.Cancel Then  'user choose cancel
                    'perform some action
                   txtGameTotal.Text = Val(txtGameTotal.Text) + 1
                   txtAverage.Text = "Your Average is " & txtAttempts.Text / txtGameTotal.Text
                   MsgBox("Your Average Guess Total is " & txtAttempts.Text / txtGameTotal.Text)
                   txtEntry.Clear()
                   txtAttempts.Clear()

        '            Return
    End If




    '        X = Int(X * Rnd())

    '    End If
    '    If num < X Then
    '        txtEntry.Text = ("You are too low!!!")

    '    End If
    '    If num > X Then
    '        txtEntry.Text = ("You are too high!!!")


    '    End If



End Sub

End Class

1
Contributor
1
Reply
6 Hours
Discussion Span
3 Months Ago
Last Updated
6
Views
Question
Answered
clubberlangMayo
Newbie Poster
14 posts since Dec 2012
Reputation Points: 0
Solved Threads: 0
Skill Endorsements: 0
Question Self-Answered as of 3 Months Ago

sorted myself

num = ComboBox1.Text
        Label2.Text = X

        If ComboBox1.SelectedIndex = X Then



    i should have had num = X.  i wanted to get the principals of the game working before i ironed out the small issues
clubberlangMayo
Newbie Poster
14 posts since Dec 2012
Reputation Points: 0
Solved Threads: 0
Skill Endorsements: 0

This question has already been solved: Start a new discussion instead

Post: Markdown Syntax: Formatting Help
 
You
View similar articles that have also been tagged:
 
© 2013 DaniWeb® LLC
Page rendered in 0.0592 seconds using 2.69MB