elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  Ayuda con matrices y como recorrerlas
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Ayuda con matrices y como recorrerlas  (Leído 2,337 veces)
frekency


Desconectado Desconectado

Mensajes: 316



Ver Perfil
Ayuda con matrices y como recorrerlas
« en: 10 Diciembre 2010, 22:28 pm »

Buenas estoy haciendo el juego de los marcianitos con graphics, primero quiero pintar los marcianitos con rectangulos y ya luego le añadiré las imágenes el problema esta en que no se muy bien como recorrer las matrices aqui porque me peta un poco.

Aver la definición de la matriz la tengo asi:

    Private marcianitos(4, 7) As Rectangle

La relleno de esta manera con doble for como siempre hice

    Dim ancho As Integer = 50, alto As Integer = 40
    Dim x As Integer = 30, y As Integer = 30

     For i = 0 To 7 Step 1
           For j = 0 To 7 Step 1
                marcianitos(i, j) = New Rectangle(x, y, ancho, alto)
                x = x + ancho + 5
            Next j
            y = y + alto + 5
            x = 30
      Next i

Y aquí pinto:

      For j = 0 To 4 Step 1
            For i = 0 To 7 Step 1
                g.FillRectangle(brochaRellenoGris, marcianitos(j, i))
            Next i

        Next j

Haciéndolo con un array me funciona bien pero con matrices no, otro problema que quiero arreglar es el indicarle mejor el tamaño en el for en vez de poner el indice máximo.

Saludos y Gracias.


En línea



ignorantev1.1


Desconectado Desconectado

Mensajes: 617


/\ Así acabo cuando quiero programar...


Ver Perfil WWW
Re: Ayuda con matrices y como recorrerlas
« Respuesta #1 en: 10 Diciembre 2010, 23:26 pm »

es que en el ciclo 1 que corresponde a "i", el tope lo tienes en 7, y en la matriz el maximo es 3:

Código
  1.  
  2.  
  3.    Private marcianitos(4, 7) As Rectangle   '<--- el tamaño de X es 4 que va de 0 a 3, 3 es el maximo
  4.  
  5.    Dim ancho As Integer = 50, alto As Integer = 40
  6.    Dim x As Integer = 30, y As Integer = 30
  7.  
  8.     For i = 0 To 3  '<----- Tenias 7
  9.           For j = 0 To 6 '<---- el tamaño en Y de la matriz es 7 que va de 0 a 6
  10.                marcianitos(i, j) = New Rectangle(x, y, ancho, alto)
  11.                x = x + ancho + 5
  12.            Next j
  13.            y = y + alto + 5
  14.            x = 30
  15.      Next i
  16.  

No es necesario poner "step" cuando el incremento es "1"
...
No entiendo a que te refieres con el tamaño
te refieres a poner un indice maximo variable para el "for"?
Siendo asi tendrias que trabajar con matrices dinamicas:
Código
  1.    Dim ancho As Integer = 50, alto As Integer = 40
  2.    Dim x As Integer = 30, y As Integer = 30
  3.  
  4.   dim marcianitos() As Rectangle '<---- sin tamaño
  5.  
  6.    redim marcianitos(0 to lenX, 0 to lenY) as rectangle '<---Redimensionas la matriz para ajustarla al tamaño
  7.  
  8.     For i = 0 To lenX
  9.           For j = 0 To lenY
  10.                marcianitos(i, j) = New Rectangle(x, y, ancho, alto)
  11.                x = x + ancho + 5
  12.            Next j
  13.            y = y + alto + 5
  14.            x = 30
  15.      Next i
  16.  


« Última modificación: 10 Diciembre 2010, 23:29 pm por ignorantev1.1 » En línea

frekency


Desconectado Desconectado

Mensajes: 316



Ver Perfil
Re: Ayuda con matrices y como recorrerlas
« Respuesta #2 en: 10 Diciembre 2010, 23:29 pm »

Ostia pues llevo un ratazo mirandolo y era esa chorrada xD, lo del tamaño me refiero por ejemplo en un array lo haria asi

For i=0 to array.length

Pero en una matriz son dos dimensiones, quiero saber como especificar el tamaño de una dimension y el de otra
En línea



ignorantev1.1


Desconectado Desconectado

Mensajes: 617


/\ Así acabo cuando quiero programar...


Ver Perfil WWW
Re: Ayuda con matrices y como recorrerlas
« Respuesta #3 en: 10 Diciembre 2010, 23:35 pm »

utiliza
Ubound(MATRIZ, DIMENSION)
donde la matriz pues es... la matriz (gracias gracias no aplaudan) :¬¬
y la dimension pues es... la dimension, si se omite la dimension es "1" lo que equivale a X...etc etc

dimension  x  y  z
dim matriz(4, 5, 6) as integer
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Ayuda con matrices
Java
fileto 2 2,901 Último mensaje 13 Febrero 2009, 06:13 am
por fileto
Ayuda con matrices
.NET (C#, VB.NET, ASP)
sheccid65 0 2,486 Último mensaje 6 Febrero 2010, 19:44 pm
por sheccid65
Ayuda con matrices
Java
ArhennJosey 2 2,877 Último mensaje 7 Mayo 2010, 22:29 pm
por 1mpuls0
Puzzle Algoritmico de Matrices quien me ayuda a ver como puedo resolverlo?
Programación General
Riudo 1 1,951 Último mensaje 3 Mayo 2016, 19:55 pm
por MAFUS
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines