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

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

Закрытая тема
 
vfinsider

offline
Опыт: 740
Активность:
Массивы _ крафт предметов
У меня вопрос. Сидя разбираясь с массивами, пришел к идее.
Я вот сделал массив таким образом.
  set udg_I='I00B' 
// id рецепта
  set udg_IA2[udg_I]='I003'
  set udg_IA3[udg_I]='I00A'
  set udg_IA4[udg_I]=0
  set udg_IA5[udg_I]=0
  set udg_IA6[udg_I]=0
  set udg_IA7[udg_I]=0
  set udg_IA8[udg_I]='I00D'
// id всех его составляющих
Потом соотвественно вызываю функцию! при покупке рецептов.
  call Func('I003','I00A',0,0,0,0,'I00D')
которая совершает нунжные мне манипуляции.
Ладно суть вопроса заключается в следующем.
Оптимально ли сохранять в массивы данные под большими индексами?
(ведь в 10-ном виде 'I00B' большое число)?
Если вы поняли вопрос и лишь после этого пришли к выводу что это бред. Обьясните мне пожалуйста в чем заключается моя ошибка в рассуждении.
оформил код alpha

Отредактировано alpha, 07.02.2012 в 19:32.
Старый 07.02.2012, 17:27
Elf_Stratigo

offline
Опыт: 4,699
Активность:
описание функции Func не ясно
посчитай сложность своего алгоритма и дай себе ответ
udg_I='I00B' 
udg_IA2[udg_I]='I003'
именно так не получится сделать, однако можно сделать так:
udg_I='I00B'-'I000'
udg_IA2[udg_I]='I003'
Старый 07.02.2012, 17:36
vfinsider

offline
Опыт: 740
Активность:
я понимаю что это не то, что надо.
но как мне потом знать под каким индексом сохранен тот или иной предмет,
если сохранят все по порядку
set udg_I=1
//id рецепта
 set udg_IA2[udg_I]='I003'
 set udg_IA3[udg_I]='I00A'
 set udg_IA4[udg_I]=0
 set udg_IA5[udg_I]=0
 set udg_IA6[udg_I]=0
 set udg_IA7[udg_I]=0
 set udg_IA8[udg_I]='I00D'
//id всех его составляющих
//и так далее
set udg_I=udg_I+1
//для следующих предметов
а так я буду знать что под индексом конечного предмета сохранены все его составляющие.
set udg_I='I00B' 
//id рецепта
 set udg_IA2[udg_I]='I003'
 set udg_IA3[udg_I]='I00A'
 set udg_IA4[udg_I]=0
 set udg_IA5[udg_I]=0
 set udg_IA6[udg_I]=0
 set udg_IA7[udg_I]=0
 set udg_IA8[udg_I]='I00D'
//id всех его составляющих
оформил код alpha

Отредактировано alpha, 07.02.2012 в 19:32.
Старый 07.02.2012, 18:10
MF
Что-то вокруг не так
offline
Опыт: 26,594
Активность:
Ну а кто мешает сделать id рецепта как тебе написали ранее? Отнял 'I000' получил индекс массива. Прибавил - id рецепта.
Старый 07.02.2012, 18:51
vfinsider

offline
Опыт: 740
Активность:
ладно тему клоз нашел альтернативное и думаю правильное решение.
по крайне мере в доте так)
Старый 07.02.2012, 18:55
alpha

offline
Опыт: 7,387
Активность:
Пожалуйста, оформляй коды в сообщениях так, как это делают другие.
Ознакомься с информацией по форматированию
Примеры оформления можешь найти в след. темах:
Под сообщением жмешь на кнопку с заголовком "Цитата" и смотришь какие элементы разметки задействованы для оформления.
Все следующие сообщения от тебя с неоформленным как надо кодом будут награждаться.
Старый 07.02.2012, 19:35
ScorpioT1000
Работаем
offline
Опыт: отключен
Автору должно быть интересно: xgm.ru/p/wc3/about_int
Старый 08.02.2012, 00:30
Закрытая тема

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

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

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

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



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