我仍然是玩数据库的新手,并且想要为像clash of clash这样的游戏创建一个跟踪数据库。
我不确定如何构建一些表格。
以下是最终结果: 选择一个用户 用户输入建筑物的水平。 这存储在表格中。
棘手的部分(至少对我来说)是根据用户的当前水平确定哪些建筑物和哪些水平可用。
实施例: 目前的用户水平是TH7和实验室水平5和拼写工厂3
第7节可用的法术是A B C. 但是对于工厂级别3,只有法术是A B. 并且实验室法术A最多可以达到3,法术B可以达到最高等级2。
我的想法是所有建筑物和先决条件的所有排列的巨大表格。但这似乎并不合适。这简化了吗?
请记住,有多种相同类型的建筑物即 5个弓箭塔,5门大炮等
我的查询会是这样的 获取玩家当前的先决条件水平 查找当前TH级别可用的所有建筑物。 确定缺少哪些建筑物和水平。 显示那些。
有一个很好的网页已经这样做了(clasofclans-tracker)但是想要为我自己的用法重新创建它并采用其他游戏。学习练习比其他任何事情更多。
答案 0 :(得分:1)
我不熟悉部落冲突,但我可以用你的榜样。
当前的用户级别是TH7和实验室级别5和拼写工厂3
TH7可用的法术是A B C.但是对于工厂等级3,只有法术是A B,实验室法术A最多可以达到3,法术B可以达到最高等级2。
首先,我们将创建对象表。在您的示例中,您命名为User,Laboratory,Spell和Factory。通常,表名是单数。
User
----
User ID
User Name
User Game Name
User Password
User Level
...
Laboratory
----------
Laboratory ID
Laboratory Name
...
Spell
-----
Spell ID
Spell Name
User Level Available
Factory Level Available
...
Factory
-------
Factory ID
Factory Name
...
我们为每个对象创建了一个表。这些表的主键是一个自动生成的整数,我们称之为ID。
现在,这些表本身并不是很有用。我们需要创建将用户与游戏的其他组件相关联的联结表。
我们将讨论的第一个联结表是UserLaboratory表。
UserLaboratory
--------------
User ID
Laboratory ID
Laboratory Level
此表将用户与实验室关联(加入)。实验室级别适用于特定用户和特定实验室。正如您可能猜到的,该表的主键是(用户ID,实验室ID)。
在您的示例中,实验室级别为5。
我们将讨论的下一个联结表是UserFactory表。
UserFactory
-----------
User ID
Factory ID
Factory Level
此表几乎与UserLaboratory表相同,只是它处理工厂。
在您的示例中,出厂级别为3。
我认为此时您可以看到如何创建剩余的联结表。
这是创建任何数据库的过程。
祝你的数据库努力顺利。