Какой рейтинг вас больше интересует?
|
Что такое "Структура данных" и зачем она?2012-04-18 07:54:00 (читать в оригинале)Структуры данных были созданы еще в GameMaker 6, а то и раньше, для замещения стандартных массивов (array). На компьютерах структуры явно выигрывает в скорости; в яваскриптах особой разницы нет - всё равно прорисовка берет больше ресурсов - , но всё-таки они удобнее и функциональнее. Существует 6 видов структур данных:
С нашим "магазином" это выглядит так: стоит человек десять в очереди, и тут в магазин заходит Владимир Владимирович. Ясен пень, мы его пропустим вперёд :) вот, теперь он купит сосиски быстрее всех. Но вдруг входит Жириновский :D Мы его тоже пропустим вперёд, но ему придется подождать своих сосисок, ведь впереди него Путин ;) Только вот на магазине отрицательный приоритет не покажешь :) Ds_stack Ds_stack - это очередь наоборот. Здесь добавленная ячейка будет изъята первой. Сам я этой структурой не пользуюсь, поэтому про применеие ничего не могу сказать. Ds_list Моя самая любимая структура! Лист или список - это одномерный массив данных, из которого можно в произвольном порядке извлекать данные или добавлять значения в произвольное место в структуре. Также есть автоматическая сортировка, перемешивание, определение количества ячеек с данными. Применение списков очень широко. Без них нельзя было бы выбрать неограниченное количество юнитов в стратегиях (starcraft), стало бы затруднительно управлять большим количеством ресурсов. Ds_grid Говоря проще, ds_grid - это таблица. Без структур данных таблицу можно сделать и в виде двумерного массива, но эта структура несомненно удобнее, т.к.:
Ds_grid может применяться для генерации карт или более производительной проверки столкновений для крупных уровней с большим количеством столкновений. Также в сочетании с ds_map можно реализовать гибкий по возможностям инвентарь. Ds_map Ds_map по своей структуре больше напоминает *.ini файл. Это тоже список, но у каждой записи есть свой ярлычок с названием. Так можно хранить настройки игры или параметры предметов в инвентаре. Ds_map может хранить и одно значение, и несколько десятков. У каждого ярлыка тоже может быть несколько значений. Например: Есть кинжал. У него:
А вот священный меч:
Так же можно указывать заклинания (и даже случайным образом генерировать их во время игры). А еще делать постепенную прокачку юнитов или зданий нелинейным способом. В общем, много чего можно сделать :) Здесь я указал наиболее частые способы использования. В играх же могут применяться все виды структур данных. Можно их вкладывать друг в друга, создавая более сложные конструкции. Любую структуру данных можно сохранить в виде обычной строки, понятной только для гейм мейкера :) .
|
Категория «Люди»
Взлеты Топ 5
Падения Топ 5
Популярные за сутки
|
Загрузка...
BlogRider.ru не имеет отношения к публикуемым в записях блогов материалам. Все записи
взяты из открытых общедоступных источников и являются собственностью их авторов.
взяты из открытых общедоступных источников и являются собственностью их авторов.