duda con matrices
hola a todos, tengo el siguiente problema.
kiero hacer una programa con matrices que simule un tablero con leds, el cual debe ir pasando palabras.
digamos q tengo una matriz de 40x12 en la cual yo al ingresar un texto en el programa , me tome los datos y los escriba en la matriz, no se si me explico.
algo como:
OOOOOOXXXXXXOO
OOOOOOXOOOOOO
OOOOOOXXXOOOO
OOOOOOXOOOOOO
OOOOOOXOOOOOO
BUENO, trate de simular una F, la idea es darle una especie de efectos, que se mueva para la izquierda o derecha o de arriba hacia bajo , etc.
como lo hago, algun consejo please,???
gracias de antemano
kiero hacer una programa con matrices que simule un tablero con leds, el cual debe ir pasando palabras.
digamos q tengo una matriz de 40x12 en la cual yo al ingresar un texto en el programa , me tome los datos y los escriba en la matriz, no se si me explico.
algo como:
OOOOOOXXXXXXOO
OOOOOOXOOOOOO
OOOOOOXXXOOOO
OOOOOOXOOOOOO
OOOOOOXOOOOOO
BUENO, trate de simular una F, la idea es darle una especie de efectos, que se mueva para la izquierda o derecha o de arriba hacia bajo , etc.
como lo hago, algun consejo please,???
gracias de antemano
Hola;
te comento lo que se me ocurre si tuviera que hacer algo así:
Primero dibujaría prolijito, en papel cuadriculado, cada letra, número, signo de puntuación y lo que vaya a usarse para escribir en esa "marquesina". De modo que cada caracter (en adelante "letra") ocupe un mismo espacio (la marquesina sería "monoespaciada" :). Quizás, después de que esté funcionado, puede que resulte "proporcional", depende de cúanto haya...
Entonces, cada letra quedaría definido por una matriz rectangular de puntos, distribuidos en filas y columnas.
La "marquesina" también es una matriz de puntos más grande, capaz de contener a las matricitas que son las letras.
Para pensar el programa hay que concentrarse en cómo hará para pintar cada letra: columna a columna, o fila por fila (de las dos maneras).
Por ejemplo, si todas las letras forman un array de estructuras, cada "pixel" de cada letra se podría referenciar como:
letra[0].pixel[0][0]; y así con cada una.
Bien, cuando consiga escribir algo en la marquesina, y después de celebrarlo, vendría la etapa de hacerlas caminar: que las letras puedan desplazarse hacia la izq, der, arr, y abjo.
Aquí habría que determinar la configuarción final de la marquesina después de un corrimiento de un pixel hacia donde sea (columna a columna o fila a fila) y después pintarla de golpe, porque si nó va a verse como una porquería, ¿no es cierto?
Otra cosa a tener en cuenta: el tiempo que tarde cada transformación: Acá yo pondría un timer que me permita ir variando el "delay". Se hace necesario para ver cómo va quedando (sin "delay" se vería todo blanco);5 y después que quede como control para el usuario.
Por último, lo embolveria para regalo con un bonito moño.
Alejandro
te comento lo que se me ocurre si tuviera que hacer algo así:
Primero dibujaría prolijito, en papel cuadriculado, cada letra, número, signo de puntuación y lo que vaya a usarse para escribir en esa "marquesina". De modo que cada caracter (en adelante "letra") ocupe un mismo espacio (la marquesina sería "monoespaciada" :). Quizás, después de que esté funcionado, puede que resulte "proporcional", depende de cúanto haya...
Entonces, cada letra quedaría definido por una matriz rectangular de puntos, distribuidos en filas y columnas.
La "marquesina" también es una matriz de puntos más grande, capaz de contener a las matricitas que son las letras.
Para pensar el programa hay que concentrarse en cómo hará para pintar cada letra: columna a columna, o fila por fila (de las dos maneras).
Por ejemplo, si todas las letras forman un array de estructuras, cada "pixel" de cada letra se podría referenciar como:
letra[0].pixel[0][0]; y así con cada una.
Bien, cuando consiga escribir algo en la marquesina, y después de celebrarlo, vendría la etapa de hacerlas caminar: que las letras puedan desplazarse hacia la izq, der, arr, y abjo.
Aquí habría que determinar la configuarción final de la marquesina después de un corrimiento de un pixel hacia donde sea (columna a columna o fila a fila) y después pintarla de golpe, porque si nó va a verse como una porquería, ¿no es cierto?
Otra cosa a tener en cuenta: el tiempo que tarde cada transformación: Acá yo pondría un timer que me permita ir variando el "delay". Se hace necesario para ver cómo va quedando (sin "delay" se vería todo blanco);5 y después que quede como control para el usuario.
Por último, lo embolveria para regalo con un bonito moño.
Alejandro
