(Esta guía asume que tiene conocimiento sobre como funcionan las Condiciones y Acciones de Construct. Si no, vea la guía beginner)
¿Que es un Arreglo?
Básicamente, puede pensar en Arreglo (Array) como una lista ordenada de celdas; cada celda contiene un valor(un numero o texto). Un arreglo puede tener 1, 2 o 3 dimensiones, conocidas como x, y y z, también conocidas como ancho, alto y profundidad*.
Arreglo unidimensional
[Para avanzar junto a esta guía, descargue el archivo
animals_starter.capx]
[1] Vamos a crear una lista de cinco animales. Da click derecho o doble click en el layout e inserte un nuevo objeto "Array". Vamos a llamarlo "animals"
Ahora seleccione el arreglo en la ventana de objetos y veamos sus propiedades. El tamaño predeterminado del arreglo es de Ancho: 10, Alto: 1, Profundidad: 1. Solo queremos una lista para almacenar 5 animales, así que cambie el Ancho a 5.
Por defecto, todos los elementos se designan como cero (0); así que podemos imaginar que el arreglo se ve de esta manera:
(Por defecto, todos los valores se designan a 0)
La posición de la celda dentro del arreglo se llama indice (o Index). Los indices comienzan en 0, así que el indice de la primera celda es 0, y la ultima celda tiene ancho -1, o 4, en este ejemplo.
Asignar los valores
[2] Pongamos algunos valores al arreglo. Añada la condición "System: On start of layout" y la siguiente acción para asignar el valor de la primera celda a "cat":
Resultado:
Y el valor de la quinta celda a "dog":
Ahora el arreglo se ve así:
El debugger es muy útil para visualizar los datos en su arreglo. Si corre "Debug Layout" y selecciona el arreglo en el debugger, le mostrara todos los datos en el arreglo:
Continúe y llene el resto del arreglo:
Obtener los valores
Para acceder a los valores dentro de un arreglo, se usa la expresión:
[3] Añada un objeto de Botón y Texto al layout. Cuando de click al botón, el texto cambiara al primer animal en el arreglo.
Para hacer esto, lo asignamos a animals.At(0):
Si conocemos un valor y queremos encontrar su posición en el arreglo, podemos usar la expresión:
animales.IndexOf("perro") es igual a 4. Si queremos obtener el animal anterior a perro, podemos utilizar:
animals.At(animals.IndexOf("dog") - 1)
que nos arroja el resultado "rabbit"
Crear un bucle sobre el arreglo
Los arrays tienen un par de condiciones, "For each element" (Por cada elemento) y "Compare current value" (Comparar el valor actual); que nos permiten crear un bucle en el array, celda por celda, y que nos permiten inspeccionar cada valor. Cuando esto sucede, podemos utilizar las expresiones:
Array.CurValue - para obtener el valor actual
Array.CurX - para obtener el indice X actual
Array.CurY - para obtener el indice Y actual
Array.CurZ - para obtener el indice Z actual
Hagamos un bucle a través del arreglo de animales y que muestre cada valor dentro de él al anexar animals.CurValue a un objeto de texto.
[4.1]O podemos hacer el bucle de manera que cada vez que se encuentre la palabra "cat", se remplace con la palabra "lion":