viernes, 4 de junio de 2010

J u e g o m e m o r i a


El siguiente juego de memoria trata de encontrar una imagen de la columna de la derecha que sea igual a la de la columna de la izquierda. Se hace de la siguiente manera:

- necesitamos (en este caso) 7 imágenes de las cuales obtendremos 14 ya que san de repetir.
- 14 image y 14 picturebox.
- 1 scrollbar
- 1 label para en numero de acierto
- 2 timers

Primero:
Insertaremos un scrollbar, lo encontraremos en barra de herramientas/proyecto/componentes:


Segundo introduciremos el código para que las imágenes y los picturebox se carguen siguen el tiempo establecido en el timer1:

Private Sub Timer1_Timer()
x = x + 1
ProgressBar1.Value = x
pic(x / 100 * 13).Visible = True
Image1(x / 100 * 13).Visible = True
If x >= 100 Then Timer1.Enabled = False
End Sub

Luego crearemos image y le ponemos de indice 0, repetimos la misma acción con el picturebox que estara situado encima del image.(cuando tengamos los image puestos introducimos la imagen que se utilizara para el juego, hay que tener en cuenta que estará repetida)

Segundo:
Ahora haremos click en un picturebox e introduciremos el código para que al presionar desaparezca y que seguidamente si hacemos clic en otro picturebox desaparezca el anterior y que si aparece la misma imagen se quede al descubierto:

Private Sub pic_Click(Index As Integer)
ac = 0
If Timer2.Enabled = True Then
If Image1(I1).Picture = Image1(Index).Picture Then
pnt.Caption = pnt.Caption + 1
pic(I1).Enabled = False
pic(Index).Enabled = False
pic(I1).Visible = False
pic(Index).Visible = False
Timer2.Enabled = False
ac = 1
Else
pic(I1).Visible = True
Timer2.Enabled = False
End If

End If
If ac = 0 Then
pic(Index).Visible = False
I1 = Index
Timer2.Enabled = True
End If
If pnt.Caption = 7 Then
MsgBox "Enorabuena"
End If
End Sub

Tercero:

Aquí estableceremos la puntuación y el mensaje de "Enhorabuena":
-Empezaremos por la puntuación:

pnt.Caption = pnt.Caption + 1 --> Esto hará que cada vez que 2 imágenes coincidan se sume 1 al label del medio.
Y este if hará que cuando llegue a 7 salga un mensaje de "Enhorabuena":

If pnt.Caption = 7 Then
MsgBox "Enorabuena"
End If

Para terminar El reinicio del juego:

Agregaremos un menú para ello iremos a barra de herramientas/Herramientas/Editor de menús.

El código:

Private Sub menu5_Click()
pic(0).Visible = True
pic(1).Visible = True
pic(2).Visible = True
pic(3).Visible = True
pic(4).Visible = True
pic(5).Visible = True
pic(6).Visible = True
pic(7).Visible = True
pic(8).Visible = True
pic(9).Visible = True
pic(10).Visible = True
pic(11).Visible = True
pic(12).Visible = True
pic(13).Visible = True
pic(0).Enabled = True
pic(1).Enabled = True
pic(2).Enabled = True
pic(3).Enabled = True
pic(4).Enabled = True
pic(5).Enabled = True
pic(6).Enabled = True
pic(7).Enabled = True
pic(8).Enabled = True
pic(9).Enabled = True
pic(10).Enabled = True
pic(11).Enabled = True
pic(12).Enabled = True
pic(13).Enabled = True

pnt.Caption = 0
End Sub







FIN