一个重要的分数错误地报告给iOS应用程序的排行榜

时间:2013-11-25 06:20:45

标签: ios game-center gamekit leaderboard

我在其中一个应用的排行榜上看到了一个有趣的分数:2,147,483,647。 这个数字恰好是2^23 -1,它是已知的双梅森素数之一。 以下是我如何计算游戏分数的代码:

float highestScore = 10000;
float factor1 = powf(0.90, (colNumber == 7 ? 0 : 1));
float factor2 = powf(0.90, (rowNumber == 8 ? 0 : 1));
float factor3 = powf(0.9, (size - 2));
float factor4 = rotationOn ? 1 : 0.33;
float factor5 = powf(0.8, hintCount);
float factor6 = pow(0.95, ((int)(tick / 30)));
float factor7 = pow(0.90, letterNum);

theScore = (int) (highestScore * factor1 * factor2 * factor3 * factor4 * factor5 * factor6 * factor7);

//sometime later but before reporting game score to leader board
int64_t score64t = (int64_t)theScore;

我不知道为什么会报告一个大数字分数(实际上是这个大数字分数的两个案例),但我想知道这是否与越狱设备有关。如何从排行榜中删除此分数?

1 个答案:

答案 0 :(得分:1)

越狱设备可以欺骗游戏中心。有一个越狱设备的应用程序,让用户选择发送的分数。所有游戏都会出现问题。在游戏中心配置中,您可以设置最大可能分数以缓解此问题,但是作弊者仍然可以获得该值,即使他们没有真正得分。

您可以通过访问iTunnes Connect来阻止分数 - >管理您的应用 - >选择你的应用程序 - >管理游戏中心 - >管理得分和玩家 - >单击Manage Top Scores列中的Manage