首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >实时游戏中最有效的排名计算方法

实时游戏中最有效的排名计算方法
EN

Stack Overflow用户
提问于 2015-01-26 02:06:47
回答 1查看 911关注 0票数 0

我想知道最快和最有效的方法,以计算点数和排名的实时。

我正在做一个博彩足球游戏(一个游戏,用户试图预测之前的比赛结果)。我的国家叫"Quiniela“。

在比赛开始前,球员们会做出“预测”。我的问题是:从游戏开始的那一刻起,这是计算玩家“实时”排名的最有效方法(不仅仅是代码级别,还有数据库和服务器),作为他们对游戏实际结果的预测。

例如:

如果Team1和Team2玩游戏,用户U1预测游戏结束0-0,U2预测游戏结束1-0,U3预测游戏将1-1结束。

当比赛开始时,U1将排在第一位,因为如果比赛像这样结束,他的预测是正确的,或者至少是最准确的。

然后分数切换到1-0,用户U1将是排名的最后一位(因为他的预测不再可能),U2将是第一位,U3是第二位。

如果分数改变为1-1,U2将是第一位,U3将是第二位(因为他猜到了部分结果),U3则是最后一位。

我考虑创建一个层次的可能性树(0-0第一个节点,1-0和0-1作为子节点),当您更改分数时,更改排名“暂时”,我会将其保存在缓存中。

一旦游戏结束,我就把最新的排名保存在数据库中。

有更好的方法来解决这个问题吗?以前就有人提出过,现在已经解决了?我在数据库中使用MySQL,服务器使用PHP (Cake ),偶尔会使用一群要求排名的手机。

为我蹩脚的英语感到抱歉

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-01-26 02:11:03

我将使用以下方法:

保存一个排名表,在每个游戏日之后存储当前的排名。复制临时排名表的表。每当游戏日开始时,将玩家当前的排名复制到临时排名表中(您可以通过在原始排名表中引入一个temporary_score列来避免第二个关系和复制)。

每当游戏核心发生变化时,重新计算所有分数。游戏结束后,您只需将临时排名复制回排名表。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28143870

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档