Aplicar conocimientos aprendidos acerca de listas enlazadas y realizar un programa en flash cs5 para ilustrarlo con ejemplos y posteriormente subirlo a internet
Para este proyecto se utilizo el concepto de listas enlazadas simples, programa de flash cs5 y una página web.
LISTAS SIMPLES ENLAZADAS
Las listas enlazadas son estructuras de datos semejantes a los array salvo que el acceso a un elemento no se hace mediante un indice sino mediante un puntero. La asignación de memoria es hecha durante la ejecución. En una lista los elementos son contiguos en lo que concierne al enlazado.
En cambio, mientras que en un array los elementos están contiguos en la memoria, en una lista los elementos están dispersos. El enlace entre los elementos se hace mediante un puntero. En realidad, en la memoria la representación es aleatoria en función del espacio asignado. El puntero siguiente del último elemento debe apuntar hacia NULL (el fin de la lista). Para acceder a un elemento, la lista es recorrida comenzando por el inicio, el puntero siguiente permite el desplazamiento hacia el próximo elemento. El desplazamiento se hace en una sola dirección, del primer al último elemento. Si deseas desplazarte en las dos direcciones (hacia delante y hacia atrás) deberás utilizar las [ listas doblemente enlazadas]
Se trata de una aplicación de creación y manipulación de gráficos vectoriales con posibilidades de manejo de código mediante un lenguaje de scripting llamado ActionScript. Flash es un estudio de animación que trabaja sobre "fotogramas". Teniendo en cuenta este concepto podremos crear nuestras propias animaciones de "listas simples enlazadas". Para realizar esto realizaremos una Página WEB donde explicaremos los algoritmos básicos de listas simplemente enlazadas. De la siguiente manera:
i. crear una lista enlazada
ii. Listado
iii. Agregar nodo en la cabecera (como ejemplo varios nodos)
iv. Agregar un nodo al centro, si se puede
v. Agregar un nodo al final de la lista
vi. Quitar un nodo de la cabecera
vii. Quitar un nodo del centro
viii. Quitar el último nodo de la lista
Estos son los algoritmos básicos que contiene nuestro proyecto de flash cs5 y cada uno tiene su respectiva animación y respectivo código.
Esta es la imagen final de la aplicación en flash cs5.
El grafico ilustra una pantalla vacía donde ira nuestra animación en la parte inferior vemos una serie de botones los cuales al ser accionados nos mostraran las respectivas animaciones.
Animación de Botones
Los botones realizados en flash cs5 son botones animados los cuales nos permitirán comunicarnos con las respectivas acciones de las listas enlazadas simples.
El código de abajo nos muestra como está animado un botón esta animación no contiene el código que nos conectara con las imágenes animadas eso lo veremos después.
Algo que debemos tener encuentra es que todos los botones del proyecto tienen la misma animación. Se podría utilizar otras animaciones pero se vería un poco diferente si todos los botones hacen una animación separada.
Acciones de los botones
Las acciones de los botones son los que deberían mostrarnos las graficas que tenemos abajo es decir que al hacer click en un botón debería mostrarnos la animación del mismo y su respectivo código.
Para que un botón y una animación interactúen se debe agregar un serie de códigos para eso creamos una máscara la cual será exclusivamente para código.
Para eso seleccionamos la mascara y buscamos la siguiente flecha que se encuentra en la parte superior.
Una vez que ingresemos en la flecha nos aparecerá una pantalla en blanco donde deberemos ingresar la serie de códigos que necesitemos para animar nuestras imágenes
Para poder animar los botones ingresamos la siguientes líneas de código en la mascara que creamos lo cual nos permitirá animar los botones.
Algo que debemos tomar en cuenta es que para animar otro botón no es necesario crear otra mascara ya que podemos colocar el código de todos los botones en una sola mascara así será más como de manejar.
Pagina web
La página web será el medio por el cual subiremos nuestra aplicación ya terminada en flash a internet.
Para que nuestra página web pueda agregar nuestro programa de flash con todas sus funciones se siguen los siguientes pasos:
1) copiamos los dos archivos del flash que queremos jalar
2) pegamos los archivos en la carpeta de imágenes que tenemos la cual se encuentra en la página web que cree.
3) una vez ingresado los archivos debemos cambiar el código de nuestra página web. Como podemos ver en la imagen basta con cambiar la sección que esta seleccionada e ingresar el nombre de nuestro proyecto de flash en este caso es "lista.swf"
4) ahora ingresaremos a la pagina web.
La página debería aparecernos de la siguiente manera
Como se puede apreciar nuestra aplicación en flash ingreso correctamente a nuestra pagina web. Esto demuestra que se jalaron correctamente los archivos del flash caso contrario nos tendría que aparecer una pantalla en negro.
Código listas simplemente enlazadas
Ahora veremos el código que usamos como imagen para cada uno de nuestras animaciones en flash:
1.-crear una lista enlazada
public static nodo nuevo(){ nodo nuevo = new nodo(); nuevo.dato=leer("dato?: "); nuevo.sgte=null; return (nuevo); }
2.-Listado
public static class nodo { int dato; nodo sgte; } public static void listado(nodo mi){ while(mi!=null){ System.out.println("dato "+mi.dato); mi=mi.sgte; } }
3.-Agregar nodo en la cabecera
public static nodo add_cab(nodo z)
{ nodo a = nuevo(); a.sgte=z; return(a); }
4.-agregar nodo al centro
public static void add_centro (nodo cab1)
{ nodo nuevo1; int c1 = contar(cab1);
if(c1>=2) { nuevo1 = nuevo();
for(inti=1;i
cab1 = cab1.sgte } nuevo1.sgte=cab1.sgte;
cab1.sgte = nuevo1; } }
5.-Agergar un nodo al final de la lista
public void insertarUltimo(int x) { Nodo nuevo=new Nodo(); nuevo.info=x; if (raiz==null) { nuevo.sig=nuevo; nuevo.ant=nuevo; raiz=nuevo; } else { Nodo ultimo=raiz.ant; nuevo.sig=raiz; nuevo.ant=ultimo; raiz.ant=nuevo; ultimo.sig=nuevo; } }
6.- Quitar un nodo de la cabecera
public static void Eliminar(nodo cab) trowns IOException {cab1=cab;while(cab1.sgte!=null){cab2=cab1;cab1=cab1.sgte;}cab2=sgte=null;}
7.- Quitar un nodo del centro
public static nodo mitad(nodo cab1){int n = contar (cab1)nodo cab2;for (int i=0;i
8.-Quitar ultimo nodo de la lista
void eliminarUltimo(){if(primero.sgte==null){primero=primero.sgte;}else{Nodo temp=primero.sgte;Nodo aux=primero;while(temp.sgte!=null){temp=temp.sgte;aux=aux.sgte;}aux.sgte=null;}}
Autor:
Freddy Chura