我正在尝试为游戏设计一个数据库,但对于如何根据一个范围在数据库中的玩家经验和关卡之间建立联系,我感到很困惑。像 1 级是 0 xp,2 级需要 200 经验,3 需要 400,4 需要 800 等等,我希望能够从一个查询中去“玩家有 54234 经验。他是 23 级”。内置转换。
在我见过的每个示例中(在类似的等级量表示例中),他们有一个学生被分配了一个例如 A 的成绩,他们完全忽略了学生获得 92 可以表示为 A 的事实。如何使用学生成绩数据库的人会从“他的平均成绩是 73.9”到“他得 C”吗?
在表格的简化版本中
CREATE TABLE Hero
(
hero INT NOT NULL,
totalExpEarned INT NOT NULL,
...
PRIMARY KEY(hero)
);
CREATE TABLE Level
(
level INT NOT NULL,
...
PRIMARY KEY(level)
)
我能想到的最简单的方法是查找表,从 0 到 199 是 1 级,从 200-399 是 2 级,依此类推,这是一种可怕的方法。