Download Código Fuente de Juego de Memória (visual Basic 6)...
Autor: Diego Ríos. Alias: DALEJ e-mail:
[email protected]
Código Fuente de Juego de Memória (visual Basic 6) Option Explicit Public ContadorSegundos As Integer Public ContadorMinutos As Integer Public ContadorHoras As Integer Public NumeroAciertos As Integer Public NumeroFallos As Integer Public NumeroParejas As Integer Public ImagenNumero1 As Integer Public ImagenNumero2 As Integer Private PermisoBorrar As Boolean Private PrimeraUbicacion(1, 2) As Integer Private SegundaUbicacion(1, 2) As Integer Private MatrizMemoria(4, 5) As Integer Private MatrizAciertos(4, 5) As Boolean Private Sub Form_Load() Call EstablecerImagenesIniciales Call EstablecerMatrizDeImagenes End Sub Private Sub Imagen_Click(Index As Integer) Select Case Index Case 0 Imagen(0).PaintPicture LoadPicture(".\Imagenes\Nave.jpg"), 0, 0, 1000, 1000 Call EstablecerDatos(0, 0) Case 1 Imagen(1).PaintPicture LoadPicture(".\Imagenes\Libros.jpg"), 0, 0, 1000, 1000 Call EstablecerDatos(0, 1) Case 2 Imagen(2).PaintPicture LoadPicture(".\Imagenes\Auto.jpg"), 0, 0, 1000, 1000 Call EstablecerDatos(0, 2) Case 3 Imagen(3).PaintPicture LoadPicture(".\Imagenes\Sonido.jpg"), 0, 0, 1000, 1000 Call EstablecerDatos(0, 3) Case 4 Imagen(4).PaintPicture LoadPicture(".\Imagenes\Casco.jpg"), 0, 0, 1000, 1000 Call EstablecerDatos(0, 4) Case 5 Imagen(5).PaintPicture LoadPicture(".\Imagenes\Rosas.jpg"), 0, 0, 1000, 1000 Call EstablecerDatos(1, 0) Case 6 Imagen(6).PaintPicture LoadPicture(".\Imagenes\Corazon.jpg"), 0, 0, 1000, 1000 Call EstablecerDatos(1, 1) Case 7 Imagen(7).PaintPicture LoadPicture(".\Imagenes\Nave.jpg"), 0, 0, 1000, 1000 Call EstablecerDatos(1, 2) Case 8 Imagen(8).PaintPicture LoadPicture(".\Imagenes\Casco.jpg"), 0, 0, 1000, 1000 Call EstablecerDatos(1, 3) Case 9 Imagen(9).PaintPicture LoadPicture(".\Imagenes\Mundo.jpg"), 0, 0, 1000, 1000 Call EstablecerDatos(1, 4) Case 10 Imagen(10).PaintPicture LoadPicture(".\Imagenes\Grua.jpg"), 0, 0, 1000, 1000 Call EstablecerDatos(2, 0)
Case 11 Imagen(11).PaintPicture LoadPicture(".\Imagenes\Grua.jpg"), 0, 0, 1000, 1000 Call EstablecerDatos(2, 1) Case 12 Imagen(12).PaintPicture LoadPicture(".\Imagenes\Corazon.jpg"), 0, 0, 1000, 1000 Call EstablecerDatos(2, 2) Case 13 Imagen(13).PaintPicture LoadPicture(".\Imagenes\Avion.jpg"), 0, 0, 1000, 1000 Call EstablecerDatos(2, 3) Case 14 Imagen(14).PaintPicture LoadPicture(".\Imagenes\Sonido.jpg"), 0, 0, 1000, 1000 Call EstablecerDatos(2, 4) Case 15 Imagen(15).PaintPicture LoadPicture(".\Imagenes\Avion.jpg"), 0, 0, 1000, 1000 Call EstablecerDatos(3, 0) Case 16 Imagen(16).PaintPicture LoadPicture(".\Imagenes\Libros.jpg"), 0, 0, 1000, 1000 Call EstablecerDatos(3, 1) Case 17 Imagen(17).PaintPicture LoadPicture(".\Imagenes\Rosas.jpg"), 0, 0, 1000, 1000 Call EstablecerDatos(3, 2) Case 18 Imagen(18).PaintPicture LoadPicture(".\Imagenes\Auto.jpg"), 0, 0, 1000, 1000 Call EstablecerDatos(3, 3) Case 19 Imagen(19).PaintPicture LoadPicture(".\Imagenes\Mundo.jpg"), 0, 0, 1000, 1000 Call EstablecerDatos(3, 4) End Select If (PermisoBorrar) Then Call PintarInterrogantes End If If (NumeroAciertos = 10) Then MsgBox "Fin del Juego", vbInformation, "Game Over" End If End Sub Private Sub Timer1_Timer() ContadorSegundos = ContadorSegundos + 1 If (ContadorSegundos = 60) Then ContadorSegundos = 1 ContadorMinutos = ContadorMinutos + 1 End If If (ContadorMinutos = 60) Then ContadorMinutos = 1 ContadorHoras = ContadorHoras + 1 End If LblTiempo.Caption = CStr(ContadorHoras) + ":" + CStr(ContadorMinutos) + ":" + CStr(ContadorSegundos) End Sub Private Sub EstablecerDatos(Y As Integer, X As Integer) Select Case NumeroParejas Case 0 PrimeraUbicacion(0, 0) =Y PrimeraUbicacion(0, 1) =X NumeroParejas = NumeroParejas + 1
ImagenNumero1 = MatrizMemoria(Y, X) PermisoBorrar = False Case 1 SegundaUbicacion(0, 0) = Y SegundaUbicacion(0, 1) = X ImagenNumero2 = MatrizMemoria(Y, X) NumeroParejas = 0 Call CompararImagenes(ImagenNumero1, ImagenNumero2) PermisoBorrar = True End Select End Sub Private Sub CompararImagenes(Valor1 As Integer, Valor2 As Integer) If (Valor1 = Valor2) Then NumeroAciertos = NumeroAciertos + 1 LblAciertos.Caption = "Aciertos: " + CStr(NumeroAciertos) MatrizAciertos(PrimeraUbicacion(0, 0), PrimeraUbicacion(0, 1)) = True MatrizAciertos(SegundaUbicacion(0, 0), SegundaUbicacion(0, 1)) = True MsgBox "ACERTADO" Else NumeroFallos = NumeroFallos + 1 LblFallos.Caption = "Fallos: " + CStr(NumeroFallos) MatrizAciertos(PrimeraUbicacion(0, 0), PrimeraUbicacion(0, 1)) = False MatrizAciertos(SegundaUbicacion(0, 0), SegundaUbicacion(0, 1)) = False MsgBox "INCORRECTO" End If ImagenNumero1 = 0 ImagenNumero2 = 0 End Sub Private Sub PintarInterrogantes() Dim ContadorFilas As Integer ContadorFilas = 0 Dim ContadorColumnas As Integer ContadorColumnas = 0 Dim i As Integer For i = 0 To 19 If (Not (MatrizAciertos(ContadorFilas, ContadorColumnas))) Then Imagen(i).PaintPicture LoadPicture(".\Imagenes\Interrogacion.jpg"), 0, 0, 1000, 1000 Else Imagen(i).Enabled = False End If IF (ContadorColumnas = 4) Then ContadorColumnas = -1 ContadorFilas = ContadorFilas + 1 End If ContadorColumnas = ContadorColumnas + 1 Next End Sub Private Sub EstablecerImagenesIniciales() Dim i As Integer For i = 0 To 19 Imagen(i).PaintPicture LoadPicture(".\Imagenes\Interrogacion.jpg"), 0, 0, 1000, 1000 Next End Sub Private Sub EstablecerMatrizDeImagenes() MatrizMemoria(0, 0) = 1
MatrizMemoria(1, 0) = 4 MatrizMemoria(2, 0) = 5 MatrizMemoria(3, 0) = 10 MatrizMemoria(0, 1) = 2 MatrizMemoria(1, 1) = 3 MatrizMemoria(2, 1) = 5 MatrizMemoria(3, 1) = 2 MatrizMemoria(0, 2) = 9 MatrizMemoria(1, 2) = 1 MatrizMemoria(2, 2) = 3 MatrizMemoria(3, 2) = 4 MatrizMemoria(0, 3) = 6 MatrizMemoria(1, 3) = 7 MatrizMemoria(2, 3) = 10 MatrizMemoria(3, 3) = 9 MatrizMemoria(0, 4) = 7 MatrizMemoria(1, 4) = 8 MatrizMemoria(2, 4) = 6 MatrizMemoria(3, 4) = 8 End Sub