Ver Mensaje Individual
  #1 (permalink)  
Antiguo 18/11/2010, 16:38
Avatar de VbOkonly
VbOkonly
 
Fecha de Ingreso: julio-2009
Ubicación: San Justo, Buenos Aires, Argentina
Mensajes: 490
Antigüedad: 15 años, 4 meses
Puntos: 5
Problema con logica en visual basic

Hola a todos, tengo un serio problema con mi logica, les cuento masomenos ... El programa al Comenzar hace un Random a dos labels, la idea es que los labels al apretar el boton "listo" se sumen y comparen con un TXT ( a manera de juego, si acertas la suma tienes 3 puntos )

Este es el boton de comienzo:

Código:
Private Sub CMDcomenzar_Click()
        
        Randomize
        
    LBLsuma1.Caption = Int((10 * Rnd) + 1)
    
    LBLsuma2.Caption = Int((10 * Rnd) + 1)
    
    Timer1.Enabled = True
    
    LBLtiempo.Caption = 0
    
    CMDcomenzar.Enabled = False
Este es el boton listo:

Código:
    resultado = Val(LBLsuma1.Caption) + Val(LBLsuma2.Caption)
    
        If Val(TXTresultado.Text) = resultado And TXTresultado <> "" Then
        
    tiempo = 0
    score = score + 3
    mensaje = MsgBox("Bien!, tu puntaje es: " & score, , "Panamaro v1.0")
    random

        Else
    score = score - 3
    mensaje1 = MsgBox("Volvelo a intentar, tu puntaje es: " & score, , "Panamaro v1.0")
    random

End If
Esta es la funcion de random:

Código:
Private Function random()
Randomize
        
    LBLsuma1.Caption = Int((10 * Rnd) + 1)
    
    LBLsuma2.Caption = Int((10 * Rnd) + 1)
    
    Timer1.Enabled = True
    
    LBLtiempo.Caption = 0
    
    TXTresultado.Text = ""
    
End Function
Mi problema es que, ya intente con muchos codigos, valores booleanos todo xD, el problema es deseo hacer que cuando supere los 30 puntos, se aumente la tolerancia del randomize. Pero en lo que traté de hacer (no puse el codigo aca porque acabo de cerrar visual y abrirlo ) vuelve para atrás el score ... y da error.

Intenté hacer un if score < 30 ...
lo hace, pero cuando le sumo los tres puntos, sigue de largo en el otro if para preguntar nuevamente lo mismo ... digamos que

if score < 30 then
...( se suman 3 puntos a la variable score )
...
end if

Cuando llego a 30, se suman los 3 puntos y me vuelve a preguntar lo mismo ...

if score => 30 then
...
..

Y ACA TENGO EL PROBLEMA xD


El form load empieza con el:

score = 0