模型开发choi

2024-05-12 20:03:29 发布

您现在位置:Python中文网/ 问答频道 /正文

比如说,我想开发一款游戏(类似RTS,以经济为导向),玩家和AI可以拥有几乎所有的游戏内对象。例如:玩家拥有一块土地和一些建筑物;其他玩家或AI也可以在这块土地上拥有一些建筑物或其他东西;此外,有人可以用这些土地占有整个地区,并将其中一些出售给其他人。可能的对象可以是可移动的,也可以是不可移动的,但它们都有共同的属性,例如所有者、头衔、世界坐标等等。关于Django模型,什么样的数据库结构最适合此描述

  • 所有者表-(一对多)-可能对象表
  • 可能对象_表-(多对多)-可能对象_表(在 例如,建筑链接到其所在的地块)

  • Owner_表-(一对多)-可能的ObjectType_表(每种可能对象类型的表)
  • 可能的ObjectType_表-(一对多)-
    PosseableObjectType_表(针对上述类型的
    链接)

Tags: 对象游戏类型属性链接玩家经济地区
1条回答
网友
1楼 · 发布于 2024-05-12 20:03:29

您应该问以下问题:

  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个单表中,尽管从其他方面考虑这可能是不可能的或好的。p>

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

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

相关问题 更多 >