Список разделов >> Лови жуков >> Опыт питомца.
 
тема: Опыт питомца. (цитировать) (тема закрыта)дата создания: 30.12.2018 15:45
SMAUG[36][]
Offline
Некорректно работает начисление опыта питомцу. Если аватар не набивает полную 1000 опыта, то его опыт не идёт в зачёт опыту питомца за бой.
В помощи ничего не написано по поводу округления вниз доли опыта хозяина.
Прошу исправить, либо, если всё работает верно, отредактировать описание.

https://chaosage.ru/log. php?id=17653362
Пет должен был получить 5 опыта, получил 4.

#0
тема: Опыт питомца. (цитировать) (тема закрыта)отвечено : 30.12.2018 16:21
Кайфат[25][]
Offline

Сообщений на форуме: 7
Не работает ссылка
#1
тема: Опыт питомца. (цитировать) (тема закрыта)отвечено : 30.12.2018 17:21
Уничтожители Смерть[93][]
Offline

Сообщений на форуме: 128
В математике, на сколько я помню, до 0,5 (500 опыта) округление всегда вниз, после (от 0,51/501 опыта) - округление вверх, вряд ли это хоть сколько нибудь ошибка.

https://ru.wikipedia.org/wiki/%D0%9E%D0%BA%D1%80%D1%83%D0%B3%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5
#2
тема: Опыт питомца. (цитировать) (тема закрыта)отвечено : 30.12.2018 17:27
Кайфат[25][]
Offline

Сообщений на форуме: 7
Все правильно по опыту там,не пудри мозги людям.Читай описание внимательней
#3
тема: Опыт питомца. (цитировать) (тема закрыта)отвечено : 30.12.2018 19:17
SMAUG[36][]
Offline

Сообщений на форуме: 82

Отредактировано:
30.12.2018 19:17


 Кайфат писал(а) 30.12.2018 в 17:27:
Все правильно по опыту там,не пудри мозги людям.Читай описание внимательней

Окей, хорошо. Читаем описание.
Опыт питомца = Нанесенный питомцем урон / 1000 + Опыт полученный хозяином / 1000,
но не более 5 * уровень питомца.
Про округление до целых, десятых и т.д. ничего не написано, считаем как есть.
4470 урона, нанесенного питомцем, делим на 1000, получается 4,47.
Идём дальше. Персонаж получил 292 опыта. Делим на 1000, выходим 0,292.
Складываем с опытом от урона пета, выходит 4,762.
А теперь округлите. Что получается?

...Но даже если 4,47 и 0,292 округлить до десятых ВНИЗ и сложить (что вряд ли вероятно), всё равно получится 4,6. То есть 5 опыта пету.
#4
тема: Опыт питомца. (цитировать) (тема закрыта)отвечено : 30.12.2018 19:31
Наблюдатели Антерос[110][]
Online

Сообщений на форуме: 1572
тут смотря где стоит функция округления, если до сложения двух частей опыта, то так вот и получается, и никакого бага тут нету, и стоило ради единицы опыта тему на форуме создавать? серьёзно?
#5
тема: Опыт питомца. (цитировать) (тема закрыта)отвечено : 30.12.2018 19:44
LEGENDARY[57][]
Offline

Сообщений на форуме: 81



 Антерос писал(а) 30.12.2018 в 19:31:
тут смотря где стоит функция округления, если до сложения двух частей опыта, то так вот и получается, и никакого бага тут нету, и стоило ради единицы опыта тему на форуме создавать? серьёзно?
Тут единица, там единица, а если взять в масштабе игры, получается и вовсе прилично так.
Надо либо исправить ошибку, либо подправить описание. Не думаю, что для Ревада это такая большая проблема.)
#6
тема: Опыт питомца. (цитировать) (тема закрыта)отвечено : 31.12.2018 18:21
целитель[27][]
Offline

Сообщений на форуме: 18
Об этом админ давно писал.Идёт округление от 501
#7
тема: Опыт питомца. (цитировать) (тема закрыта)отвечено : 15.01.2019 07:14
Страж астралаУничтожители Rewad[72][]
Offline

Сообщений на форуме: 4198
Опыт питомца на 1 меньше? Что? Первая реакция - закрыть эту тему.
Тем не менее. Формулы выглядят так:
$experience = round($petDamage / 1000);
$experience += round($masterExp / 1000);
и, согласно им, всё рассчитывается корректно.

И правило математического округления гласит, что десятые разряды от 0.5 (включительно) округляются к большему по модулю целому, т.е. 4.5 округляется до 5, так собственно и работает стандартная функция округления во всех языках программирования.
#8
тема: Опыт питомца. (цитировать) (тема закрыта)отвечено : 15.01.2019 09:27
Лотос ARKENSTONE[75][]
Offline

Сообщений на форуме: 1241
Ладно, поверим. =)