
14/02/2008, 09:18
|
 | | | Fecha de Ingreso: enero-2005 Ubicación: Argentina
Mensajes: 224
Antigüedad: 20 años, 3 meses Puntos: 3 | |
Re: Laberinto Tambien podes hacer esto: Private Type Componer 'Creamos nuestro propio tipo de variable
Dureza As Boolean 'Necesitamos esta seccion para saber si un cuadro tiene material o esta libre
Material As Byte 'Decimos que tipo de material tendra (ladrillo,metal, etc.) cada uno le corresponde un numero de 0 a 255
' si necesitamos mas materiales modificamos la variable Byte por Integer End Type Private Sub Form_Load() Dim Mapa(1 To 5, 1 To 5) As Componer 'Creamos la matriz(mapa) de 5 casilleros x 5 casilleros para el ejemplo
'Mapa(Fila,Columna)
'/////// FILA UNO //////
Mapa(1, 1).Dureza = True 'True es para decir que si hay un cuadro ocupado
Mapa(1, 1).Material = 1 'Suponemos que 1 es un cuadro de ladrillo
Mapa(1, 2).Dureza = True
Mapa(1, 2).Material = 1
Mapa(1, 3).Dureza = False
Mapa(1, 3).Material = 1
Mapa(1, 4).Dureza = False
Mapa(1, 4).Material = 1
Mapa(1, 5).Dureza = True
Mapa(1, 5).Material = 3
'/////// FILA DOS //////
Mapa(2, 1).Dureza = False 'True es para decir que si hay un cuadro ocupado
Mapa(2, 1).Material = 2 'Suponemos que 1 es un cuadro de ladrillo
'etc... End Sub
Esto es para darle un material y ademas decir si el personaje puede ocupar ese cuadro o no (dureza)
-----------------------------------
Mas sencillo seria... Private Sub Form_Load() Dim Mapa(1 To 5, 1 To 5) As Byte 'Creamos la matriz(mapa) de 5 casilleros x 5 casilleros para el ejemplo
Mapa(1, 1) = 1
Mapa(1, 2) = 2
'etc. For x = 1 To 5 For y = 1 To 5 Select Case Mapa(x, y) Case 0
'bla bla Case 1
'bla bla Case 2
'bla bla
'etc End Select Next Next End Sub
----------------------
Pero recomiendo usar otros medios. Con cadenas es mas facil de llenar los valores de los niveles!!! Private Sub Form_Load() Dim Cuadros As String, x As Byte, Datos As String, Pos As Byte
Cuadros = "01,12,13,14,15,16,17,18,19" ' Mapa de 3x3 For x = 1 To Len(Cuadros) Step 3 'iniciamos un bucle del tamaño de la cadena
Datos = Mid(Cuadros, x, 2) 'Leer la cadena Cuadros en 2 letras If Pos = 4 Then 'Se fija si llego a la ultima casilla de una fila
'Codigo (Pasa a otra fila)
Pos = 1 'Reinicia el contador Else
Pos = Pos + 1
'Codigo (Pasa a otra casilla de la columna) End If
MsgBox Datos Next End Sub |