每次(VB.net)都会生成相同的数字

时间:2020-01-30 20:40:07

标签: vb.net random visual-studio-2019

每次运行此命令时,我都会得到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

3 个答案:

答案 0 :(得分:1)

您接近了!这是一个修改原始逻辑的工作示例:

   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

答案 1 :(得分:0)

以下是一些基本代码供您使用:

Dim rnd As New Random()
For i as Integer = 0 to 10
  Console.WriteLine("{0,15:N0}", rnd.Next())
Next

注意rnd.Next()。希望对您有所帮助。

答案 2 :(得分:0)

由于您的代码不正确,因此很难查明问题所在。还不清楚代码应该做什么。

尝试一下

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