在VB.NET的RNG中生成相同的编号
我试图在VisualStudio的VB16中创建一个随机数生成器,但每次运行它,我都会得到71个,我尝试将它公开、共享和其他一些东西,但它不起作用。我试图制作一个程序,让用户猜测一个随机生成的数字,并继续猜测,直到他们得到它,但出于某种原因,每次都选择完全相同的数字。它在Windows应用程序窗体中无法正常工作。我如何每次得到一个随机数在VB.NET的RNG中生成相同的编号,vb.net,winforms,random,visual-studio-2019,Vb.net,Winforms,Random,Visual Studio 2019,我试图在VisualStudio的VB16中创建一个随机数生成器,但每次运行它,我都会得到71个,我尝试将它公开、共享和其他一些东西,但它不起作用。我试图制作一个程序,让用户猜测一个随机生成的数字,并继续猜测,直到他们得到它,但出于某种原因,每次都选择完全相同的数字。它在Windows应用程序窗体中无法正常工作。我如何每次得到一个随机数 Public Shared Randomize() Dim value As Integer = CInt(Int((100 * Rnd()) + 1)) P
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
以下是一些基本代码:
Dim rnd As New Random()
For i as Integer = 0 to 10
Console.WriteLine("{0,15:N0}", rnd.Next())
Next
注意rnd。下一件事。希望有帮助。由于您的代码不正确,很难找出问题所在。也不清楚代码应该做什么 试试这个
Private Shared PRNG As New Random ' add this
value = PRNG.Next(1, 101)'this will set value to a random number between 1 and 100 inclusive
你很接近!下面是一个修改原始逻辑的工作示例:
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
你应该在循环外创建随机,而不是在每次迭代时创建新的随机。我在事后添加了循环,而且。。。我要马上编辑它。谢谢你让我知道。代码样本应该是完整的和正确的。什么时候应该生成一个新的随机数?当程序第一次启动时,当程序运行时,它会弹出一个带有文本框和按钮的窗口,你必须尝试猜测数字,如果太高,它会显示这样,如果太低,它会显示这样,当玩家得到正确的号码时,它会告诉他们正确的号码以及尝试次数