vb.net - 在 VB.NET 的 RNG 中生成相同的数字
问题描述
我正在尝试在 Visual Studio 的 VB 16 中创建一个随机数生成器,但每次运行它时,我都会得到 71,我尝试将其公开、共享和其他一些东西,但它不起作用。我正在尝试制作一个程序,让用户猜测一个随机生成的数字,并继续猜测直到他们得到它,但由于某种原因,每次都选择完全相同的数字。它在窗口应用程序表单中无法正常工作。我如何每次都得到一个随机数?
Public Shared Randomize()
Dim value As Integer = CInt(Int((100 * Rnd()) + 1))
Public Sub EnterBtn_Click(sender As Object, e As EventArgs) Handles EnterBtn.Click
Dim entervalue As String = EnterTxt.Text
Dim chances As Integer
Select Case entervalue
Case > value
ResTxt.Text = "Too big"
chances += 1
Case < value
ResTxt.Text = "Too small"
chances += 1
Case = value
ResTxt.Text = "Well done, you got it in " & chances & " tries"
End Select
End Sub
解决方案
你很亲近!这是一个修改原始逻辑的工作示例:
Private random As Random = New Random()
Private value As Integer
Private chances As Integer
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
value = random.Next(1, 100)
chances = 0
End Sub
Private Sub EnterBtn_Click(sender As Object, e As EventArgs) Handles EnterBtn.Click
Select Case EnterTxt.Text
Case > value
chances += 1
ResTxt.Text = "Too big"
Case < value
chances += 1
ResTxt.Text = "Too small"
Case = value
chances += 1
ResTxt.Text = "Well done, you got it in " & chances & " tries"
'and reset for next attempt
value = random.Next(1, 100)
chances = 0
End Select
End Sub