Array Object part1

player:
Фривольный перевод статьи с wiki.
Объект array – позволяет создавать, загружать, сохранять и работать в Construct’e c 1-3’мерными массивами (array’s). Которые можно использовать - для упорядочивания информации, в частности связанной с объектами расположенными на уровне, т.е. для хранения различных значений - как числовых, так и строк. Проще говоря, образно, это что-то типа таблицы, каждая ячейка которой имеет свой фиксированный индекс(ы) и через этот индекс в нее можно вносить/считывать нужную информацию.
Array( x, y, z ):
Изображение
Важно отметить, что массивы в Construct индексируются с 1 а не с 0 (т.е. первый индекс - 1). (В отличие, от массивов на python и некоторых других языках, у которых первый индекс обычно - 0).

ПримерДля примера (list, pyth.) :
data = [[“Будапешт ”, “Город”], [“Бельгия ”,” Страна”],[“Земля”, “Планета”]]
data[0][0] – Будапешт
data[0][1] – Город
data[1][0] – Бельгия
data[1][1] – Страна

На событиях же будет:
data(1, 1) - Будапешт
data(1, 2) – Город
data(2, 1) – Бельгия
data(2, 2) – Страна
Изображение
Любые данные выходящие за границы массива автоматически пропадают (отсекаются). Для того чтобы увеличить размер массива можно использовать соответствующее действие : “Set Size” (установить размер) (Или назначить размер вручную в Properties (свойствах.
Properties (Свойства):
Изображение
Width (X): Длинна массива. (фривол: Кол-во ячеек в ряду. )
Height (Y): Высота массива. (фривол: К-во ячеек в графе (столб-х.
Depth (Z): Глубина. (фривол: К-во табл. )
Mem usage: : показывает, сколько приблизительно памяти использует массив. Очень важный показатель, особенно при работе с массивами, содержащими большое кол-во значений.
Conditions (Условия).
Изображение
Compare:
Compare value at X : Сравнить значение (value), со значением находящимся в массиве по индексу X. ( ячейке )
ПримерЕсли: Array(2) = Value -> совершается действие.
Изображение
array_compare_x.cap

Compare value at X,Y : Сравнить значение, со значением находящимся в массиве на X,Y.
Пример

Если: Array(3, 2) = Value -> Действие
Изображение
 ПримерЕсли: Array(3, 1, 2) = Value -> Действие.
Изображение
For Each:
For each element: Программа совершает один цикл по всем элементам массива. (Просматривает все ячейки таблиц(ы.
array_for.cap

Actions (Действия).
Изображение
Files :
Save to file: Сохранить массив в файл.
Load from file: Загрузить массив из файла.
Values (Значения) :
Clear array : Очистить все ячейки массива. (По умолчанию: 0 )
Set value at X :Занести значение в ячейку массива под индексом X.
Set value at X,Y: Занести значение в ячейку массива под индексом X,Y.
Set value at X,Y,Z: Занести значение в ячейку массива под индексом X,Y,Z.
 Пример
array_set_x.cap

array_set_xyz.cap

Set size: Установить размер массива. X, Y, Z. Учтите что если назначить 0 для X, Y или Z – вы не сможете записывать информацию в массив.
Expressions ( Выражения ).
Изображение
For Each (в основном актуально для циклов) :
Get current X: Получить координаты (индекс ) X – ячейки, с которой программа взаимодействует в данный момент.
Get current Y: Получить координаты текущей ячейки по Y.
Get current Z: Получить координаты текущей ячейки по Z.
Size ( Размер ) :
Get X size: Получаем длину массива по X
Get Y size: Получаем длину массива по Y
Get Z size: Получаем длину массива по Z
Values :
Get value at X: Получаем значение занесенное в массив по индексу X
Get value at X,Y: Получаем значение занесенное в массив по индексу X, Y
Get value at X,Y,Z: Получаем значение занесенное в массив по индексу X, Y, Z
Практическое применение array:
В пример можно привести редактор карт от mov ax 10h или Simple Map Editor, пример с изометрией, или даже пример передачи значений с уровня на уровень из темы про очки.
Надеюсь кому-то инфа пригодиться.