Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Create an application that generates a random number in the range of 1 through 1

ID: 3548089 • Letter: C

Question

Create an application that generates a random number in the range of 1 through 100 and asks the user to guess what the number is. If the user's guess is higher than the random number, the program should display " Too high, try again." If the user's guess is lower than the random number, the program should display "Too low, try again." If the user guesses the number, the application should congratulate the user and then generate a new random number so the game can start over.

Optional Enhancement: Enhance the game so it keeps count of the number of guesses that user makes. When the user correctly guesses the random number, the program should display the number of guesses.


- Have title in the form.
- Have Try.. Catch block in your program.
- Have Accept and Cancel Buttons.
- Assign Keyboard Access keys to Buttons.

Explanation / Answer

Public Class Form1

Dim strNumberGuess As String

Dim intNumberGuess As Integer

Dim number As New Random

Dim intNumber As Integer

Dim intCounter As Integer = 1


Dim strGuessNumber As String = "Please enter a number between 0 and 100"

Dim strGuessTitle As String = "Enter Guess Number"

Dim strRangeMessage As String = "Number must be between 0 and 100"

Dim strRangeTitle As String = "Out of Range Number Error"

Dim strNonNumeric As String = "Must enter numeric value between 0 and 100"

Dim strNonNumericTitle As String = "Non Numeric Entry Error"


Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load


intNumber = number.Next(101) 'generate random on application load

txtNumberGuess.Focus()

End Sub

Private Sub cmdExit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdExit.Click

Me.Close()

End Sub


Private Sub cmdInputBoxLoopGuess_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdInputBoxLoopGuess.Click


[omitted code]


Private Sub cmdTextLoopGuess_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdTextLoopGuess.Click

' intNumber = 50 'test if loop for true condition


strNumberGuess = txtNumberGuess.Text

lblNumber.Text = intNumber.ToString("n0")


If Integer.TryParse(strNumberGuess, intNumberGuess) Then

If intNumberGuess >= 0 And intNumberGuess <= 100 Then


lblUserGuess.Text = intNumberGuess.ToString()


'========================================================

'compare user guess to random number

'========================================================


Do Until intNumberGuess = intNumber Or intCounter = 3 ' 3 limit to prevent an endless loop

If intNumberGuess < intNumber Then

lblAnswer.Text = "too low, try again"

txtNumberGuess.Clear()

txtNumberGuess.Focus()

strNumberGuess = txtNumberGuess.Text

ElseIf intNumberGuess > intNumber Then

lblAnswer.Text = "too high, try again"

txtNumberGuess.Clear()

txtNumberGuess.Focus()

strNumberGuess = txtNumberGuess.Text

End If

intCounter += 1

Loop


lblAnswer.Text = "correct"

lblGuessNumber.Text = intCounter.ToString("n0")


Else

MessageBox.Show(strRangeMessage, strRangeTitle)

txtNumberGuess.Clear()

txtNumberGuess.Focus()

End If


Else

MessageBox.Show(strNonNumeric, strNonNumericTitle)

txtNumberGuess.Clear()

txtNumberGuess.Focus()

End If

End Sub


Private Sub cmdInputBoxIfGuess_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdInputBoxIfGuess.Click


[omitted code]


Private Sub cmdReset_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdReset.Click

txtNumberGuess.Clear()

lblAnswer.Text = String.Empty

lblGuessNumber.Text = String.Empty

lblNumber.Text = String.Empty

lblUserGuess.Text = String.Empty

intCounter = 0

intNumber = number.Next(101)

End Sub


Private Sub cmdTextIfGuess_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdTextIfGuess.Click


[omitted code]


End Class

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote