如何在同一表单中创建两个单独的随机数?

时间:2016-11-06 21:56:04

标签: vb.net

试图将一个数字添加到游戏中作为计算机科学项目的一部分,并且我目前使用的代码在不同的文本框中显示相同的数字。我想在两个不同的框中显示两个不同的随机数,谢谢。

    Dim rn As Random
    Dim number As Integer
    rn = New Random
    number = rn.Next(1, 9)
    Dim rn2 As Random
    Dim number1 As Integer
    rn2 = New Random
    number1 = rn2.Next(1, 9)



    tbxOne.Text = number.ToString
    tbxTwo.Text = number1.ToString

End Sub

2 个答案:

答案 0 :(得分:0)

您正在同时创建两个Random实例。这些数字并非真正随机;他们的种子是时间依赖的,所以你的两个Randoms将拥有相同的种子。您应该使用 one Random并在每次需要新值时使用其Next函数。

Dim rn As New Random
Dim number As Integer = rn.Next(1, 9)
Dim number1 As Integer = number
Do until number1 <> number
    number1 = rn.Next(1, 9)
Loop

tbxOne.Text = number.ToString
tbxTwo.Text = number1.ToString

可能有一个更优雅的解决方案来确保唯一的数字,但循环可能会满足您的需求。

答案 1 :(得分:0)

您可以使用1个实例创建随机数。此外,您的随机数可以不同或相同。

Dim rn As Random
Dim number As Integer
Dim number1 As Integer

rn = New Random
number = rn.Next(1, 9)
number1 = rn.Next(1, 9)

tbxOne.Text = number.ToString
tbxTwo.Text = number1.ToString