所以,我想为我的RPG游戏玩家创造赛车。玩家可以创建种族并选择参与比赛的参与者数量。比赛开始后,其他人可以加入比赛。收集最大参与者后,比赛开始。
我的想法,当最后一个参与者加入时,然后立即选择胜利者(谁的车是最好的,那个人赢了),但我怎么能这样做?如果我选择在最后一个参与者加入后选择获胜者,那么我必须在一个页面中添加许多查询(从表格中选择数据,然后删除比赛,然后选择玩家的汽车统计数据并选择获胜者然后再次使用mysql,发送消息给每个人)。
但是这个想法实际上并不是最优的,而且对于最后一个人来说,这个想法会非常残酷。也许你有任何想法如何我可以避免滞后并使其更优化。 非常感谢你。
答案 0 :(得分:2)
但这个想法实际上并不是最优的 并且它将最后残酷地落后 人
是什么让你这么想? “获得比赛,获得参与者的角色统计数据,获取参与者的汽车统计数据,检查统计数据以选择获胜者”并不是一个繁重的处理负荷。除非您在真正古老的硬件上运行服务器和与其他100个应用程序共享它,否则用户的浏览器应该更长时间与您的服务器建立网络连接,而不是确定比赛结果
如果你真的测试了这个设计并且看到最终玩家的延迟超过游戏中其他页面加载的延迟,那么你确实遇到了问题并且需要进行优化 - 但问题几乎可以肯定使用您用于计算获胜者的算法,而不是使用多个查询来生成单个页面。
答案 1 :(得分:0)
如果你想在最后一个人加入比赛时处理比赛,你可能想要使用异步处理,以便最后一个人不需要等待。
基本思想是最后一个参赛者执行的页面快速返回(可能只是一条消息让他们知道比赛正在进行中),但处理在服务器上继续。
答案 2 :(得分:0)
复杂的反应 - 我怎么想象这个游戏有效。
我希望这一切都有道理。如果您还没有使用JavaScript库,我建议您这样做,因为他们使跨浏览器ajax如此简单。