gpt4 book ai didi

ios - 如何确定比赛得分是否已提交

转载 作者:行者123 更新时间:2023-11-29 03:55:52 25 4
gpt4 key购买 nike

我正在开发一款使用游戏中心的回合制游戏。我没有在本地保存任何比赛数据。当游戏继续进行时,其中一名玩家结束游戏并为自己提交分数。当其他玩家启动游戏时,他会从游戏中心获取所有比赛(包括已完成的比赛)。我的问题是,我无法确定我已经提交了哪场比赛的分数。为了更好地理解,我列出了场景的步骤。

  • 鲍勃开始一场比赛
  • Alice 接受匹配
  • 爱丽丝开始游戏并结束回合
  • 鲍勃上场并结束回合
  • ...
  • ...
  • ...
  • Bob 结束比赛并将得分提交至排行榜
  • Alice 启动游戏并从游戏中心获得 10 场已完成的比赛。

现在我怎么知道我提交了哪些比赛的得分。据我所知,比赛结束后我无法更新比赛数据。所以我无法再保存任何标志来匹配数据。

我是不是出了什么问题,过早结束了比赛?所有玩家都必须等待其他玩家提交分数吗?

我必须在本地保存比赛数据吗?

我认为还可以使用比赛的最后一轮日期并在本地保存“最后得分提交日期”。

在本地保存比赛数据或日期对于多个设备来说是不好的。

最佳答案

另一件事要尝试:如果您使用 Game Center 的排行榜,则可以检查 contextplayerID [1] 属性。然后,当客户端注意到游戏 G 已经结束但不确定分数是否已经发布时,首先从排行榜下载本地 playerID 的排行榜分数,并检查 context 与刚刚完成的游戏 G 的 matchID 相同。

如果没有,请发布分数并将 matchID 作为分数的 context 属性中的提示。

[1] https://developer.apple.com/library/mac/#documentation/GameKit/Reference/GKScore_Ref/Reference/Reference.html#//apple_ref/occ/instm/GKScore/reportScoreWithCompletionHandler :

关于ios - 如何确定比赛得分是否已提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16517367/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com