Visual Basic控制台 - 每次使用时随机生成的整数

时间:2015-10-09 19:48:52

标签: vb.net random console-application basic

我在这里基本上要做的是创建一些骰子,每次我要求它在方程中使用时都会滚动。例如,如果我创建一个d10并使用以下代码:

Dim PlayerStr As Integer
PlayerStr = 2
Dim PlayerHit As Integer    
PlayerHit = d10 + PlayerStr

我是否有办法在代码中稍后再次使用d10,例如像Enemyhit = d10 + enemystr这样的东西,让d10两次“滚动”?我试过这样做

Module Module1

    Public RNG As New Random
    Public d10 As Integer
    d10 = RNG.next(1, 11)
Sub Main ()
...
End Sub

End Module

但据我所知,一旦程序启动它会滚动d10,然后每次被告知使用d10时都会使用该值,或者我错了?

1 个答案:

答案 0 :(得分:3)

不要重复使用Integer变量,而是重用一个返回随机Integer的函数:

Private m_rng As New Random()

Private Function Roll()

    Dim d10 As Integer
    d10 = m_rng.next(1, 11)

    Return d10

End Function

然后像这样使用它:

PlayerHit = Roll() + PlayerStr

Enemyhit = Roll() + enemystr