-1

很可能是一个毫无头绪的问题,但我想从好的方面开始:尽管我尽了最大努力,但我实际上从未真正学会编程,而且我有点“边学边学”,所以如果这看起来非常好,请原谅我对你来说很明显......这更像是一种建议和反馈的问题,而不是纯粹的编程。

我的情况如下:我正在构建一个赛车游戏,它将接收来自多个用户的各种输入(通过 php 网站),我将这些信息存储在 MySQL 数据库中,我想每周处理一次所有该信息生成“单圈时间”,然后将创建一场比赛(我的“输出”)。不考虑计算该输出的各种方法,我需要做两件重要的事情,我完全不知道如何开始:

1)存储每个用户的比赛信息(每圈的单圈时间,最快的圈速,每圈的比赛位置,比赛结束时的比赛位置,根据位置奖励积分)。我应该在哪里以及如何以最佳方式存储这些信息?我创建了一个带有自动递增的唯一标识符的比赛数据库,我想我将为每场比赛生成一组数据,所以我应该将与该比赛有关的所有信息存储在那里吗?然后我会为单圈时间信息创建一个数据行(带有时间类型吗?)(1 行用于 lap1,1 行用于最快,等等...?)?但是我怎么知道哪个用户(每个用户都有一个唯一的用户 ID)做了哪一圈(我如何将用户 ID 分配给单圈时间)?

2)在比赛结束时,我需要根据最后的比赛位置来奖励积分,我应该只比较总圈速(附加行吗?)并按最低排序?点数据将存储在用户数据库中吗?

感谢您为该项目的建模提供的任何意见!

4

1 回答 1

1

删除数据库中的每个 lap_round、lap_time 和 position 并添加一个 user_id 和一个 race_id。之后查询圈数。通过这种方式,您可以判断哪个整体最快、每个用户最快、每圈时间等等。

要获得位置查询最后一圈的分贝。它保持着它的位置。

点是基于用户的,所以把它们放在用户表中。只需添加。但是如果你想知道每场比赛增加了多少积分而不是制作一个单独的表格积分(user_id,race_id,points)

于 2014-02-26T11:51:46.320 回答