Ya veo de qué va el tema...
Bueno, antes que nada dejame darte unos consejos para programar:
1. Siempre dale un formato claro al código, si no es un ejercicio sencillo se hace imposible de leer, ya para tí mismo.
2. En lenguajes como Visual Basic, ordenate las diferentes rutinas con un orden "lógico", de esa forma siempre sabrás donde está cada cosa.
3. Los nombres de las variables, deben ser claros para tí
Son consejos para tí mismo, yo soy el primero que si tengo que dar un código lo pongo a proposito dificil de leer (jeje) pero para uno mismo, para poder trabajar eficientemente, y si después de tiempo se necesita volver a tocar un código, es muy importante seguir estos puntos.
---
Ahora vamos al tema en concreto:
1. Veo
variables importantes que no tienen sus valores inicializados, si por lo menos especificaras el tipo de dato, alomejor no haria del todo falta (aunque tambien daria problemas muchas veces). Pero aquí no haces ni una cosa ni otra.
Te recomiendo que declares como Integer (entero) num1, num2 y la I.
2. No entiendo como estás utilizando la variable turno, en tu explicacion dices que seria de tipo verdadero o falso, no ? para eso tienes el
tipo de dato Boolean (true/false).
3. La misma variable turno tiene que hacer tu ataque, y el del PC,
la variable H sobraria, pues la usas para lo mismo.
No debes de usar diferentes condicionales... o es un turno, o es el otro.. es decir algo asi:
Código:
if turnomaquina = true then
'<...lo que pasa en el turno de la maquina...>
turnomaquina = false
else
'<...lo que pasa en el turno del jugador...>
turnomaquina = true
end if
Fijate que, por lo que decia al principio, cambio el nombre para darle un poco más de lógica y facilitar el asunto.
Es todo un mismo condicional, cuando acaba la "jugada" de la máquina, se pone en false para la proxima vez, asi sabemos que la siguiente vez el turno es del jugador.
De la misma forma, cuando acaba la "jugada" del jugador, turnomaquina se pone true de nuevo, para la siguiente vez
4.
El WHILE sobra, cada jugada es una tirada de dado, no ? es decir, cada vez que le das al botón. Aqui veo, que quizas me equivoque, es cuestión del funcionamiento del juego y no me ha quedado eso del todo claro. De la forma que yo lo he entendido sobra...
...
En el codigo faltan lineas, no ? hay cosas que no cuadran
Para qué usas un timer ?
No sé, tira un poco de todo lo que te he dicho y , si no te funciona, ponme aqui el nuevo código...
También estaría bien que explicarás la funcion de las otras variables...
Saludos