0

尽量不在这里重新发明轮子,所以想'我会问你们;

有一个用于计算机游戏的现有数据库,用于记录地图名称、完成地图所需的时间、难度级别、人员 ID。该数据库用于记录每个玩家的最佳完成时间。因此玩家可以输入某个命令,它会显示特定地图的最佳完成时间。

现在我想创建一个排名系统,根据难度级别奖励玩家完成地图的积分,例如轻松完成地图奖励玩家 1 分,中等奖励 2 分等。这个排名系统将显示得分最高的顶级球员。

我的问题是,使用当前的数据库并使用PHP来完成新的排名系统会更好吗?

或者

创建一个新的数据库来完成它?

在任何一种情况下,一个简单的逻辑示例都会受到赞赏。

4

3 回答 3

0

你能试试这个:

SELECT *, (count(*) * difficulty) AS total
FROM `map`
GROUP BY user_id
ORDER BY total DESC
LIMIT 10

difficulty是一个表字段,1 表示简单,2 表示中等,等等。

于 2013-07-14T04:11:09.217 回答
0

我认为最好只使用您已经存在的数据库。你是什​​么意思逻辑示例?

于 2013-07-14T01:38:14.120 回答
0

正如凯尔所说,使用您当前的数据库/表并让 php/SQL 完成工作。我会做点什么

select player,
       Map,
       Count(*)
From mytable
Group by player, map

这应该会给你一个按地图完成的玩家计数。不过测试一下。获得计数后,您可以循环计数并根据地图乘以奖励积分。

于 2013-07-14T02:01:45.947 回答