【问题标题】:Android leaderboard with two variables具有两个变量的 Android 排行榜
【发布时间】:2016-07-13 02:12:41
【问题描述】:

各位开发者,

我在 Android Studio 中编写了一个游戏,我想为它设置一个排行榜。由于方便,我想使用 Google 排行榜。

但是,玩家的排名取决于两个变量。为了完成游戏,玩家需要做出一定的动作。他需要的动作越少,他的排名就越高。这将导致有太多玩家具有相同数量的移动。所以还有另一个变量:玩家需要做出这些动作的时间(这是一个益智游戏,所以他需要考虑这些动作)。

排行榜应根据玩家的移动量对玩家进行排名。当两个玩家的移动量相同时,这取决于谁排名更高的时间。 Google Play 排行榜可以做到吗?如果是,我该如何实施?如果没有,您还有其他建议/建议吗?

我还考虑过根据动作和时间计算一个分数,然后将该分数用于排行榜,但这只是我的第二选择。

感谢任何有用的 cmets 和答案。

干杯!

【问题讨论】:

  • 你为什么不两者都做呢?移动的次数和花费的时间,时间是计算排名的次要值,因为它与玩家的效率相关。
  • 感谢 Pztar 的评论,但您到底是什么意思?这就是我想要实现的:一个使用两个值来计算排名的排行榜。问题是如何使用 Google Play 排行榜做到这一点?或者你的意思是,实现两个不同的排行榜(一个有移动,一个有时间)?

标签: java android google-play-services


【解决方案1】:

我没有使用过 Google 排行榜,但这个概念很简单。为什么不直接创建一个聚合 score 变量?然后您可以按分数对排行榜进行排序,而不是两个单独的变量。

您可以使用反函数来执行此操作,类似于 answer 应该可以工作。

此外,根据我在Google Leaderboards 文档中快速阅读的内容,您应该能够为每个指标设置一个排行榜。一个代表经过的时间,一个代表所采取的移动(都从最小到最大排序)。然后再增加一个分数,从大到小排序。

【讨论】:

  • 感谢 Bryan 的回答,这实际上是我目前已经实现的,只是多了几行代码,所以我将其作为临时解决方案,但我希望拥有一个具有2个变量。这不是重点,但 imo 它对用户来说更加透明和方便。
  • @Omega 我明白你在说什么。我快速浏览了文档,您似乎应该能够从创建的每个排行榜中加载数据。这可能很棘手,但您应该能够从“时间”、“移动”和“得分”排行榜加载数据,然后按得分值对数据进行排序并仅显示“时间”和“移动”数据(或全部三个)。同样,我只是快速浏览了一下,但希望这会为您指明正确的方向。
猜你喜欢
  • 2021-12-15
  • 1970-01-01
  • 2021-01-11
  • 1970-01-01
  • 1970-01-01
  • 2018-02-07
  • 1970-01-01
  • 2020-08-14
  • 1970-01-01
相关资源
最近更新 更多