gpt4 book ai didi

python - 模型开发选择

转载 作者:太空宇宙 更新时间:2023-11-03 16:03:17 27 4
gpt4 key购买 nike

假设我想开发一款游戏(类似于 RTS,以经济为导向),其中玩家以及 AI 可以拥有几乎所有游戏内对象。例如:玩家拥有一 block 土地和上面的一些建筑物;其他玩家,或者AI也可以有一些建筑物,或者说,在这 block 土地上;此外,某人可以拥有整个地区的此类土地,并将其中一些出售给其他人。可拥有的物体可以是可移动的,也可以是不可移动的,但它们都具有共同的属性,例如所有者、所有权、世界坐标等。与 Django 模型相关的哪种数据库结构最适合此描述?

  • Owner_Table -(一对多)- PossesableObject_Table
  • PossesableObject_Table -(多对多)- PossesableObject_Table(在例如,与所在土地相连的建筑物)

  • Owner_Table -(一对多)- PossesableObjectType_Table(每种可能对象类型的表)
  • PossesableObjectType_Table -(一对多)-
    PossesableObjectType_Table(对于上面已经解释过的类型
    链接)

最佳答案

您应该问的问题如下:

  1. A 能否最多链接到 1 个或多个(多于 1 个)B?
  2. B 最多可以链接到 1 个或多个 A 吗?

如果 A 可以链接到多个 B 并且 B 可以链接到多个 A,则需要多对多链接。

如果A最多可以链接1个B,B可以链接多个A,则需要一对多链接,其中链接列在表A中。

如果 A 最多可以链接到 1 个 B,B 最多可以链接到 1 个 A,则您需要一对一链接。此时,您应该考虑是否可行将它们连接到 1 个表中,尽管从其他考虑因素来看这可能是不可能的或好的。

在您的情况下,您会问自己这样的问题:一个 PossessableObject 是否最多只能链接到 1 个其他 PossessableObject 或许多其他 PossessableObject?或者换句话说:一个 PossessableObject 最多只能被 1 个其他 PossessableObject 或许多其他 PossessableObject 拥有吗?如果答案最多为 1,则使用一对多链接,如果答案为多个,则使用多对多链接。

另外,关于您对每种可能的对象类型的 PossesableObject_Table 的问题:我认为最好将它们共有的东西放在一个表中,然后指定类型。不是为具有对象的唯一属性的每种类型的对象创建一个单独的表并将它们连接起来,但您的方法也将有效。这取决于您有多少种不同类型以及认为最容易使用的类型。请记住:只要有效就可以。

关于python - 模型开发选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40101049/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com