XGM Forum
Сайт - Статьи - Проекты - Ресурсы - Блоги

Форуме в режиме ТОЛЬКО ЧТЕНИЕ. Вы можете задать вопросы в Q/A на сайте, либо создать свой проект или ресурс.
Вернуться   XGM Forum > Warcraft> Академия: форум для вопросов
Ник
Пароль
Войти через VK в один клик
Сайт использует только имя.

Ответ
 
Vampirrr
O_o
offline
Опыт: 19,286
Активность:
Структуры - что это и зачем?
Собственно прописав "структуры" в поиске, выбило много заумных тем, которые не понятны мне. Поэтому прошу объяснить смысл использования структур, а так же их плюсы. Ну не помешает маленький примерчик джасс-кода)
Старый 03.01.2009, 14:29
zer0ne

offline
Опыт: 11,219
Активность:
http://xgm.guru/forum/showthread.php?t=19079
http://xgm.guru/forum/showthread.php?t=18742

все подробно и с примерами

added: ну и vJass мануал ...

Отредактировано zer0ne, 03.01.2009 в 15:44.
Старый 03.01.2009, 14:48
Vampirrr
O_o
offline
Опыт: 19,286
Активность:
zer0ne,
Цитата:
Собственно прописав "структуры" в поиске, выбило много заумных тем, которые не понятны мне.

если ты не можешь объяснить сам, то хоть читай внимательно что пишут в посте. Да и вообще, дают код, в котором говорят про таймеры..очень понятно для новичка..
Старый 03.01.2009, 15:20
zer0ne

offline
Опыт: 11,219
Активность:
Цитата:
если ты не можешь объяснить сам, то хоть читай внимательно что пишут в посте.

Если тебе не понятны те темы, то не знаю что ты поймеш
Цитата:
Да и вообще, дают код, в котором говорят про таймеры..очень понятно для новичка..

Что сложного в таймерах? И вообще если хочешь понять что такое структуры тебе необходимо знать пр таймеры
Старый 03.01.2009, 15:24
Vampirrr
O_o
offline
Опыт: 19,286
Активность:
zer0ne, ну до этого момента понял все, если объясняют люди с прямыми руками и правильной логикой.

Код:
struct spell
 unit caster
 unit target
 integer lvl
endstruct


извини, но какое средство мне в помощь, что бы понять это? для меня это всего лишь перменные. А из предшествующей коду строки:
Цитата:
Есть очень удобное макросредство в JassHelper, имя ему - struct. Хотя лично я пишу все сам ручками - это копирование примерно 15 строк кода и изменение нескольких символов, с другой стороны я извлекаю из этого некоторую выгоду, но к нашему рассказу это отношения не имеет.

я не могу ничего полезного подчерпнуть, ибо я не пойму при чем тут его ручки да и вообще, хоть русский язык очень гибок и позволяет создавать самые завороченные предложения, но у него тоже есть лимит! И Адольф его к сожалению пересек..

P.S.: в таймерах сложного ничего..
Старый 03.01.2009, 15:36
Лось

offline
Опыт: 7,223
Активность:
Структура - это объект, переменные(которые в структуре) - это его свойства, например:
Код:
struct Chelovek // Объект человек
    real rost // Рост
    real ves // Вес
    string name // Имя
endstruct

Можеш скачать книжку про Объектно Ориентированное Программирование, для большего понимания.
В vJass'e это параллельные массивы, сама локальная переменная - индекс этих массивов, то есть интегер, его можно сторить на хэндлы объектов кэшем или ещё чемнибуть.
Похожая тема - http://xgm.guru/forum/showthread.php?t=21152
Старый 03.01.2009, 15:50
ShadoW DaemoN

offline
Опыт: 37,078
Активность:
Vampirrr, эмм... Почему ты создаешь в академии вопросы сугубо Jass-овского характера?

Структуры - грубо говоря, параллельные массивы. То есть:
Код:
struct spell
  unit caster
  unit target
  integer lvl
endstruct

будет выглядеть примерно так:
Код:
globals
  // struct spell:
  unit array spell_caster
  unit array spell_target
  integer array spell_lvl
  // . . .
endglobals

// Generated allocator of struct spell:
// здесь функция выделения уникального индекса для структуры

// Generated destructor of struct spell:
// здесь функция освобождения индекса структуры


http://xgm.guru/forum/showthread.php?p=493766&postcount=9 - вот неплохой показательный пример, как можно делать MUI-спеллы через структуры.
Старый 03.01.2009, 15:51
Vampirrr
O_o
offline
Опыт: 19,286
Активность:
ShadoW DaemoN, Лось, благодарю, ну вот что-то более-менее доступное, буду разбирать. Кстати, пардон за нубский вопрос, но что такое MUI? Триггерные спеллы?
Старый 03.01.2009, 16:05
Лось

offline
Опыт: 7,223
Активность:
MUI заклинание - которое могут применять несколько юнитов одновремеено.
Старый 03.01.2009, 16:08
Vampirrr
O_o
offline
Опыт: 19,286
Активность:
Лось, спс

Vampirrr добавил:
Код:
struct myspell
  integer a
  boolean b
  real c
  // . . .
endstruct

globals
  myspell array myspells
  integer count = 0
endglobals


как я понял, мы превращаем переменные из структуры в массивы?
Старый 03.01.2009, 16:24
Лось

offline
Опыт: 7,223
Активность:
Нет, это массив структур.
Старый 03.01.2009, 16:35
Hellfim
Новичок
offline
Опыт: 79,707
Активность:
Лось, т.е. это просто упорядоченное собрание массивов условно говоря?
Старый 03.01.2009, 16:46
Ответ

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы можете скачивать файлы

BB-коды Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход



Часовой пояс GMT +3, время: 11:57.