DracoL1ch, бывает так что когда что то делаешь вспоминаешь что нечто похожее делал несколько месяцев назад и можно просто скопипастить оттуда кусок но для этого нужно понять какой кусок копипастить и что в нём поменять чтобы всё работало
давным давно когда я называл переменные в алфавитном порядке у меня была с этим куча проблем
название KillUnit не совсем подходит
я бы назвал killUnitFromUnit или просто killFromUnit Пушистый, а можно проще
define KillUnit(a) = KillUnit2(a)
по поводу правил
название должны соответствовать выполняемой функции
например если логическая переменная хранит жив юнит или нет то называться она должна isAlive или как то так
+ различные правила написания для различных языков
например в java первое слово в названии функции/переменной пишется с маленькой буквы а остальные с большой, а в названиях классов все слова с большой
в jass официальных соглашений нету но близы писали в функциях каждое слово с большой а константы большими буквами разделяя слова _
Naadir, воскрешение это светлая магия и она просто воскрешает мёртвых
гальванизация же превращает мёртвых в особый вид нежити попутно промывая им мозги
я имел ввиду с чего ты взял что правильное проектирование устраняет все баги
в проектировании (практическом а не теоретическом) есть такое понятие как стоимость решения
которое представляет собой соотношение + этого решения к затратам на реализацию
в теоретическом проектировании можно разработать идеальную систему без багов
но на практике архитектура и качество алгоритмов зависят от сроков дедлайна
и основная задача при проектировании это сделать так чтобы:
было как можно меньше багов
код был как можно более модульным и легко расширяемым
мод это модификация оригинальной игры
аддон это 1 из типов модов (дополнение тоже является модификацией, ваш к.о.)
т.е. аддон это мод с некоторыми условиями которые я описал выше
Ледяной трон настолько глобальный аддон, что я бы назвал его следующей частью игры
Ледяной трон небольшой аддон т.к. добавлено лишь несколько новых юнитов и 4 кампании
есть аддоны которые добавляют целые фракции кучу кампаний Morkoffka:
Может быть аддон это полностью автономный мод?
аддон не является автономным
это именно дополнение которое не будет работать отдельно от оригинальной игры
Morkoffka, моды не обязательно изменяют существующие ресурсы
по сути аддон это мод который не вносит существенных изменений в существующие ресурсы и концепцию игры и является довольно объёмным (добавление юнита "супер вася" не является аддоном, а вот фракция супервась с собственной кампанией может быть аддоном)
так же некоторые считают что аддоном может только официальный продукт
Union Of High Elves это неофициальный аддон
Тем не менее, не вижу ощутимого преимущества в решении через цикл, там растёт стак вызовов, здесь (офк не в 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;
}
}
многие люди в качестве примера того что такое рекурсия показывают факториал или списки т.к. их намного проще понять чем те же деревья
но при этом забывают упомянуть что это пример того что такое рекурсия
а не пример того в каких ситуациях надо использовать рекурсию
и потом есть толпы джуниоров которые не знают в каких ситуациях рекурсия оправдана Clamp:
что довольно легко воспринимается и не является перегруженным
рекурсия нужна в основном в операциях над деревьями и сетями
т.е. там где происходит ветвление
а список как и массив это "прямая дорога" и с ними лучше работать циклами
» WarCraft 3 / Событие A unit comes within range of unit
особенно в динамических триггерах
» WarCraft 3 / Способности и алгоритмы на заказ
это типо запихнуть кучу музыкантов в карту и сказать им играйте джазз?
» WarCraft 3 / Не работает снижение урона от способности "Панцирь с шипами"
в отличие от гуи
» WarCraft 3 / GetWidgeLife(...), GetUnitState(...)
» WarCraft 3 / Castle Melee Wars
и потом прочти шаблон оформления
Ред. nvc123
» Divine Joker / Spell "Энтропия смерти"
» WarCraft 3 / Наименование функций и переменных
давным давно когда я называл переменные в алфавитном порядке у меня была с этим куча проблем
Ред. nvc123
» WarCraft 3 / Наименование функций и переменных
я бы назвал killUnitFromUnit или просто killFromUnit
Пушистый, а можно проще
название должны соответствовать выполняемой функции
например если логическая переменная хранит жив юнит или нет то называться она должна isAlive или как то так
+ различные правила написания для различных языков
например в java первое слово в названии функции/переменной пишется с маленькой буквы а остальные с большой, а в названиях классов все слова с большой
в jass официальных соглашений нету но близы писали в функциях каждое слово с большой а константы большими буквами разделяя слова _
» WarCraft 3 / Castle Melee Wars
вот правила оформления и требования к качеству
» WarCraft 3 / Момент полного удаления боевой единицы из игры
гальванизация же превращает мёртвых в особый вид нежити попутно промывая им мозги
Ред. nvc123
» WarCraft 3 / JASS: Курс молодого бойца
в проектировании (практическом а не теоретическом) есть такое понятие как стоимость решения
которое представляет собой соотношение + этого решения к затратам на реализацию
в теоретическом проектировании можно разработать идеальную систему без багов
но на практике архитектура и качество алгоритмов зависят от сроков дедлайна
и основная задача при проектировании это сделать так чтобы:
- было как можно меньше багов
- код был как можно более модульным и легко расширяемым
- можно было написать по за отведённое время
причём 3 пункт является самым важным» WarCraft 3 / Аддон и мод
сейчас выдам
Ред. nvc123
» WarCraft 3 / Аддон и мод
аддон это 1 из типов модов (дополнение тоже является модификацией, ваш к.о.)
т.е. аддон это мод с некоторыми условиями которые я описал выше
» WarCraft 3 / Аддон и мод
Ред. nvc123
» WarCraft 3 / Аддон и мод
это определение
Ред. nvc123
» WarCraft 3 / Bravest Souls
» WarCraft 3 / Аддон и мод
» WarCraft 3 / Аддон и мод
Bender2000:
если работает отдельно от оригинала то это уже не мод а отдельная игра
» WarCraft 3 / Аддон и мод
есть аддоны которые добавляют целые фракции кучу кампаний
Morkoffka:
это именно дополнение которое не будет работать отдельно от оригинальной игры
» WarCraft 3 / Аддон и мод
Bender2000, любое дополнение полностью меняет баланс игры
Ред. nvc123
» WarCraft 3 / Аддон и мод
по сути аддон это мод который не вносит существенных изменений в существующие ресурсы и концепцию игры и является довольно объёмным (добавление юнита "супер вася" не является аддоном, а вот фракция супервась с собственной кампанией может быть аддоном)
так же некоторые считают что аддоном может только официальный продукт
Union Of High Elves это неофициальный аддон
Ред. nvc123
» WarCraft 3 / JASS: группа или массив?
а стэк вызова забивается при каждом следующем элементе(сложность О(n), тратит n * 4/8 байт)
и размер стека как правило довольно мал
а если список хранится не в оперативной памяти и содержит несколько миллионов элементов то у тебя не хватит оперативки чтобы держать весь этот стек
а писать свою реализацию потоков хранящую стек вызовов на ж.д. только ради того чтобы работать с рекурсией не самая лучшая идея
главный + рекурсии в возврате на несколько шагов назад что используется в деревьях и подобных структурах (например прошлись по 1 ветки, вернулись к развилке и прошлись по другой)
например подсчитать количество файлов не являющихся папками в папке
» WarCraft 3 / JASS: группа или массив?
но при этом забывают упомянуть что это пример того что такое рекурсия
а не пример того в каких ситуациях надо использовать рекурсию
и потом есть толпы джуниоров которые не знают в каких ситуациях рекурсия оправдана
Clamp:
» WarCraft 3 / JASS: группа или массив?
рекурсия нужна в основном в операциях над деревьями и сетями
т.е. там где происходит ветвление
а список как и массив это "прямая дорога" и с ними лучше работать циклами
» WarCraft 3 / JASS: группа или массив?