28

» WarCraft 3 / Событие A unit comes within range of unit

не советую использовать подобное событие
особенно в динамических триггерах
28

» WarCraft 3 / Способности и алгоритмы на заказ

в крайнем случае Jazz
Jazz?
это типо запихнуть кучу музыкантов в карту и сказать им играйте джазз?
28

» WarCraft 3 / GetWidgeLife(...), GetUnitState(...)

GetWidgetLife по идее работает на 0,000001 секунды быстрее т.к. GetUnitState при получении хп обращается к GetWidgetLife
28

» WarCraft 3 / Castle Melee Wars

GeNr1x, я не прошу тебя настолько проработать но хотябы на уровне мили или той же доты
и потом прочти шаблон оформления
28

» Divine Joker / Spell "Энтропия смерти"

можно просто ауру рыцаря смерти с отрицательным регеном юзать
28

» WarCraft 3 / Наименование функций и переменных

DracoL1ch, бывает так что когда что то делаешь вспоминаешь что нечто похожее делал несколько месяцев назад и можно просто скопипастить оттуда кусок но для этого нужно понять какой кусок копипастить и что в нём поменять чтобы всё работало
давным давно когда я называл переменные в алфавитном порядке у меня была с этим куча проблем
28

» WarCraft 3 / Наименование функций и переменных

Принятый ответ
название KillUnit не совсем подходит
я бы назвал killUnitFromUnit или просто killFromUnit
Пушистый, а можно проще
define KillUnit(a) = KillUnit2(a)
по поводу правил
название должны соответствовать выполняемой функции
например если логическая переменная хранит жив юнит или нет то называться она должна isAlive или как то так
+ различные правила написания для различных языков
например в java первое слово в названии функции/переменной пишется с маленькой буквы а остальные с большой, а в названиях классов все слова с большой
в jass официальных соглашений нету но близы писали в функциях каждое слово с большой а константы большими буквами разделяя слова _
28

» WarCraft 3 / Castle Melee Wars

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

» WarCraft 3 / Момент полного удаления боевой единицы из игры

Naadir, воскрешение это светлая магия и она просто воскрешает мёртвых
гальванизация же превращает мёртвых в особый вид нежити попутно промывая им мозги
28

» WarCraft 3 / JASS: Курс молодого бойца

Качество современных программ, разумеется.
я имел ввиду с чего ты взял что правильное проектирование устраняет все баги
в проектировании (практическом а не теоретическом) есть такое понятие как стоимость решения
которое представляет собой соотношение + этого решения к затратам на реализацию
в теоретическом проектировании можно разработать идеальную систему без багов
но на практике архитектура и качество алгоритмов зависят от сроков дедлайна
и основная задача при проектировании это сделать так чтобы:
  1. было как можно меньше багов
  2. код был как можно более модульным и легко расширяемым
  3. можно было написать по за отведённое время
причём 3 пункт является самым важным
28

» WarCraft 3 / Аддон и мод

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

» WarCraft 3 / Аддон и мод

Morkoffka, аддон и мод требуют наличие оригинальной игры или её компонентов(иногда их установка включается в установку аддона)
это определение
28

» WarCraft 3 / Аддон и мод

Morkoffka, с каких пор количество бинарников используется для измерения ресурсов игры?
28

» WarCraft 3 / Аддон и мод

Bender2000, согласно твои словам ледяной трон и более 50% всех аддонов это не аддоны
Bender2000:
есть иоды с собственным движком.
нету
если работает отдельно от оригинала то это уже не мод а отдельная игра
28

» WarCraft 3 / Аддон и мод

Ледяной трон настолько глобальный аддон, что я бы назвал его следующей частью игры
Ледяной трон небольшой аддон т.к. добавлено лишь несколько новых юнитов и 4 кампании
есть аддоны которые добавляют целые фракции кучу кампаний
Morkoffka:
Может быть аддон это полностью автономный мод?
аддон не является автономным
это именно дополнение которое не будет работать отдельно от оригинальной игры
28

» WarCraft 3 / Аддон и мод

примером аддона может быть тот же ледяной трон
Bender2000, любое дополнение полностью меняет баланс игры
28

» WarCraft 3 / Аддон и мод

Morkoffka, моды не обязательно изменяют существующие ресурсы
по сути аддон это мод который не вносит существенных изменений в существующие ресурсы и концепцию игры и является довольно объёмным (добавление юнита "супер вася" не является аддоном, а вот фракция супервась с собственной кампанией может быть аддоном)
так же некоторые считают что аддоном может только официальный продукт
Union Of High Elves это неофициальный аддон
28

» WarCraft 3 / JASS: группа или массив?

Тем не менее, не вижу ощутимого преимущества в решении через цикл, там растёт стак вызовов, здесь (офк не в wc, а в целом) растёт потребление памяти.
потребление памяти растёт на фиксированную величину(сложность О(1), тратит 4/8 байт)
а стэк вызова забивается при каждом следующем элементе(сложность О(n), тратит n * 4/8 байт)
и размер стека как правило довольно мал
а если список хранится не в оперативной памяти и содержит несколько миллионов элементов то у тебя не хватит оперативки чтобы держать весь этот стек
а писать свою реализацию потоков хранящую стек вызовов на ж.д. только ради того чтобы работать с рекурсией не самая лучшая идея
главный + рекурсии в возврате на несколько шагов назад что используется в деревьях и подобных структурах (например прошлись по 1 ветки, вернулись к развилке и прошлись по другой)
например подсчитать количество файлов не являющихся папками в папке
class File{
	
	int countNoDirs(){
		return 1;
	}
}

class Dir extends File{ // папка наследуется от файла
	private List<File> files;
	
	int countNoDirs(){ // переопределённый метод
		int count=0;
		for(File f:files){
			count+=f.countNoDirs();
		}
		return count;
	}
}
сделать подобное без рекурсии тот ещё гемор
28

» WarCraft 3 / JASS: группа или массив?

многие люди в качестве примера того что такое рекурсия показывают факториал или списки т.к. их намного проще понять чем те же деревья
но при этом забывают упомянуть что это пример того что такое рекурсия
а не пример того в каких ситуациях надо использовать рекурсию
и потом есть толпы джуниоров которые не знают в каких ситуациях рекурсия оправдана
Clamp:
Да, а что насчёт метода в самой структуре?
с ним тоже самое
thistype getFirst() { 
	Foo temp=this;
	while (temp.prev != 0) { 
			temp=temp.prev; 
	} 
	return temp; 
} 
28

» WarCraft 3 / JASS: группа или массив?

твой вариант
Foo getFirstOf(Foo given) { 
	if (given.prev != 0) { 
		return getFirstOf(given.prev); 
	} 
	return given; 
} 
легко заменяется на
Foo getFirstOf(Foo given) { 
	Foo temp=given;
	while (temp.prev != 0) { 
			temp=temp.prev; 
	} 
	return temp; 
} 
что довольно легко воспринимается и не является перегруженным
рекурсия нужна в основном в операциях над деревьями и сетями
т.е. там где происходит ветвление
а список как и массив это "прямая дорога" и с ними лучше работать циклами
28

» WarCraft 3 / JASS: группа или массив?

 thistype getFirst() { 
	if (this.prev != 0) { 
		return getFirst(); 
	} 
	return this; 
}
бесконечная рекурсия