Массив - это упорядоченный
набор данных. Каждый из элементов массива имеет уникальный номер (индекс),
который служит для однозначной идентификации элемента внутри массива. Таким
образом в одном массиве не может быть элементов с одинаковыми индексами. Предположим у нас есть необходимость хранить названия уровней нашей игры. Мы, конечно можем создать переменные в количестве соответствующем числу уровней и им присваивать названия уровней. Но гораздо проще создать один массив и его элементам назначить имена этих уровней. Массивы в языке BlitzBasic создаются с использованием ключевого выражения Dim, свойственного всем языкам на основе стандартного бейсика. Например, чтоб создать массив из 10 элементов, напишем следующую строку:
Эта строка кода нашей программы создает одномерный массив с названием 'arr' из 11 элементов начиная с 0 и заканчивая 10. Массивы в BlitzBasic могут быть любого базового типа либо пользовательского типа. Тип массива задается, как Вы уже наверно догадались при помощи специальных тэгов (tag)
Выше приведенная строка создает массив из 11 элементов для хранения чисел с плавающей точкой. Если тэг опущен, массив создается целочисленным. Размер массива может задаваться и изменяться в любом месте программы, при этом его элементы будут стираться. Размеры массивов могут изменяться и в пределах пользовательских функций, но создание массивов нужно производить в теле основной программы. Пример:
В данном примере в
начале программы создается массив distances и
функция test, которая, не мудрствуя лукаво присваивает
первому его элементу переданное ей значение в качестве аргумента. Мы выводим на
экран командой print distances(1)
значение этого первого элемента массива до вызова
функции и после него. Результаты говорят сами за себя. Этот пример вы можете
перенести в среду BlitzBasic и выполнить.
В примере создается строковый (
заметили тэг $ ?
) массив из 4 элементов от 0...3, и его элементам присваиваются названия
уровней в нашей игре, далее они последовательно выводятся на экран.
Организация списка начинается с ключевого слова
Type, все поля списка предваряются ключевым
словом Field и завершается список
зарезервированной командой End Type.
В выше приведенной программе уже имеется знакомая Вам структура (список) содержащая поля описывающие нашего монстра. Далее мы создаем экземпляр структуры в памяти с помощью команды New. С помощью этой команды можно создать еще парочку монстров. Выглядеть это будет так:
Гораздо более просто и наглядно не плодить переменные с разными именами Monster1, Monster2, Monster3 и т.д. а создать массив монстров. Безусловно вначале нам нужно знать сколько их будет в нашей игре. Допустим их 4. Смотрим пример:
Строка
Dim AllMonsters.monster(3) инициализирует массив
структур (списков) из трех элементов. Далее цикл создает три экземпляра объекта
monster и присваивает его элементам ранее
инициализированного массива. В этом же цикле мы
присваиваем полю MonsterName имя, которое
создается постоянной частью и прибавляемым индексом i,
меняющимся от 0 до 3. Это и есть
базовый подход к созданию большого числа объектов с
различными свойствами. | |||||||||
| |||||||||
Просмотров: 3359 | |
Всего комментариев: 0 | |