hola, tengo un codigo al cual esto modificando , pero el problema es que me da errores
como eso de los que no se ha declarado el nombre , estoy usando vb 2008 express edition , aki dejo el codigo
Código C:
Ver originalOption Explicit
Private dado As Byte
Private contRo, contAz, contAm, contVe As Byte
Private turno As Byte
Private ro0, ro1, ro2, ro3 As Byte
Private az0, az1, az2, az3 As Byte
Private am0, am1, am2, am3 As Byte
Private ve0, ve1, ve2, ve3 As Byte
Private ficha As Byte
Private sacada As Boolean
Private Sub Form_Load()
ro0 = 4: ro1 = 4: ro2 = 4: ro3 = 4
az0 = 21: az1 = 21: az2 = 21: az3 = 21
am0 = 38: am1 = 38: am2 = 38: am3 = 38
ve0 = 55: ve1 = 55: ve2 = 55: ve3 = 55
Randomize
End Sub
Private Sub cmdDado_Click()
Call Tirada
If turno = 0 Then
Call Movimiento(ro0, ro1, ro2, ro3)
ElseIf turno = 1 Then
Call Movimiento(az0, az1, az2, az3)
ElseIf turno = 2 Then
Call Movimiento(am0, am1, am2, am3)
Else
Call Movimiento(ve0, ve1, ve2, ve3)
End If
'Loop
End Sub
Private Sub Tirada()
'Ojo: CInt aproxima; Int trunca:
dado = Int(6 * Rnd + 1)
txtDado.Text = CStr(dado)
End Sub
Private Sub Movimiento(ficha0, ficha1, ficha2, ficha3) (((error error al no declarar lstjug))))
If (lstJug(turno).List(0) <> "" Or lstJug(turno).List(1) <> "" Or lstJug(turno).List(2) <> "" Or lstJug(turno).List(3) <> "") And dado = 5 Then
Call Salida(ficha0, ficha1, ficha2, ficha3)
ElseIf lstJug(turno).List(0) = "" Or lstJug(turno).List(1) = "" Or lstJug(turno).List(2) = "" Or lstJug(turno).List(3) = "" Then
Call Normal(ficha0, ficha1, ficha2, ficha3)
End If
turno = turno + 1
If turno > 3 Then turno = 0
If turno = 0 Then
lstJugadores.ListIndex = 0
ElseIf turno = 1 Then lstJugadores.ListIndex = 1
ElseIf turno = 2 Then lstJugadores.ListIndex = 2 (((ERROR AL NO DECLARAR LST JUGADORES)))
ElseIf turno = 3 Then lstJugadores.ListIndex = 3
End If
End Sub
Private Sub Salida(a, b, c, d)
sacada = False
If lstJug(turno).List(0) <> "" Then
pos(a).AddItem lstJug(turno).List(0)
lstJug(turno).List(0) = ""
sacada = True
ElseIf lstJug(turno).List(1) <> "" Then
pos(b).AddItem lstJug(turno).List(1)
lstJug(turno).List(1) = ""
sacada = True
ElseIf lstJug(turno).List(2) <> "" Then
pos(c).AddItem lstJug(turno).List(2)
lstJug(turno).List(2) = ""
sacada = True
ElseIf lstJug(turno).List(3) <> "" Then
pos(d).AddItem lstJug(turno).List(3)
lstJug(turno).List(3) = ""
sacada = True
End If
End Sub
Private Function F_Reposiciona(ByVal ficha As Byte) As Byte
ficha = ficha + dado
If (turno = 1 Or turno = 2 Or turno = 3) And ficha > 67 Then ficha = ficha - 68
F_Reposiciona = ficha
End Function
Private Sub Normal(a, b, c, d)
Dim aux As Byte
Dim anterior As Byte
If optFicha0.Value = True And lstJug(turno).List(0) = "" Then
aux = a
a = F_Reposiciona(aux)
pos(a).AddItem pos(aux).List(0)
pos(aux).RemoveItem 0
ElseIf optFicha1.Value = True And lstJug(turno).List(1) = "" Then
aux = b
anterior = b
b = F_Reposiciona(aux)
pos(b).AddItem pos(anterior).List(0)
pos(anterior).RemoveItem 0
ElseIf optFicha2.Value = True And lstJug(turno).List(2) = "" Then
aux = c
anterior = c
c = F_Reposiciona(aux)
pos(c).AddItem pos(anterior).List(0)
pos(anterior).RemoveItem 0
ElseIf optFicha3.Value = True And lstJug(turno).List(3) = "" Then
aux = d
anterior = d
d = F_Reposiciona(aux)
pos(d).AddItem pos(anterior).List(0)
pos(anterior).RemoveItem 0
Else
MsgBox "Esa ficha no ha salido de casa todavía. Usa una de las que ya están fuera"
If turno = 0 Then
turno = 3
Else
turno = turno - 1
End If
End If
End Sub
a ver si encuentro una solucion , gracias