计算不断上升的价值
Calculation of ever rising value
我希望能够使用一些经验值 (XP) 作为 return 等级值的基础在 php 中进行计算。我希望每个级别上升的难度都越来越大。像这样:
0-49 XP = Level 1
50-104 XP = Level 2
105-164 XP = Level 3
165-229 XP = Level 4 etc.
达到 2 级需要 50 XP。要达到 3 级,还需要 55 XP。要达到 4 级,还需要 60 XP 等等。
我更希望能够显示达到下一个阈值所需的 XP 数量。
我不知道要搜索什么来解决我的挑战。希望能帮到你。
提前致谢。
在 Python(因为我不太了解 PHP:( ):
levelBoundaries = []
for i in range(number_of_levels_you_want): ## Loop through for all levels
level = len(levelBoundaries) + 1 ## Get the Level Number
levelArr = [] ## Create the list for the level boundary
## The formula for your list is 2.5n^2 + 42.5n - 45
## The level boundary for level n is [Term n, (Term (n+1)) - 1]
## This is what has been done below
levelArr.append((2.5 * (level ** 2)) + (42.5 * level) - 45)
level += 1
levelArr.append( (2.5 * (level ** 2)) + (42.5 * level) - 45 - 1)
levelBoundaries.append(levelArr)
XP 计算的数学非常简单:
XP = ∑50+5*(level-1)
= 5*∑10+(level-1)
= 5*∑9+level
= 5*(∑9 + ∑level)
= 5*(9*level + ∑level)
自然数之和可以在每一本数学书甚至维基百科上查到。
你的观点结构与你的句子不符。
所以我会回答:
To reach level 2 50 XP is needed. To reach level 3 a further 55 XP is
needed. To reach level 4 a further 60 XP is needed and so forth.
<?php
$get_level = function () {
foreach (range(0, 300, 50) as $difficulty => $base) {
yield [$base + ($difficulty * 5) => 'Level '.($base / 50)];
}
};
foreach ($get_level() as $base => $level) {
echo print_r($level, true);
}
结果:
Array
(
[0] => Level 0
)
Array
(
[55] => Level 1
)
Array
(
[110] => Level 2
)
Array
(
[165] => Level 3
)
Array
(
[220] => Level 4
)
Array
(
[275] => Level 5
)
Array
(
[330] => Level 6
)
我希望能够使用一些经验值 (XP) 作为 return 等级值的基础在 php 中进行计算。我希望每个级别上升的难度都越来越大。像这样:
0-49 XP = Level 1
50-104 XP = Level 2
105-164 XP = Level 3
165-229 XP = Level 4 etc.
达到 2 级需要 50 XP。要达到 3 级,还需要 55 XP。要达到 4 级,还需要 60 XP 等等。
我更希望能够显示达到下一个阈值所需的 XP 数量。
我不知道要搜索什么来解决我的挑战。希望能帮到你。
提前致谢。
在 Python(因为我不太了解 PHP:( ):
levelBoundaries = []
for i in range(number_of_levels_you_want): ## Loop through for all levels
level = len(levelBoundaries) + 1 ## Get the Level Number
levelArr = [] ## Create the list for the level boundary
## The formula for your list is 2.5n^2 + 42.5n - 45
## The level boundary for level n is [Term n, (Term (n+1)) - 1]
## This is what has been done below
levelArr.append((2.5 * (level ** 2)) + (42.5 * level) - 45)
level += 1
levelArr.append( (2.5 * (level ** 2)) + (42.5 * level) - 45 - 1)
levelBoundaries.append(levelArr)
XP 计算的数学非常简单:
XP = ∑50+5*(level-1)
= 5*∑10+(level-1)
= 5*∑9+level
= 5*(∑9 + ∑level)
= 5*(9*level + ∑level)
自然数之和可以在每一本数学书甚至维基百科上查到。
你的观点结构与你的句子不符。
所以我会回答:
To reach level 2 50 XP is needed. To reach level 3 a further 55 XP is needed. To reach level 4 a further 60 XP is needed and so forth.
<?php
$get_level = function () {
foreach (range(0, 300, 50) as $difficulty => $base) {
yield [$base + ($difficulty * 5) => 'Level '.($base / 50)];
}
};
foreach ($get_level() as $base => $level) {
echo print_r($level, true);
}
结果:
Array
(
[0] => Level 0
)
Array
(
[55] => Level 1
)
Array
(
[110] => Level 2
)
Array
(
[165] => Level 3
)
Array
(
[220] => Level 4
)
Array
(
[275] => Level 5
)
Array
(
[330] => Level 6
)