我在这里基本上要做的是创建一些骰子,每次我要求它在方程中使用时都会滚动。例如,如果我创建一个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时都会使用该值,或者我错了?
答案 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