2

私は次の機能を持っています:

function getLevel(points)
{
  var level = -1 + Math.sqrt(4 + points/20);

  // Round down to nearest level
  return Math.floor(level);
}

上記の関数は、ポイントに基づいてプレーヤーのレベルを計算します。私の問題は、特定のレベルに必要なポイントを計算するために、このような関数が必要なことです。

4

5 に答える 5

12

その関数の逆は次のようになります。

points = ((level + 1)**2 - 4) * 20

**パワーオペレーターはどこにありますか)。

于 2010-05-14T21:59:59.550 に答える
6
level = -1 + (4 + points / 20) ** 0.5
level + 1 = (4 + points / 20) ** 0.5
(level + 1) ** 2 = 4 + points / 20
(level + 1) ** 2 - 4 = points / 20
20 * ((level + 1) ** 2 - 4) = points
于 2010-05-14T22:00:19.080 に答える
4
Math.sqrt(4 + points/20) =        level + 1

          4 + points/20  =       (level + 1)^2

              points/20  =       (level + 1)^2 - 4

              points     = 20 * ((level + 1)^2 - 4)
                         = 20 * ((level^2 +  2*level + 1) - 4)
                         = 20 * ( level^2 +  2*level - 3     )
                         = 20 *   level^2 + 40*level - 60
于 2010-05-14T22:01:28.553 に答える
2

かなり簡単なはずです。ポイントを解くだけです。

               level              = -1 + Math.sqrt(4 + points / 20)
               level + 1          =      Math.sqrt(4 + points / 20)
      Math.pow(level + 1, 2)      =                4 + points / 20
      Math.pow(level + 1, 2) - 4  =                    points / 20
20 * (Math.pow(level + 1, 2) - 4) =                    points

それで:

points = 20 * (Math.pow(level + 1, 2) - 4)
于 2010-05-14T22:07:04.807 に答える
1

20(L + 1 )2-80

于 2010-05-14T22:02:37.397 に答える