XGM Forum
Сайт - Статьи - Проекты - Ресурсы - Блоги

Форуме в режиме ТОЛЬКО ЧТЕНИЕ. Вы можете задать вопросы в Q/A на сайте, либо создать свой проект или ресурс.
Вернуться   XGM Forum > Warcraft> Академия: форум для вопросов
Ник
Пароль
Войти через VK в один клик
Сайт использует только имя.

Ответ
 
Variecs

offline
Опыт: 2,508
Активность:
Borodach, много знаков после запятой, часть инфы теряется. В зависимости от способа подсчёта инфа может теряться по-разному. Ну, моё предположение.
Старый 30.03.2013, 00:10
Borodach

offline
Опыт: 5,837
Активность:
Или я напартачил?
» code
function AniSpeed takes integer AtSpeed,real AnSpeed returns real
local integer l = 0
local real temp = 0.350 * 1.01
    if AtSpeed > 0 then
            loop
                set temp = temp * 0.99
                call BJDebugMsg(R2S(temp))
                set l = l + 1
                exitwhen l > AtSpeed
            endloop
    endif
    return temp
endfunction
Старый 30.03.2013, 00:13
Variecs

offline
Опыт: 2,508
Активность:
Ну сказал же, нативка есть.
» code
Код:
function AniSpeed takes integer AtSpeed,real AnSpeed returns real
local real temp = 0.350 * 1.01
    if AtSpeed > 0 then
            set temp = temp*Pow(0.99, AtSpeed)
    endif
    return temp
endfunction

Впринципе и условие не нужно, просто вернёт время, большее за AnSpeed.
И что за 1.01? Магическое число?)
Старый 30.03.2013, 00:23
Borodach

offline
Опыт: 5,837
Активность:
Variecs:
И что за 1.01? Магическое число?)
Увеличил на 1%, почему то возврвщает на 1 значение меньше
много знаков после запятой, часть инфы теряется.
Это провал
Старый 30.03.2013, 00:38
Variecs

offline
Опыт: 2,508
Активность:
Borodach, А насколько сильно результат отличается от требуемого? Ибо если увеличить на 1%, а затем отнять 1%, то получится 99,99%. Плюс к тому, с нативной функцией этой проблемы, я думаю, не должно возникать.
Старый 30.03.2013, 00:42
Borodach

offline
Опыт: 5,837
Активность:
Как у меня
0% -> 15% -> 30% -> 45% AtSpeed
0.350 -> 0.304 -> 0.269 -> 0.241 AnSpeed
на 0.99
0% -> 15% -> 30% -> 45% AtSpeed
0.350 -> 0.304 -> 0.261 -> 0.225 AnSpeed
Старый 30.03.2013, 00:50
Variecs

offline
Опыт: 2,508
Активность:
А, ну так ты же отнимаешь n процентов текущего числа от первоначального, это не одно и то же, что отнять один процент текущего числа от текущего. Математически разные формулы.
Тебе которая нужна? Отнимать n% от первоначального, или 1% от текущего?
Старый 30.03.2013, 00:58
Borodach

offline
Опыт: 5,837
Активность:
Variecs,нужно отнять 1% от текущего
Старый 30.03.2013, 01:03
Variecs

offline
Опыт: 2,508
Активность:
Borodach, ну тогда твой вариант попросту неверен.
Старый 30.03.2013, 01:06
Borodach

offline
Опыт: 5,837
Активность:
Variecs, до значения 145 формула все верно считает. Ты не мог бы сказать верный вариант, ты все же лучше меня шаришь в матиматике.
Старый 30.03.2013, 01:09
Variecs

offline
Опыт: 2,508
Активность:
temp = temp*Pow(0.99, AtSpeed), сказал ведь Естественно, при условии что формула подсчета времени именно такая, как ты сказал..
Старый 30.03.2013, 01:14
Ответ

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

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

BB-коды Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход



Часовой пояс GMT +3, время: 22:03.