Вычисление числа по соотношению точек опыта

Попробуйте следующее:

sudo rm -r ./shadi

Разрешения показывают корень владельца и корень группы, поэтому вы должны использовать sudo.

1
задан 13 August 2018 в 15:49

2 ответа

У вас может быть множитель X уровней опыта. И вы просто берете целую часть деления.

Ex, если X = 100: LVL1 = 100, LVL2 = 200; и т. д.

В этом случае вы можете просто:

LVL = Experience / X;
Ex: 100 / 100 = 1 LVL, 200 / 100 = 2 ... etc

X может быть любым числом.

Надеюсь, это поможет.

0
ответ дан 15 August 2018 в 17:00
  • 1
    Как это будет работать, учитывая, что (например) Уровень 1 равен & lt; = 83, уровень 2 равен & lt; = 174 и т. Д.?? – Steve Smith 13 August 2018 в 15:44
  • 2
    Вы должны изменить опыт, который вы получаете за LVL, таким образом, чтобы он был множителем при изменении LVL. – Simion 13 August 2018 в 15:46
  • 3
    Существует формула для вычисления опыта для уровня X здесь: rsdo.net/rsdonline/guides/Experience%20formula.html , хотя я не знаю, как перепроектировать это, чтобы найти уровень вместо этого – kay 13 August 2018 в 15:47
  • 4
    @Simion Конечно, только владельцы Runescape могут это сделать? – Steve Smith 13 August 2018 в 15:47
  • 5
    Я обновил ответ другим решением. – Simion 13 August 2018 в 15:51

Вы можете использовать бинарный поиск, чтобы ускорить работу:

private static final int[] experiences={83, 174, ...};

int level(int experience) {
    // boundary check
    if (experience < experiences[0])
        return 0;
    if (experience >= experiences[experiences.length-1])
        return experiences.length;
    int minLevel = 0;
    int maxLevel = experiences.length;
    while (maxLevel - minLevel > 1) {
        int chk = (maxLevel+minLevel)/2;
        if (experience < experiences[chk])
            maxLevel = chk;
        if (experience >= experiences[chk])
            minLevel = chk;
    }
    return maxLevel;
}
0
ответ дан 15 August 2018 в 17:00

Другие вопросы по тегам:

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