Форум » Общий форум РГ » Формулы » Ответить

Формулы

Arseny: Заклинания, по шаблону: 0.Название 1.Стихия, Школа. 2.Группа, подгруппа. 3.Мана. 4.Срок действия. 5.Формула. ------------------------

Ответов - 49, стр: 1 2 3 All

Arseny: 0.Ледянная стрела; 1.Стихия: вода; Школа: нет; 2.Группа: damange; Подгруппа: cold;(урон холодом) 3.Мана: 7; 4.Срок действия: мнгновенно; 5.Формула: 41+а+7*Sp; где а = 7Water div (Water+1) c округлением вниз. Water - навык владения стихией воды, имеет значения от 0 до 3; ------------------------ 0.Лечение 1.Стихия: вода; Школа: нет; 2.Группа: bless Подгруппа: health(снимает все заклинания подгруппы illness). 3.Мана: 6; 4.Срок действия: мнгновенно. 5.Формула: востонавливает 20+(2*Water+6)*Sp здоровья. Примечания:Не действует на неживых. ------------------------ 0.Яд. 1.Стихия: вода; Школа: нет. 2.группа: damange-curse; подгруппа: illness(не снимаются заклинаниями подгруппы dispell). 3.Мана: 9; 4.Срок действия: 1+log2 a1 5.Формула: an= a1 div 2n-1, где а1 = 16+4*Sp – базовый урон. n - разность текущего хода и хода, когда было наложено заклинание. Примечания:Не действует на неживых. При повторном накладывании заклинания, более мощный яд заменяет старый. Если герой владеет магей воды, то яд суммируется(но второе слогаемое делится на 5-Water). Сопротивление магии прямопропорционально понижает наносимый ядом урон, но не влияет на вероятность его накладывания на юнита. ------------------------ 0.Ускорение 1.Стихия: воздух; Школа: нет; 2.Группа: bless; Подгруппа: нет; 3.Мана: 5; 4.Срок действия: 1*Sp ходов; 5.Формула: если скорость цели < 12, тогда: скорость:= скорость + 3 иначе: скорость:= скорость*125%; ------------------------ 0.Жрецкое проклятие. 1.Стихия: все; Школа: жрецкое заклинание; 2.Группа: curse подгруппа: нет. 3.Мана: 15; 4.Срок действия: 100 ходов(пока не снимут) 5.Формула: an=Σnk=1(a1+k), , где n – текущий ход(от кастования данного заклинания), a1 – базовое понижение интуиции(обычно ~3). ------------------------ 0.Искры 1.Стихия: воздух-огонь; Школа: нет. 2.Группа: Damange; подгруппа: нет; 3.Мана: 4; 4.Срок действия: мнгновенно. 5.Формула: a:= 1+Random(3+Air); //Урон электричеством. b:= 1+Random(3+Fire); //Урон огнем. Окончательный урон:= (a+b)*Sp; ------------------------ 0.Шок – наносит легкий урон электричеством, оглушая цель(ходит последней). 1.Стихия: воздух; Школа: нет. 2.Группа: Damange; подгруппа: electry; 3.Мана: 3; 4.Срок действия: мнгновенно. 5.Формула: Урон = 10*Sp; Понижает инициативу стека на Sp. При продвинутом знании магии воздуха - цель всегда ходит последней. При эксперте - урон на 10 единиц выше. ------------------------ 0.Рука Смерти 1.Стихия: ???(нет); Школа: Смерть. 2.Группа: Damange&Curse; подгруппа: нет; 3.Мана: 50(?); 4.Срок действия: мнгновенно. 5.Формула: убивает: 1+(Sp*(Skill+1) div UnitLevel)0,5 юнитов в стеке. Skill - навык владения магией смерти. ------------------------

hippocamus: Понял одно - Арсений очень умный!...

Arseny: Если что не нравится, отписывайтесь. И свои формулы предлагайте. P.S. hippocamus, не понял, к чему это?


GORynytch: Arseny пишет: Water - навык владения стихией воды, имеет значения от 0 до 3 Разве мы утвердили, что будет 3 уровня первичных навыков? Я лично за 10. Трёх явно мало будет.

Arseny: А почему сразу 10? 1 и 2 уровни можно изучить просто так, 3,4,5 - при знании магии воды либо мудрости.

GORynytch: Не, я имею в виду, чтоб каждый навык прокачивался по 10. Тогда, если по магии: 1 и 2 уровень магии учатся сразу, 3 учится при магии = 1 или мудрости = 2, 4 учится при уровне магии 3 или мудрости 5, 5 учится при уровне магии 7 или мудрости 10. Тогда получается, что для того, чтобы изучить магию определённого уровня, проще получить навык магии, потому, что мудрость -- общая, а значит, магии должны требовать более её высокий уровень. Иначе тупо получается -- тебе учить магию Воды 1 уровня чтоб получить доступ к магии Воды 3 уровня, или учить мудрость чтоб получить доступ ко всем магиям 3 уровня? А мой вариант сбалансирует этот недостаток. Кроме этого, 10 уровней дадут большее разнообразие в формулах, бонусах и эффектах.

Arseny: Зато магия воды, в отличие от мудромти, дает тебе бонус ко всем заклинаниям воды + дает возможность изучить закл. 6 уровня. Кроме этого, 10 уровней дадут большее разнообразие в формулах, бонусах и эффектах. это да, но неособо удобно с прокачкой выходит. Разнообразия, думаю, итак хватает, ибо еще опыт у заклинаний будет.

Entuser: Arseny пишет: 5.Формула: an=Σnk=1(a1+k), , где n – текущий ход(от кастования данного заклинания), a1 – базовое понижение интуиции(обычно ~3). Как-то слишком быстро... На первом ходу -4, на втором -9 , на третьем -15, на четвертом -22. p.s. другой вид функции - n*a1 + 0.5*n*(n+1)

GORynytch: Arseny пишет: дает возможность изучить закл. 6 уровня. Мудрость для этого также нужна.

Arseny: p.s. другой вид функции - n*a1 + 0.5*n*(n+1) да, можно и без алгебраической суммы. Мудрость для этого также нужна. Надо будет решить все это. Имхо: 1 и 2 уровень без школы - любой герой с книгой магии. 1 уровень со школой - тоже любой герой с книгой магии. 3-5 уровни магии без школы - герой со знанием соответствующей стихии, либо герой с навыком "мудрость" 2-4(5) - со школой - знание соответствующей школы(и стихии?) (5) - знание соответсвующей школы и стихии. 6 уровень - воронки стихий - знание соответствующей стихии и мудрости. 6 уровень - комбинированные элементали - знание 2 соответствующих стихий. 6 уровень - остальное - знание 2 требуемых школ. Навыки групп заклинаний(ударные, благословительные, проклинательные, призыв) - позволяют изучать заклинания соответствующих типов на 1 уровень выше.

GORynytch: Полностью с тобой согласен. Но не совсем понял это:2-4(5) - со школой - знание соответствующей школы. (5) - знание соответсвующей школы и стихии. Я бы сделал так: 2 -- 4 (школы) -- знание соответствующей школы или мудрости. 5 (школы) -- обязательное знание школы высшего (если 3 уровня навыков) либо 6 (если 10 уровей) уровней либо знание мудрости высшего уровня (в обеих системах). Знание стихии НЕ ОБЯЗАТЕЛЬНО для некоторых заклинаний. Если заклинание создано на базе стихийного (Священная стрела, Проклятая стрела = ул. Волшебная стрела; Тёмная молния = ул. Молния), знание стихии и самого заклинания ОБЯЗАТЕЛЬНО для всех уровней, если у тебя нет Мудрости (кроме 1).

Arseny: Для ул. магии(вроде Освященной стрелы, Темной молнии, Ярости и т.д.) требуется знание самого заклинания(не улучшеного) и базового(1-2 ур.), продвинутого(3) или экспертного(4-5) навыка школы. для 2-3 ур. школы - можно знание мудрости. 4 ур. - знание школы. 5 ур. - знание школы и стихии/мудрости(эксперт)/знание навыка заклинаний соответствующей группы.

GORynytch: Слушайте, придумал неплохую формулу для опыта (с одной пачки): Вначале перед боем происходит проверка (через Fight value каждого существа) на размеры армии и её общую силу (по FV). Силы армий делятся друг на друга и записываются в а1 и а2 соответственно. Если побеждает 1 армия, то а = а2 (т.е. 2 армия/1 армия), иначе а = а1. (Random [x..z] + d * ((d + r) * a - c) - L div(50*d)) * q * B = t If t>=q then Exp=t else Exp=q где d -- уровень убитых существ, r -- ранг убитых существ, L -- уровень героя, q -- количество убитых существ, c -- уровень самого сильного существа в армии героя. x и z -- два числа, одно больше, другое меньше числа Y на 25--50%. Число Y вычисляется по формуле, учитывающей атаку, защиту, скорость, урон (МАХ и MIN), интуицию, ловкость, скорость и включает в себя 50% ХП существа. B -- бонусы за убийство сильного существа более слабыми (ниже уровнем). Общий опыт равен сумме этих формул. ПРИМЕР выложу позже.B = 1 при одинаковых уровнях либо уровень убитых существ ниже уровня ваших существ, 1,1 -- если убитые выше на 1 уровень, 1,25 -- если на 2 уровня, 1,5 -- 3 уровня, 2 -- 4 уровня, 2,5 -- 5 уровней, 3,5 -- 6 уровней, 5 -- если разница в 7 и более уровней.

Arseny: Random [x..z] - можно заменить на fight value существа. r - ранг убитых - это что? Улучшенный/не улучшенный? Скобка "(d + r - c)" может заходить в минус. -------------------- Предположим, что у противника одни не улучшенные грифоны в стеке, их 10 штук. Наш Герой 1 уровня. В нашей армии также есть один стек юнитов третьего уровня. Ранг приму за единицу, Смотрим: a:= Random [x..z]; //Заменим на а, это основной коэфициент; Result:= a + 3*(3+1-3) - (1*10*1) div (50*3) = а + 3 - 1/15(округляется до 0) => t = a+3; Исходя из этого, предлагаю "-L div(50*d))*q" изменить(ибо во многих случаях коэфициент будет <1). В героях 4(и, возможно, 5) все горадо проще: Resut:= Опыт существа(В героях 3 - его здоровье) * Количество существ в стеке.

GORynytch: Arseny пишет: В героях 4 (и, возможно, 5) все горадо проще: Resut:= Опыт существа(В героях 3 - его здоровье) * Количество существ в стеке. Правильно, и это меня бесило, когда на 50 уровне получаешь по 4 опыта за каждого гремлина и по 10 за копейщиков (тупость). А нужно, чтоб кол-во опыта изменялось в зависимости от твоего уровня. r -- ранг существа, если включён «Опыт армий» (т.к. у существ в ВОГ3,58f называлось не «Уровень», а «Ранг»).Random [x..z] - можно заменить на fight value существа Да, но со случайным коэффициентом от - 30% до + 30%, как в Варкрафте 3 (там при убийстве опыт немного прыгает в промежутке от ~= -25 до 25%).Исходя из этого, предлагаю "-L div(50*d))*q" изменить(ибо во многих случаях коэфициент будет <1). Оно и должно быть меньше 0! Это -- штраф за уровень, чтоб на высоком уровне не давалось мног опыта за существ первых уровней. Тогда герой уровня 1000 будет получать всего по 1 опыта за копейщиков, гремлинов, троглодитов и т.д, а не по обычному кол-ву опыта. Это будет как в играх-РПГ. Чем ты сильнее и чем слабее ты бьёшь существ, тем меньше тебе опыта идёт.Вот пример использования этой формулы: Возьмём Копейщиков. У них ХП 10, атака 30, защита 27 (тк МАХ атаки и защиты не 100, а 65535), скорость 4, урон 2-3, сопротивлений почти нет. Уроень нашего героя 120. У нас МАХ уровень существ 3. Пусть Y будет равным 10, а ранг 4. Тогда получится следующее: (Random [x..z] + d * (d + r - c) - L div(50*d)) * q * B = (Random [8..13] + 1 * (1 + 4 - 3) - 120 div50) * 70 = [560..910] Exp. Аналогично и другие существа и уровни.

Arseny: Да, но со случайным коэффициентом от - 30% до + 30%, как в Варкрафте 3 (там при убийстве опыт немного прыгает в промежутке от ~= -25 до 25%). Не надо в формуле случаеность делать. Все должно быть четко. Тогда герой уровня 1000 будет получать всего по 1 опыта за копейщиков, гремлинов, троглодитов и т.д, а не по обычному кол-ву опыта. Это будет как в играх-РПГ. Чем ты сильнее и чем слабее ты бьёшь существ, тем меньше тебе опыта идёт. Но у героя дельта уровней с каждым уровнем будет возрастать! Тогда героя еще сложнее будет прокачать до более высокого уровня. В героях 3 дельта уровней = 1,2 от преведущей дельты, после 11 ур., но думаю, что надо уменьшить коэфициент на более высоких уровнях, чтобы реально было прокачать героя до, хотябы, уровня 70-ого. Насчет твоей формулы: А почему чем больше существ мы убили, мы меньше опыта получим? Например убили 1 и 100 черных драконов: "- L div(50*d)) * q" - рассмотрим этот кусочек, ибо только тут фигурирует их количетсво. 1 дракон: -L*1 div 50*7 = -L/350 - штраф; 100 драконов: -L*100 div 50*7 = -2L/7; L/350 > 2L/7 только, если L < 0, чего быть не может. Тоесть, чем выше у героя уровень, чем меньше он получает опыта за большее количество юнитов.

GORynytch: (Random [x..z] + d * ((d + r) * a - c) - L div(50*d)) * q * B = t Ты невнимательно смотришь формулу! q -- ЭТО ОБЩИЙ МНОЖИТЕЛЬ ВСЕЙ СКОБКИ!!!Вот опыт для первых 53 уровней: 1--500; 2--1000; 3--1500; 4--2000; 5--2500; 6--3000; 7--3600; 8--4200; 9--4800; 10--5400; 11--6000; 12--6800; 13--7600; 14--8500; 15--9500; 16--10600; 17--11750; 18--12900; 19--14100; 20--15300; 21--16600; 22--17900; 23--19300; 24--20700; 25--22200; 26--23800; 27--25400; 28--27000; 29--29000; 30--31000; 31--33300; 32--35600; 33--38000; 34--40400; 35--42800; 36--45200; 37--47600; 38--50000; 39--52500; 40--55000; 41--57500; 42--60000; 43--63000; 44--66000; 45--69500; 46--73000; 47--76500; 48--80000; 49--84000; 50--88000; 51--92000; 52--96000; 53--100000. Далее я предлагаю сделать дельту уровня 5%*SL, где SL = SL-1(или, возможно, правильнее написать L-54?)*0,99, начиная с 53. Тогда каждые 15--16 уровней опыт будет удваиваться. Если так делать и делать 8-байтное число для опыта, то можно будет сделать много уровней (не меньше 1000, посчитать точно негде).Перечитайте мой первый пост про формулу опыта.

fireman: Чёт слишком сложно получается,надо не уменьшать способность героя набирать опыт за одно и тоже кол-во войск,просто на малых кол-вах монстров ты фиг наберёж на седующий левел

Arseny: Ты невнимательно смотришь формулу! Все, теперь заметил. Чёт слишком сложно получается,надо не уменьшать способность героя набирать опыт за одно и тоже кол-во войск,просто на малых кол-вах монстров ты фиг наберёж на седующий левел Помоему итак нормально. Если дельта растет, а количество опыта за юнитов - нет, то нормально все будет. Но я за понижение(и повышение) опыта из-за уровня героя, Мах уровня существа в армии и прочих параметров.

GORynytch: Кстати, люди, напишите прогу, в которой можно вычислить максимальный доступный уровень по моей формуле (пост №240), а так же чтоб она показывала сколько опыта нужно на такой-то уровень. Чтоб во-первых, знать, сколько уровней будет максимально, а во-вторых, распределение опыта по уровням. Насколько я знаю, написать её не сложно, просто я совсем далёк от математики, да и программированием не занимался года 3.

Arseny: в Ехcel можно подсчитать ее. прогрессия такая?: an= 1,05*an-1

hippocamus: Это в MathCad нужно. Посчитать лимит функции. Только я не пользовался.

GORynytch: Вообще надо, чтоб начиная со 100000 каждый следующий уровень был больше на 5%*SL, где SL = SL-1(или, возможно, правильнее написать L-54?)*0,99, начиная с 53. Не знаю, как это написать одной формулой.

hippocamus: Никак. if L > 53 then E := E0 + 5 * (L - 53) * E0 / 100;

GORynytch: Не, не так. Скорее: IF L > 53 Then E := E0 + E0 * (5 * 0.99 ^ (L - 53))/100, по идее, так. Только надо проверить как эта формула будет работать. Я не знаю как её проверить.

Arseny: E0 * (5 * 0.99 ^ (L - 53))/100 - на высоких уровнях дельта будет составлять несколько единиц/десятков опыта, из-за степени.

GORynytch: Да, я и хочу, чтоб для каждого следующего уровня требовалось меньше процентов опыта. Кол-во опыта, необходимого для уровня, будет возрастать, однако не так быстро, как при постоянной дельте 5%. Легче же набрать 1% при 1млрд опыта, чем 5%... И всё равно на высоких уровнях нужно будет много опыта, но не на столько, как при 5%. Да и МАХ кол-во уровней будет не, например, 1000, а тысяч 5 (цифры ~, от балды взял). Так что эта формула будет реально удобной. Посчитай её лимит, тогда точно узнаем, сколько уровней возможно, а так же проценты и необходимое кол-во опыта на каждый уровень.

GORynytch: Ну что, берёшься просчитать формулу IF L > 53 Then E := E0 + E0 * (5 * 0.99 ^ (L - 53))/100?

GORynytch: Можно просто, чтоб где-то после 220 уровня не падал процент (99^(L-53)), т.е. на 221 уровне % будет, как на 220 и т.д. (там уже будет меньше 1%, вроде), либо чтоб после 220 уровня каждые 200 уровней процент уменьшался не каждый уровень, раз в 3 уровня, потом раз в 7 уровней и т.д. Этого хватит уровней на 5000 так, чтоб не было, что на следующий уровень нужно набрать меньше опыта, чем на предыдущий.

hippocamus: Ну да. Иначе странно получается - что один из верхних уровней получить легче чем нижний...

GORynytch: Наконец дошли руки и до заклинаний. Буду теперь потихоньку выкладывать здесь заклинания -- цена, формулы расчёта, бонусы к ним по уровням навыка/поднавыков (наподобие как во 2 посте у Арсения).

GORynytch: Парни! Я наконец придумал хорошую формулу. Правда, она подходит, если защита больше атаки. Формула такая: D = D0 * 0.98ΔD, где D -- общий урон, который будет нанесён, D0 -- урон, который был бы нанесён одним отрядом другому без учёта атаки/защиты, ΔD = Защита - Атака. Т.о. когда ΔD = 0, то будет наноситься полный урон без штрафа (т.к. 0.980 = 1), если защита больше на 1, то урон будет умножаться на 0.98, если на 2 -- то на 0.9604 и т.д. Вычисление считаю целесообразным вести до 4 цифр после запятой. Всё равно урон будет округлятся до 1 ед. Над формулой вычисления урона, когда атака больше защиты я ещё подумаю. Но хотелось бы типа такого же -- убывающая прогрессия, когда разница в 5 атаки даст около 10% бонус урона, 20% будут требовать 11 или 12 атаки, 30% -- 20-22, 40% -- 30-32, 50% -- 45-50 ед. и т.д.

Arseny: Над формулой вычисления урона, когда атака больше защиты я ещё подумаю. Та же самая формула. Только показатель степени отрицательный. ΔD = -5 - коэффициент: 1,1062 ΔD = -12 - коэффициент: 1,2488 ... Коэффициент < 10%, при ΔD = 114; Коэффициент > 1000%, при ΔD = -114;

GORynytch: Ага, а вот это мне и не нужно. Т.к. при этом получается, что каждая следующая единица атаки даст немного больше, чем предыдущая. В результате при разнице в 100 атаки бонус урона за единицу будет 4 или 5% (а не 2!!!), а должен быть около 1,3%. Мне нужна УБЫВАЮЩАЯ формула, а не ВОЗРАСТАЮЩАЯ.

Arseny: Мне нужна УБЫВАЮЩАЯ формула, а не ВОЗРАСТАЮЩАЯ. По моему наоборот; Возрастающая функция, но с убывающим приростом; Используй логарифму;

GORynytch: Arseny пишет: По моему наоборот; Возрастающая функция, но с убывающим приростом; Используй логарифму; Ой, я это и хотел сказать. Т.е. за каждую следующую единицу атаки бонус должен быть немного меньше, чем за предидущую. Арсений, подумай, как это можно реализовать.

GORynytch: Парни, проверьте формулу DΔD = DΔD-1 + D0*1.02ΔD*0.01. Если я её правильно написал, то получится так: Общий урон (при Атаке>Защиты) равен урону с атакой на 1 ниже плюс 2 процента базового урона в степени разницы (Атака-Защита).

GORynytch: Ну так как, ПРОВЕРИТ КТО-НИБУДЬ МОЮ ФОРМУЛУ ИЛИ НЕТ? ПРАВИЛЬНО ЛИ ОНА НАПИСАНА/СФОРМУЛИРОВАНА???

Arseny: Не правильно. Если имелось ввиду 2% от (базового урона в степени разницы), тогда так: DΔD = DΔD-1 + 0.02*D0ΔD; Если имелось ввиду (2% базового урона) в степени разницы, тогда: DΔD = DΔD-1 + (0.02*D0)ΔD; В любом случае прогрессия очень сильно зависит от величины базового урона.

GORynytch: Вот мне и нужно, чтоб она зависела от базового урона. Я хотел формулу, чтоб было: разница в 1 атаки даёт 2% бонус, 2 атаки -- ≈3.98%, 3 -- ≈5.9605, 4 -- ≈7,9412, 5 -- ≈9,922 (цифры приблизительные, я не на калькуляторе считал). Т.е. за каждую следующую единицу бонус уменьшается. Правда я не совсем пойму обе твои фразы (я уже говорил, я прохалявил математику года два, а потом ни фига не догнал...), поэтому можешь написать пример (в виде двух колонок), допустим, до разницы в 300 атаки (урон возьми, допустим, 100, округление веди до единицы по всем правилам).

Arseny: у меня сейчас экселя нету, можешь в нем проверить. По второй формуле, если базовый урон >50, то прирост функции будет возрастающим. В первой аналогично, но если больше, чем 1; И лучше не брать привязку к предыдущему значению, а полную формулу написать.

GORynytch: Я не знаю как написать полную формулу -- это во-первых; а во-вторых -- формула всё равно будет завязана на предыдущее значение (т.е. следующее высчитывается на основе предыдущего и разницы атаки/защиты в общем). Если урон возрастает от 1 по 1 формуле, то тогда именно она (а не вторая). Потому как и крестьянин сможет нанести 10 и больше урона при собственном уроне 1 без Удачи/крита и т.д. только за счёт нескольких тысяч Атаки.

Arseny: Look, Прогрессию an = an-1 + 0,02*a0n можно записать так: an = a0 + 0,02(an1 + an2 + an3 + ... + ann); Теперь, допустим, разница атаки и защиты - 10; Базовый урон = 20; Получаем: Урон = 20 + 0,02*(20 + 400 + 8000 + 160000 + 3200000 + ...) = очень много; (( В другом случае(когда процент тоже был в степени) ситуация немного получше, но тоже не веселая :(. Плюс, бонус от дельты атаки и защиты сильно зависит от базового урона(если Подставить базовый урон = 1 в предыдущую формулу, бонус получим гораздо меньше).

GORynytch: БЛИИИННННН!!!!!!!!!!!! Это ЖОПА. НУ КАК ЕЩЁ МОЖНО ВЫРАЗИТЬ ФОРМУЛУ, ЧТОБ СЛЕДУЮЩИАЯ ЕДИНИЦА АТАКИ ДАВАЛА МЕНЬШЕ БОНУС, ЧЕМ ПРЕДЫДУЩАЯ НА 2 ПРОЦЕНТА. Т.е. (я уже писал на предыдущей странице) 1я атаки даёт бонус 2%, 2я атаки даёт где-то 1,98% (всего 3,98), 3я ед даёт около 1,962% (всего около 5,942%), 4я даёт 1,946 (всего 7,908%) и т.д. Блин, Арсений, попробуй сам придумать формулу, которая не получается у меня. Т.е. возростающая прогрессия с убывающим коэффициентом. Если выйдет, то она подойдёт и когда атаки будет больше (т.е. будет увеличивать урон), и когда атаки будет меньше защиты (т.е. уменьшать урон всё медленнее). Я просто не хочу использовать что-то вроде как в Героях -- если атака больше, то каждая ед даёт +5% урона, если меньше, то уменьшает по 2,5%. Это слишком условно. Нужно именно динамическое изменение урона (это есть в любых продвинутых игрушках -- посмотри тот же Варкрафт 3).

ser851: дельта=2-0,02*(атака-1) урон=2*атака-дельта*(атака-1) если правильно понял задумку Горыныча

GORynytch: Неа, это не то... Дельта не та. После 100 дельта будет меньше 0...

ser851: ага, точно ты это заметил. и вообще формула не та. мне кажется факториал должен присутствовать, или логарифм или степень или ещё чего

Arseny: GORynytch, я не понял твою зависимость между числами, но можно попробовать эту формулу: n-1 ∑ (-1)k*2*10-2k k=0 n - разница в параметрах; Для сравнения, первые несколько значений k: n - k(%) ------------ 1 - 2% 2 - 3,98% 3 - 5,9602% 4 - 7,940398% 5 - 9,92059602% 6 - 11,9007940398% 7 - 13,880992059602% 8 - 15,861190079404% 9 - 17,841388099206% 10 - 19,8215861190079% 11 - 21,8017841388099% 12 - 23,7819821586119% 13 - 25,7621801784139% 14 - 27,7423781982159% 15 - 29,7225762180179% 16 - 31,7027742378198% 17 - 33,6829722576218% 18 - 35,6631702774238% 19 - 37,6433682972258% 20 - 39,6235663170277% 21 - 41,6037643368297% 22 - 43,5839623566317% 23 - 45,5641603764337% 24 - 47,5443583962356% 25 - 49,5245564160376% 26 - 51,5047544358396% 27 - 53,4849524556416% 28 - 55,4651504754435% 29 - 57,4453484952455% 30 - 59,4255465150475% 31 - 61,4057445348495% 32 - 63,3859425546514% 33 - 65,3661405744534% 34 - 67,3463385942554% 35 - 69,3265366140574% 36 - 71,3067346338594% 37 - 73,2869326536615% 38 - 75,2671306734635% 39 - 77,2473286932655% 40 - 79,2275267130675% 41 - 81,2077247328695% 42 - 83,1879227526715% 43 - 85,1681207724735% 44 - 87,1483187922755% 45 - 89,1285168120775% 46 - 91,1087148318795% 47 - 93,0889128516815% 48 - 95,0691108714835% 49 - 97,0493088912855% 50 - 99,0295069110875% 51 - 101,009704930889% 52 - 102,989902950692% 53 - 104,970100970494% 54 - 106,950298990296% 55 - 108,930497010098% 56 - 110,9106950299% 57 - 112,890893049702% 58 - 114,871091069504% 59 - 116,851289089306% 60 - 118,831487109108% 61 - 120,81168512891% 62 - 122,791883148712% 63 - 124,772081168514% 64 - 126,752279188316% 65 - 128,732477208117% 66 - 130,712675227919% 67 - 132,692873247721% 68 - 134,673071267523% 69 - 136,653269287325% 70 - 138,633467307127% 71 - 140,613665326929% 72 - 142,593863346731% 73 - 144,574061366533% 74 - 146,554259386335% 75 - 148,534457406137% 76 - 150,514655425939% 77 - 152,494853445741% 78 - 154,475051465543% 79 - 156,455249485345% 80 - 158,435447505147% 81 - 160,415645524949% 82 - 162,395843544751% 83 - 164,376041564553% 84 - 166,356239584354% 85 - 168,336437604156% 86 - 170,316635623958% 87 - 172,29683364376% 88 - 174,277031663562% 89 - 176,257229683364% 90 - 178,237427703166% 91 - 180,217625722968% 92 - 182,19782374277% 93 - 184,178021762572% 94 - 186,158219782374% 95 - 188,138417802176% 96 - 190,118615821978% 97 - 192,09881384178% 98 - 194,079011861582% 99 - 196,059209881384% 100- 198,039407901186% 101- 200,019605920988%

GORynytch: АРСЕНИЙ, ! ТО, ЧТО НАДО!!!! Только можно, тогда, чтоб уменьшалось не на 2, а на 3 или даже 4% за раз? Я посмотрел, 2% -- маловато. Т.е. 1=2%, 2=3,94 (или 3,95), 3=5,91?? (или 5,90??), 4=7,87???? (или 7,86????), где "?"= цифра (я не калькулятор точно высчитывать). Тогда быстрее процент уменьшаться будет.



полная версия страницы