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

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

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

offline
Опыт: 18,872
Активность:
Цитата:
ооп есть зло, есть вЖасс, там есть ооп и оно тоже зло (медленее/корявее)

не ожидал услышать от тебя такого. раньше ты говорил совсем иначе. =)
vJass - зло, но ооп как таковое оч. даже неплохо. медленее функционального прогр-я, однако использование ооп оправдывается его дотошностью, что ли?
Старый 19.02.2009, 12:54
adic3x

offline
Опыт: 108,439
Активность:
Цитата:
1. Можно ли отрисовать панельку с описанием предмета\заклинания самому? (т.е. по своим координатам и с заданным текстом)

нет, более чем геморно

Цитата:
2. Встречал в РО обращение к переменным обьекта ввиду <RAW_CODE,DATA_Field> это сработает в триггере?

нет, только в дескрипшинах

свдн, ты не против если я у тя тут разведу холивар? ;)

Цитата:
концепция ООП как раз и позволяет создать видимость упрощения кучи вещей


я не против обьеденения данных рядом, я не против "полиморфизма", когда адрес некоторой процедуры также обьеденяеться с этим, я не против написания интерфейсов, когда пользователю предлагаеться простой код, который он может вызывать и т.д.

я против того, когда это преподноситься как "нечто супер пупер" (к примеру от одной мысли что в сирешоточке косинус насколько я знаю являеться методом класса меня начинает воротить, ведь это всего напросто команда сопроцесора), простое и крутое и т.д. на факте по времени/трудозатратам опп против процедурного подхода идет 1 к 1 (в жассе и вЖасс в частности)

мораль моего поста может быть простой: опп нужен далеко не везде, много где он вреде, и в жассе в большенстве случаев тоже (я писал огромное кол во кода, где решал задачи, которые буржуи рекомендуют решать с помощью ооп более ефективно и просто, это факты)
Старый 19.02.2009, 13:06
APXEOLOG
Прощай XGM, удачи тебе.
offline
Опыт: 1,015
Активность:
Цитата:
мораль моего поста может быть простой: опп нужен далеко не везде, много где он вреде, и в жассе в большенстве случаев тоже (я писал огромное кол во кода, где решал задачи, которые буржуи рекомендуют решать с помощью ооп более ефективно и просто, это факты)


Истинно так. Но вот например я сейчас пытаюсь разработать систему в которой смогу полностью рассчитывать все параметры заклинания динамически. И заклинание на этой системе будет не 1 и не 2, а много больше. Так что я думаю мне выгоднее написать структуру, чем на каждое заклинание переписывать кучу обрабатывающих функций.

APXEOLOG добавил:
Цитата:
более чем геморно


И тем не менее? Имхо любой гемор можно свести в одной функции, если хорошо организовать алгоритм.
Старый 19.02.2009, 13:20
adic3x

offline
Опыт: 108,439
Активность:
Цитата:
И тем не менее? Имхо любой гемор можно свести в одной функции, если хорошо организовать алгоритм.

есть либа жоника (ДГУИ, искать в барахолке), ее впринципе мона юзать для отрисовки рамочки, текст рисовать не так сложно (либо обычный вывод текста, либо тт месаги)

я честно говоря не совсем понял задачу которую ты ставишь перед собой, поэтому ничего сказать немогу
Старый 19.02.2009, 13:34
APXEOLOG
Прощай XGM, удачи тебе.
offline
Опыт: 1,015
Активность:
Вот еще задача: Необходимо выполнить определенное действие как только функция вернет true (а вернет она его через какое-то время) и при этом не хотелось бы регистрировать это на триггер.

Представляю себе конструкцию вида:

функция Ч
пока (А != тру) ждать
если (а = тру) то
выполнять дейтсвия
конец условия
конец функции

APXEOLOG добавил:
Цитата:
я честно говоря не совсем понял задачу которую ты ставишь перед собой, поэтому ничего сказать немогу


динамически изменяемые параметры заклинания (КД, дамаг, радиус....) + вывод динамической подсказки (с оставшимся КД, текущим дамагом....)
Старый 19.02.2009, 13:37
adic3x

offline
Опыт: 108,439
Активность:
Цитата:
Вот еще задача: Необходимо выполнить определенное действие как только функция вернет true (а вернет она его через какое-то время) и при этом не хотелось бы регистрировать это на триггер.

ну это анивей таймер (ибо слип в цикле в жасс - зло)

если это сторонний поток то ты должен в переидическо вызываемой фции отлавливать состояние бульки-флага

Цитата:
динамически изменяемые параметры заклинания (КД, дамаг, радиус....) + вывод динамической подсказки (с оставшимся КД, текущим дамагом....)

ну составь норм бд на массивах и живи счастлива
Старый 19.02.2009, 13:55
APXEOLOG
Прощай XGM, удачи тебе.
offline
Опыт: 1,015
Активность:
Цитата:
ты должен в переидическо вызываемой фции отлавливать состояние бульки-флага


Еще один таймер? Приведи пример (можно алгоритмический), я никак не могу себе представить эту систему разделения потоков.

Цитата:
ну составь норм бд на массивах и живи счастлива


В каком смысле БД? я же все равно буду брать значения из этой БД для заклинаний. А самое трудно (имхо) - просчет КД, над чем я сейчас и работаю.
Старый 19.02.2009, 14:06
adic3x

offline
Опыт: 108,439
Активность:
Цитата:
Еще один таймер? Приведи пример (можно алгоритмический), я никак не могу себе представить эту систему разделения потоков.

Код:
globals
 boolean b=false
endglobals

function per takes nothing returns nothing
 if b then
  call DestoyTimer(GetExpiredTimer())
  // your any action there
 endif
endfunction

// --->
 call TimerStart(CreateTimer(), 1., true, function per)
// <---
Старый 19.02.2009, 14:19
APXEOLOG
Прощай XGM, удачи тебе.
offline
Опыт: 1,015
Активность:
О, спасибо =)

===
Отменяю вопрос о коде, просто счетчик был не обьявлен)

APXEOLOG добавил:
Вооопрос: можно ли тригерно изменить иконку заклинания? (или переключить на пассивную)
Старый 19.02.2009, 15:05
alexkill

offline
Опыт: 18,872
Активность:
Цитата:
можно ли тригерно изменить иконку заклинания? (или переключить на пассивную)

можно триггерно менять способность
Старый 19.02.2009, 15:08
APXEOLOG
Прощай XGM, удачи тебе.
offline
Опыт: 1,015
Активность:
Хм логично. Но вот в чем тогда вопрос - способность у меня родная (при старте дается), если я ее удалю (чтобы заменить другой) а потом добавлю, она будет считаться родной (т.е. я смогу ее повышать за очки уровней)?
Еще вопросик: 12 глобальных массивов повлияют на скорость игры? или только на размер памяти, выделяемой варкрафту в оперативе?)

Отредактировано APXEOLOG, 19.02.2009 в 16:44.
Старый 19.02.2009, 15:18
ShadoW DaemoN

offline
Опыт: 37,078
Активность:
APXEOLOG, пиши пожалуйста каждый новый вопрос (или группу вопросов на схожую тематику) в новой теме.

Насчет кода - возможны два варианта правильного написания.
Код:
struct Test
  real A
  real B

  method Sum1 takes nothing returns nothing
    set this.A = this.A + this.B
  endmethod

  method Sum2 takes nothing returns nothing
    set .A = .A + .B
  endmethod
endstruct

I prefer the second notation.

Массивы будут занимать память, если в них будет произведена запись.
Не думаю, что массивы сами по себе влияют на скорость игры. Влияет только чтение и запись.

Отредактировано ShadoW DaemoN, 19.02.2009 в 16:51.
Старый 19.02.2009, 16:46
alexkill

offline
Опыт: 18,872
Активность:
Цитата:
Сообщение от APXEOLOG
12 глобальных массивов повлияют на скорость игры?

нет

свдн, он просто имя структуры не объявил, потому ошибка была.
Старый 19.02.2009, 16:52
Закрытая тема

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

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

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

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



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