【发布时间】:2014-11-20 12:10:27
【问题描述】:
我是一个全新的编程初学者。 我只是做了一个供个人使用的系统。 可以添加两名球员的体育比赛结果。
到目前为止一切正常。 现在我正在考虑添加一个 ELO 评级系统。
我不明白,我应该如何设计我的数据库。
问题是,我无法理解,如何保持正确的评分计算记录,以防任何游戏结果随时被删除。比如有人会添加错误的数据,游戏条目应该被删除。
那么,数据库应该如何设计,如果我从条目中间删除任何游戏,评分将正确重新计算?
我的问题的一个说明性示例,我无法解决(评级计算只是提供信息):
Player1 (rating 1200), Player2 (1200)
Game1 played, player1 wins.
Rating after game: P1:1231, P2:1169
Game2 played, Player1 wins.
Rating: P1:1259, P2:1141
Game3, Player2 wins
Rating: P1:1220, P2:1180
所以,我意识到,游戏 2 有虚假数据,我想删除它。
应该发生什么? 我删除了game2,然后脚本应该改变评级,比如 从一场比赛之前和之后的比赛1中获取两名球员的评分。这将是 P1:1231,P2:1169 然后在删除游戏后重新计算所有评分。 所以Game3,玩家获胜,评分应该是P1:1198, P2:1202
我不能只删除 game2 和它的评分差异...评分必须从上一场比赛和所有比赛结束后重新计算。
如果有 3 名或更多玩家,并且他们在我要删除的游戏之后玩过游戏,那就更复杂了。 因为他们的收视率发生了变化。而如果一个游戏被删除,那么之后玩的游戏的所有评分变化都应该被一一重新计算。
我希望我的问题很清楚......
所以问题是,能否请您给我一个完整的 php/.mysql 入门者提示数据库的逻辑和计算我的情况的评分过程。
提前致谢。
【问题讨论】:
-
马克,很抱歉我的问题并不完全清楚。问题是 - 你能帮助我提示我应该如何设计我的数据库吗?目前我有一张玩家桌和一张游戏桌。我应该如何实施收视率数据?它应该是一个新表还是任何其他方式......我无法弄清楚,我应该如何在数据库中组织我的数据......我对mysql / php可能性的了解太低了。我需要一些帮助。我认为这是一个寻求此类建议的地方。
-
@MarcB:他们不希望我们设计完整的系统。他们寻求提示和建议。这并没有错。
标签: php mysql database-design rating