aaadddminnn
@aaadddminnn
php it ubuntu debian

Как рассчитать уровень относительно опыта?

Всем привет. Есть в игре опыт. На прохождение каждого уровня нужно оп. кол. опыта.
К примеру есть 10 опыта.
3 опыта == 2лв
6 опыта == 3лв
9 опыта == 4лв
10 опыта == выводит сколько опыта осталось до 5лв.
Была мысль делать так :
Заработал 3 опыта. Опыт обновляем на 0, а в лв пишем 2лв.
Потом заработал 6 опыта, обновляем лв на 3 и обнуляем опыт.
Но, по-моему, я делаю что то не так :)
Заранее спасибо:)
  • Вопрос задан
  • 399 просмотров
Решения вопроса 3
bobrovskyserg
@bobrovskyserg
Однозначное соответствие между опытом и лв удобно задать функцией.

зы. пожалуйста, замени слово "розчитать" на что-то менее странное.
Ответ написан
@Alexander1705
уровень = ( 1 + sqrt ( 1 + 8 * опыт ) ) / 2
Округляйте вниз.
Ответ написан
Комментировать
@aleks_raiden
Я храню все показатели:
- общий заработанный опыт (10 единиц)
- текущий уровень (4-й, в вашем примере)
- опыта до следующего уровня - (допустим, на 5 надо 15 опыта, значит разница между опытом пред. уровня и следующим) = 15-9 = 6 ед.
- опыта получено на текущем уровне (это к-во опыта после получения текущего уровня). Доп, у меня 11 опыта, значит 11 - 9 = 2 ед.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы