Role-Playing Dice サブプログラムを作成しようとしています。Visual Basic で Visual Studio 2010 を使用しています。Visual Studio に従ったすべての構文は正しいです。フォームは次のようになります。
# of Dice テキスト ボックスの値が「1」または「null」の数字ボタンをクリックすると、1 つのサイコロが振られ、クリックした数字ボタンに応じて 1 つのランダムな値が与えられます。2 以上の値を入力すると、プログラムが停止し、次の例外エラーが表示されます。
私は調査を行い、コードは正しく書かれていると思いますが、何らかの理由で値が配列に含まれていません。値を配列に入れて、複数のサイコロが振られていることをプログラムに認識させる方法を知りたいです。以下は、ボタンの 1 つのコードのコピーです。
Private Sub btnD4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnD4.Click
Dim v, w, x, y, z, iarry(x) As Integer
lvRolls.Items.Clear()
If txt4Qty.Text = vbNullString Then
x = 1
Else
x = CInt(txt4Qty.Text)
End If
If x = 1 Then
z = CInt(Int(Rnd() * 5))
If z > 4 Then
z = 4
ElseIf z < 1 Then
z = 1
End If
lvRolls.Items.Add("Roll 1")
lvRolls.Items(0).SubItems.Add(CStr(z))
If txt4Mod.Text = vbNullString Then
lblTotal.Text = CStr(z)
Else
w = CInt(txt4Mod.Text)
lblTotal.Text = CStr(z + w)
End If
Else
For y = 0 To x Step 1
z = CInt(Int(Rnd() * 5))
If z > 4 Then
z = 4
ElseIf z < 1 Then
z = 1
End If
iarry(y) = z
Next
For v = 0 To x
lvRolls.Items.Add("Roll " & v + 1)
lvRolls.Items(x).SubItems.Add(CStr(iarry(y)))
Next
End If
End Sub