FREEZE_ball
Cataclysm => жара
offline
Опыт:
15,247Активность: |
[cJass] 2D массивы by FB.
Требования:
WarCraft III от версии 1.24b JNGP самой последней версии. cJass самой последней версии. Эта система предназначена для лёгкого и быстрого создания лёгких двумерных массивов. Предназначена для простых систем, для которых использовать XAT - муторно, HASH - тормознуто, SCV - поздновато. Позволяет быстро подставить переменную любого типа (инициализированного при помощи дефайна) на две переменных (двумерные координаты x и y). Для этого используются стандартные одномерные массивы вк3. Это значит, что максимальный размер массива равен x*y <= 8192 Т.е., вы можете создать массив 90*91, можете 8192*1, 4096*2 и т.д. Главное, чтобы произведение не было больше 8192, хотя если так и будет, система просто выдаст ошибку. Сейчас вы спросите, для чего это, что ты за мудозвон и баянист и т.д.. Объясню. Эта система - быстрая и лёгкая, позволяет аттачить любой тип переменной без килобайт ненужного кода на два (или один, если одна из координат массива равна единице) интегера. Да, для совсем уж сложных систем можно юзать XAT/HASH+struct. Но это - ненужная сложность для маленьких системок. И уж тут моим двумерным массивам нет равных. Просто взгляните на карту-пример, чтобы понять это. Хоть там и есть много ненужного кода, вы разберётесь. Перейдём к следующей части. Использование. Из карты просто возьмите этот кусок кода: Код:
И это вся система =) Её можно ещё больше упростить, подогнать под себя, но это уже упирается только в ваше желание. Инициализация не менее проста. Код:
Такой дефайн можете прописать сколько угодно раз внутри вашей library, scope или просто так. В последнем случае тип приватности ставить нельзя, оставьте там пробел. Дальнейшее использование проще ещё в три раза. Код:
Более подробно вы можете посмотреть в карте-примере. Удачного использования =) FREEZE_ball, 2009. For XGM.ru |
15.09.2009, 20:51 | #1
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
ScorpioT1000
Работаем
online
Опыт: отключен
|
я не пойму, зачем это нужно.. массив динамически реаллочить нельзя(у тебя). Статики и так уже давно есть у jngp |
15.09.2009, 20:55 | #2
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
FREEZE_ball
Cataclysm => жара
offline
Опыт:
15,247Активность: |
ScorpioT1000, вот уж не знаю, мне было очень удобно её использовать.
Насчёт статиков - они мне не нравятся. Хоть бы example скачал для приличия =) |
15.09.2009, 21:07 | #3
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Van Damm
wait... what?
offline
Опыт:
22,268Активность: |
боян бо вещий ибо в vJass векс такое уже сделал и намного удобнее :3 |
15.09.2009, 22:24 | #4
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
FREEZE_ball
Cataclysm => жара
offline
Опыт:
15,247Активность: |
Ох уж критики ^^ . Ладно, забудьте, каждому своё.
Но хоть скачали бы тестовую карту, там красивые эффекты есть *THUMBS UP* |
15.09.2009, 22:55 | #5
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
adic3x
offline
Опыт:
108,439Активность: |
логика автора является для меня непостижимой, от сабжа толку 0 |
15.09.2009, 23:01 | #6
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
ZeToX2007
offline
Опыт:
7,009Активность: |
-1, это не нужно... тем более это уже есть.
По поводу Хештаблиц, они достаточно быстрые... а самое быстрое это ZeDCS. |
16.09.2009, 01:43 | #7
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Van Damm
wait... what?
offline
Опыт:
22,268Активность: |
^ реклама |
16.09.2009, 01:47 | #8
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
FREEZE_ball
Cataclysm => жара
offline
Опыт:
15,247Активность: |
Van Damm, это ещё один способ сохранения переменных, я бы сказал так.
этот способ называется "через жопу" - прим. Адик Отредактировано ADOLF, 16.09.2009 в 10:57. |
16.09.2009, 07:29 | #9
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|