Control de tiempo y fallos

Continuando con frmjugar, vamos a ver cómo  controlamos los fallos  y vamos mostrando al usuario cúantos puede cometer y que tiempo le queda. Este es el código del control de fallos, que hace uso del evento change del txt errores.

PUBLIC SUB txterrores_Change()
DIM y AS Integer
‘ ———————————cargar imagen según errores restantes, cuando no queden màs
‘———————————- bloquear botones y mostrar solucion
IF txterrores.Text = “0” THEN
PictureBox1.Picture = picture[“seis.jpg”]
FOR y = 0 TO largoCadena – 1
matrizObjetos[y].visible = TRUE
NEXT
Btntirar.Enabled = FALSE
Timer1.enabled = FALSE

ELSE IF txterrores.Text = “1” THEN
PictureBox1.Picture = picture[“cinco.jpg”]
ELSE IF txterrores.Text = “2” THEN
PictureBox1.Picture = picture[“cuatro.jpg”]
ELSE IF txterrores.Text = “3” THEN
PictureBox1.Picture = picture[“tres.jpg”]
ELSE IF txterrores.Text = “4” THEN
PictureBox1.Picture = picture[“dos.jpg”]
ELSE IF txterrores.Text = “5” THEN
PictureBox1.Picture = picture[“uno.jpg”]
ELSE
ENDIF

END

Empecemos por el valor “0” , cuando ya no podemos cometer más errores ejecuta el código en negrita mostrando la imagen correspondiente, recorre con un bucle for-next la matriz de textbox haciendo visibles las letras y con ellas la solución, bloquea el btntirar poniendo a false su propiedad enabled , y lo mismo para detener el timer.

Nota: el código lo puse en negrita para destacarlo.

Si no es “0” verifica uno por uno los posibles valores  y actúa mostrando la imagen correspondiente a la cantidad de fallos restantes.

Una muestra de las imágenes

Esto mismo puede hacerse con un select case y quizá hubiera sido más adecuado.

Nota: Las imágenes las creé con Gimp y se cargan desde el árbol de la izquierda , click derecho sobre datos,nuevo, imagen y en la pestaña existente navegas hasta donde tienes la imagen y le das aceptar. Debes  además poner la propiedad strech del picturebox a true para que la imagen llene todo el control.

El control de tiempo se realiza a través del evento Timer del control del mismo nombre. En la pestaña propiedades del mismo ponemos la propiedad Delay a 1000 ( se expresa en milisegundos) que equivalen a un segundo. Cada segundo que transcurre se ejecuta el evento. Este es el código.

PUBLIC SUB Timer1_Timer()
DIM y AS Integer
‘ —————controlar que el timer no este en 0,si es asì bloquear botones y mostrar solucion
IF txttiempo.text = “0” THEN
Timer1.enabled = FALSE
Btntirar.enabled = FALSE
PictureBox1.Picture = picture[“ocho.jpg”]
FOR y = 0 TO largoCadena – 1
matrizObjetos[y].visible = TRUE
NEXT
ELSE
‘ ————————————–ir restando el tiempo y mostrarlo en el textbox
txttiempo.text = txttiempo.text – 1
ENDIF

END

Básicamente lo que hace es “fijarse” los segundos restantes en el txttiempo y mientras no llegue a cero va restándolos de a uno. Si llega a cero detiene el juego y muestra la imagen correspondiente, además de hacer visibles las letras y bloquear botones. Este código no se ejecuta si detenemos el timer con btnparar.
Un pequeño detalle para terminar el formulario, se trata de una rutina para tirar las letras presionando ENTER o el botón btntirar . Simplemente comprobamos que la tecla pulsada sea enter(Return) y si es así lanzamos el procedimiento jugar.

PUBLIC SUB txtletra_KeyPress()

‘——————————Si la tecla que presionamos es ENTER
IF Key.code = Key.Return THEN
jugar
ENDIF

END

Con esto terminamos esta primera versión del formulario, en el próximo post veremos el formulario para jugar con otra persona que es prácticamente igual a este.

Anuncios
Esta entrada fue publicada en programación y etiquetada . Guarda el enlace permanente.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s