Карта, демонстрирующая реализацию кастомного управления для варкрафта.
Тема
20 4 640
24
Clamp, каждый волен делать со своим временем что ему заблагорассудится, я просто объяснял свою точку зрения - почему я считаю это занятие достойным третьего трудового разряда по сверлению зубов дракона через его же анус.
30
prog, написание на Jass доставляет мне некое удовольствие, хотя я даже не могу описать его причину :3
Одним из его аспектов является то, что весь код я пишу в Sublime Text 3, и почти всегда при переносе в редактор всё компилится с первой попытки. Как по мне, так это дорогого стоит!
24
При использовании наследования и при работе с общими интерфейсами так и есть.
В обе стороны?

Относительную универсальность алгоритмов, паттернов и наборов принципов вроде SOLID и GRASP никто оспаривать не собирается, я говорю исключительно об эффективности использования времени в ходе практической реализации алгоритма.
30
От одного структурного типа к другому, если типы совместимые.
При использовании наследования и при работе с общими интерфейсами так и есть.

о получении специфичного опыта взаимодействия со средой
В целом - да, это справедливое замечание. Тем не менее, мой опыт показал, что алгоритм - вещь платформонезависимая, следовательно, нет никакой разницы, в какой среде алгоритм реализовывать, главное правильно определить уровень абстракции.
Ну и я всё-таки не только в вц что-то делаю, не надо совсем уж так обобщать =(
24
Clamp, ок, значит полиморфизм и интерфейсы есть, были с ними проблемы в тех версиях v-jass которые мне на глаза попадались, а потом я забил.
А есть тайпкастинг между структурами, не требующий реализации дополнительных методов? От одного структурного типа к другому, если типы совместимые. С жесткой проверкой совместимости типов, а не через универсальный инт, офк.
Что касается абстрактных классов - не критично, особенно при наличии интерфейсов и возможности по работать напильником.
Да, признаю, какое-никакое подобие ООП в наличии, раньше хуже было.

Но есть же еще вторая часть в моем сообщении, которая о получении специфичного опыта взаимодействия со средой (не в смысле IDE, а в более общем). В невозможном идеале среда обучения на 100% совпадает с будущей средой реального применения - это позволяет использовать весь спектр полученных навыков. На втором месте - разнообразие различных актуальных сред на этапе обучения, что повышает шансы попасть в ситуацию из предыдущего пункта, а также добавляет кучу материала для анализа и сравнения, на чем можно здорово выехать в ряде ситуаций. Ну и только после этого идут специфичные среды вроде вара3, ценность которых именно в специфичности и расширении кругозора.
30
Полиморфизм
раскрыть
type agent  extends handle
type widget extends agent
type unit   extends widget
type item   extends widget
© common.j

// For example
native GetWidgetLife takes widget whichWidget returns real
void foo(unit U, widget W) {
    GetWidgetLife(W);   // Valid usage
    GetWidgetLife(U);   // Valid usage as well 
}
Чем не полиморфизм?
В структурах при использовании наследования можно передавать дочерний тип вместо родительского.

явный и неявный тайпкастинг
Под явный легко ложатся все нативные функции A2B(), кроме того, никто не запрещает писать кастомный функционал приведения типов (I2B(), например). При использовании структур всякие очевидные .toString().
К неявному можно отнести взаимозаменяемость int и float в некоторых ситуациях. При использовании структур vJass они очевидным образом кастятся в int.

интерфейсы

абстрактные классы
Вот с этим довольно туго, надо признать, только интерфейсы
24
Почему бы и не считать это нормальным ООП? Темплейтов нету?
Полиморфизм, явный и неявный тайпкастинг, интерфейсы, абстрактные классы?
30
prog, а кто сказал, что во главе угла должно стоять ООП?
Кроме того, независимо от внутренней логики работы vJass написанные на нём объектные модели работают адекватно, хотя и имеют некоторые ограничения в реализации. Почему бы и не считать это нормальным ООП? Темплейтов нету?
24
Clamp, полноценного ООП в джасе не запилить, только ООП-подобные костыли. Опыт по поведению конкретных движков и компиляторов, порой весьма своенравных, тоже не получить.
Создание героя, который волею судеб не был создан до завершения конкурса героев для Dota2.
WIP-0.
Тема
8 2 121
30
Героя посмотрю как вернусь
Это не особо скоро, как я понимаю? Герой ATM доделан не до конца, как видно из надписи "WIP", но к концу TI, полагаю, будет завершён.
Хотя бы код критиковать будешь до этого? :D
сразу скажу: придумать героя у которого все способности связаны-перевязаны проще всего [...]
С механиками и пониманием юзабилити у меня пока что вроде как неплохо, всё-таки давно уже не любитель.
Энивей, спасибо за замечание =)

Sylvanas, если честно, то даже не знаю что и ответить =/