我目前正在写一个Who Wants To A Millionaire程序,我似乎无法弄清楚代码中的严重错误。特别是50/50生命线。只要正确答案是选择中的第一个答案,程序就会崩溃。否则,如果正确的答案是2,3或4选择,它可以正常工作。 我真的不知道为什么会这样做,我修复它的努力一直没用。我正在使用一个数组来保持哪个选项是每个答案的正确选择。
correctanswer(i)
Dim remove As Integer
Dim remove1 As Integer
start:
remove = CStr(Int(Rnd() * 4))
If remove + 2 = correctanswer(i) + 1 Then
GoTo start
End If
start2:
remove = CStr(Int(Rnd() * 5))
If remove1 + 2 = correctanswer(i) + 1 Then
GoTo Start2
ElseIf remove1 = remove Then
GoTo Start2
End If
Dim r1 As Button
r1 = Me.Controls("cmdanswer" & remove + 1)
r1.Enabled = False
r1.Text = ""
Dim r2 As Button
r2 = Me.Controls("cmdanswer" & remove1 + 1)
r2.Enabled = False
r2.Text = ""
答案 0 :(得分:0)
只要remove1 + 2 = correctanswer(i) + 1
,就会出现无限循环。它回到start2,然后继续向下到if语句,然后到start2,一遍又一遍。 remove1和correctanswer(i)的值永远不会改变。