Игра в онлайне это в первую очередь соревновательная игра, то есть участие в официальных ладерах, онлайн лигах/кубках (например ESL, Zotac cup), пиратки для нищебродов школьников или просто для тех кто не ценит себя/свое время
Ну повесят вас на доске почёта. Вам приятно? А я просто ради удовольствия играю.
if (a == b)then
if ( a == 6 )
if ( a == j )
functakes3( 1 , 7 , 9 )
else
functakes3( 1 , 7 , 0 )
endif
else
if ( a == j )
functakes3( 1 , 8 , 9 )
else
functakes3( 1 , 8 , 0 )
endif
endif
else
if ( a == 6 )
if ( a == j )
functakes3( 2 , 7 , 9 )
else
functakes3( 2 , 7 , 0 )
endif
else
if ( a == j )
functakes3( 2 , 8 , 9 )
else
functakes3( 2 , 8 , 0 )
endif
endif
endif
Надеюсь я не ошибся.
В твоём варианте на каждый тернар надо по одной переменной.
И для этой переменной надо знать тип.
В моём варианте препроцессор переписывает строку несколько раз.
В любом случае все условия и функции считаются столько раз, сколько нужно.
И не надо переменных (кроме одного только случая, только одной и одного типа).
Никаких проблем производительности, чистоты и поддержки ветвлений.
Даже переменной не надо.
expr( arg1 ? arg2 : arg3 )
if arg1 then
expr( arg2 )
else
expr( arg3 )
endif
Заметьте:
1.Все выражения считаются и используются не больше одного раза.
2.Продублировать выражение в разные строки для препроцессора не проблема.
3.Всё предельно формализовано. Осталось только внедрить.
Если видишь проблемы, пиши.
В твоей подписи старая версия. Обновляйся.
аргументы по умолчанию - хз, нужны сигнатуры фций и типы, даже незнаю,
Да просто запоминать то, что было в определении и подставлять, если аргумент отсутствует.
Даже просто без распознавания типов, просто при недостаточном количестве аргументов.
А может ещё и когда две запятые в аргументах подряд :)
что до услвной компиляции, возможны костыли
это конечно не так елегантно и однозначно
А что, так тяжело диезы считать отдельно от фигурных скобок?
Так же хотелось бы знать, не появилось ли у тебя желание сделать таки тернарный оператор?
я постараюсь учесть свои ошибки в компиляторе для ск2
Ещё нет редактора, нет инструмента для встраивания в него своего препроцессора...
На что-то даст, а на что-то нет.
SC2 не идеален. Но всё равно главное - творчество.
Мне лично WC нравится своей магичностью а какие модели будут включены в СК2 ещё неизвестно. Редактора пока нет.
Насчёт доты: не могу скачать ни с одного сервера.
Даже список изменений прочитать не могу.
Это так только у меня?
Может диезы вообще с фигурными скобками не путать? Всё таки директивы, а не сокращения.
И вообще, чем на галакси без редактора заглядываться, может порадуешь нас значениями по умолчанию или тернарным оператором?
А как использовать переменные типа code кроме nothing() и boolean() я не знаю.
Да и судя по тому, что все молчат это невозможно.
Так что эти ограничения вполне естественные.
Может я чего пропустил, но пока были только define и include.
Не считая диезов, конечно.
А lambda имеет гораздо больше шансов встретиться как нормальное имя.
ForGroup(g,function nothing(){DoNothing();}) тоже сложнее lambda?
Хотелось бы взглянуть на применение анонимных функций кроме nothing() и boolean().
То есть тип со скобками в аргументах функции отловить не удаётся?
И использовать вместо "lambda" слово "function" тоже?
Ведь Векс неспроста отказывается вводить ключевые слова.
Всегда есть шанс в чьей-то работе нарваться на переменную "lambda".
Возможно, достаточно отлавливать только "boolexpr()" и "nothing()".
Я, конечно, понимаю, что Адольф делает, что хочет, и чего нет у Векса, но...
Вот Векс объявил, что параметры по умолчанию в vJass планируются через слово defaults.
А мне хочется через равно:
unit LinkedUnit(integer tag1=GetHandleId(GetExpiredTimer()), integer tag2=0){
return GetStoredUnit(Hash,tag1,tag2)
}
» Minecraft / Официальный XGM сервер запущен!
» Half-Life / SDK для Portal2
» WarCraft 3 / Эффекты эмоций
» StarCraft 2 / Объявлена стоимость русского SCII: WoL
» WarCraft 3 / cJass - дополнение к языку JASS
В твоём варианте на каждый тернар надо по одной переменной.
И для этой переменной надо знать тип.
В моём варианте препроцессор переписывает строку несколько раз.
В любом случае все условия и функции считаются столько раз, сколько нужно.
И не надо переменных (кроме одного только случая, только одной и одного типа).
» WarCraft 3 / cJass - дополнение к языку JASS
Вернее выполняться будут только 3.
Препроцессору это сделать без ошибок, чем человеку.
» WarCraft 3 / cJass - дополнение к языку JASS
Даже переменной не надо.
1.Все выражения считаются и используются не больше одного раза.
2.Продублировать выражение в разные строки для препроцессора не проблема.
3.Всё предельно формализовано. Осталось только внедрить.
В твоей подписи старая версия. Обновляйся.
» WarCraft 3 / cJass - дополнение к языку JASS
Ничего нерешаемого, преобразование определено. В чём проблемы?
» WarCraft 3 / cJass - дополнение к языку JASS
Даже просто без распознавания типов, просто при недостаточном количестве аргументов.
А может ещё и когда две запятые в аргументах подряд :) А что, так тяжело диезы считать отдельно от фигурных скобок?
» WarCraft 3 / DotA 6.74c
SC2 не идеален. Но всё равно главное - творчество.
Мне лично WC нравится своей магичностью а какие модели будут включены в СК2 ещё неизвестно. Редактора пока нет.
Даже список изменений прочитать не могу.
Это так только у меня?
» WarCraft 3 / cJass - дополнение к языку JASS
И вообще, чем на галакси без редактора заглядываться, может порадуешь нас значениями по умолчанию или тернарным оператором?
» WarCraft 3 / cJass - дополнение к языку JASS
» WarCraft 3 / Муталиск
Что, других просто не выложили?
Зерлинг и гидралиск есть близовские.
» WarCraft 3 / cJass - дополнение к языку JASS
» WarCraft 3 / cJass - дополнение к языку JASS
А что за проблема с ифами была?
И как-то там отступы делать можно, или это только вы с ван-дамом можете?
» WarCraft 3 / cJass - дополнение к языку JASS
» WarCraft 3 / cJass - дополнение к языку JASS
Адик и не обещает.
» WarCraft 3 / cJass - дополнение к языку JASS
Да и судя по тому, что все молчат это невозможно.
Так что эти ограничения вполне естественные.
» WarCraft 3 / cJass - дополнение к языку JASS
Не считая диезов, конечно.
А lambda имеет гораздо больше шансов встретиться как нормальное имя.
» WarCraft 3 / cJass - дополнение к языку JASS
И использовать вместо "lambda" слово "function" тоже?
Ведь Векс неспроста отказывается вводить ключевые слова.
Всегда есть шанс в чьей-то работе нарваться на переменную "lambda".
» WarCraft 3 / cJass - дополнение к языку JASS
» WarCraft 3 / cJass - дополнение к языку JASS
{
struct A
{
nothing anon_func_name_here()
{
thistype this=GetTimerData(GetExpiredTimer())
}
{
thistype this=thistype.allocate()
timer t=NewTimer()
SetTimerData(t,this)
TimerStart(CreateTimer(),1.,false,function anon_func_name_here)
return this
}
}
}
» WarCraft 3 / DotA 6.74c
» WarCraft 3 / DotA 6.74c
» WarCraft 3 / cJass - дополнение к языку JASS
Вот Векс объявил, что параметры по умолчанию в vJass планируются через слово defaults.
А мне хочется через равно: