Maker Island – Listas con FeatureCollection

FeatureCollection es un modelo que no nos permite muchas extensiones a menos que las sepamos utilizar con una lista.

Las Listas son un conjunto de elementos enumerados con un índice al que podemos acceder, insertar, eliminar.

En primer lugar, vamos a definir que dentro de el modelo de FeatureCollection. Como hemos visto antes a través del GeoJSON, FeatureCollection realmente consiste en una lista de elementos, ya sean marcadores u otros elementos de mapa como áreas pero al fin y al cabo, siguen siendo una lista.

Entonces vamos a cambiar de paradigma en el que en lugar de tratar al modelo FeatureCollection como una lista de texto GeoJSON, los vamos a tratar como una lista. Este modelo nos ayudará principalmente para hacer recorridos en bucle. Tal y como se ve en la imagen, podemos realizar un bucle en lista de los elementos que contiene nuestra lista de Zombies y calcular la distancia que existe entre el marcador de nuestro personaje ya sean 5 marcadores en la lista o 100.

De esta manera los bloques del programa se simplifican de esta manera.

Eliminar marcadores de la lista

Pero ahora queremos realizar una acción muy importante. Imaginemos que en lugar de convertir nuestro personaje en Zombie, la dieramos la vuelta al sistema y nuestro personaje se encarga de eliminar Zombies cuando los alcanza.

Entonces tendríamos que eliminar el marcador de la lista y actualizar el juego para que dejará de aparecer en el mapa y no volviera a considerarse dentro del bucle en próximas iteraciones.

Para ello, deberemos crear una variable como una lista de Zombies, manipular, actualizarla y controlarla en bucle ya que sus opciones son más extendidas.

En este punto del tutorial, ya podemos multiplicar nuestras modalidades de juego, ya que al tratar los marcadores de los Zombies como una lista, podemos manipularlos integrando más opciones de búsqueda, insertar nuevos Zombies a la lista, eliminarlos, etc… Puesto que los métodos asociados a las listas son más extendidos.

Cambiar un atributo de un marcador

Quizás no nos hayamos fijado, pero hasta este momento podemos repasar la lista de Zombies en un bucle, calcular la distancia, eliminar los Zombies que hayamos cazado, añadir otros Zombies no nos costaría mucho, pero… ¿Y si queremos cambiar el icono de un Zombie que acabamos de cazar para convertirlo en humano?

La verdad es que no existe un bloque directo para realizar esa acción. Así que vamos a mostrar cómo se haría.

El truco está en que y obtendríamos el componente marcador cuando la condición de la distancia se cumple.

Este elemento es capaz de acceder concretamente al atributo de cualquier marcador para definir el comportamiento que nosotros queramos. Así que en lugar de eliminar nuestro Zombie la cambiaremos su ImageAsset para transformarlo en uno de nosotros.

Acordaros de que los nombres de la imagen deberá coincidir con el que queramos cambiar nosotros en cualquier momento.

A partir de este momento, disponemos de todas las opciones que deseemos para construir nuestro formato de juego con las extensiones que queramos. Solamente tendremos que aplicar las ideas que más nos gusten.

Guión de ejercicios para crear tu aplicación con App Inventor.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

1 × tres =

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.