Module DiceRolls '---------------------------------------------------------------------------------------------- ' Public Random Object '---------------------------------------------------------------------------------------------- Public RandomNumber As New Random
'**********************************************************************************************
'**********************************************************************************************
''' <summary>
''' Roll For min/max value with modifier
''' </summary>
''' <param name="MinValue"></param>
''' <param name="MaxValue"></param>
''' <param name="Modifier"></param>
''' <returns></returns>
''' <remarks></remarks>
Public Function Roll(ByVal MinValue As Integer, ByVal MaxValue As Integer, Optional ByVal Modifier As Integer = 0) As Integer
Return RandomNumber.Next(MinValue, MaxValue + 1) + Modifier
End Function
'**********************************************************************************************
'**********************************************************************************************
''' <summary>
''' Rolls a Range
''' </summary>
''' <param name="Range">Example: 1-8</param>
''' <param name="Modifier">Example: -2</param>
''' <returns></returns>
''' <remarks></remarks>
Public Function RollRange(ByVal Range As String, Optional ByVal Modifier As Integer = 0) As Integer
Dim Min As Integer = 0
Dim Max As Integer = 0
'--Split
Dim MySplitRange() As String = Range.Split("-")
'--Always get the (0) value
Min = MySplitRange(0)
'--what is the Max Value?
If MySplitRange.Count > 1 Then
Max = MySplitRange(1)
Else
Max = Min
End If
Return Roll(Min, Max, Modifier)
End Function
End Module