Vb程序出错

来源:百度知道 编辑:UC知道 时间:2024/05/02 09:34:06
Private Sub computer(ByVal t As Integer)
ramdomize
cmp = Int((3 * Rnd) + 1)
C1.Visible = False
C2.Visible = False
C3.Visible = False
If cmp = 1 Then
C1.Visible = True

ElseIf cmp = 2 Then
C2.Visible = True

ElseIf cmp = 3 Then
C3.Visible = True

End If

If (t = 1 And cmp = 3) Or (t = 2 And cmp = 1) Or (t = 3 And cmp = 2) Then
sorce = score + 50

ElseIf (t <> 1 And cmp = 3) Or (t = 2 And cmp = 1) Or (t = 3 And cmp = 2) Then
sorce = score - 50
End Sub

Private Sub Command1_Click(Index As Integer)
P1.Visible = True
P2.Visible = False
P3.Visible = False
Call computer(1)
End Sub

Private Sub Command2_Click(Index As Integer)
P1.Visible = False
P2.Visible = True
P3.Visible = False
Call computer(2)
End Sub

Private Sub Command3_Click()
P1.Visible = False
P2.Visible = False
P3.Visible =

1.函数拼写错误,第二行 ramdomize
正确的写法是:randomize
2.computer函数内部,最后一行 sorce = score - 50 后面缺少 End If 语句
3.你的变量名叫 sorce ,用的时候怎么变成 score 了?仔细看看
sorce = 100
Label2.Caption = score

回答补充:
呵呵,你刚好改反了,应该把所有的 score 改成 sorce
因为起初 score 只在你的程序中出现了一次,即:Label2.Caption = score
另外,建议在代码段最前边添加检差语句和变量定义语句,即:
Option Explicit
Public sorce As String

除了楼上说的错误外,最好在开始把sorce声明成公共变量,这样在computer过程中调用也不会出错。
那3个Command不知道是怎么设置的,好像1和2是数组控件,3是单独的,最好还是都用单独的,数组控件用起来很麻烦,像你那样用Command1和Command2很可能是错的,1和2都换了吧。