首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Django/GAE中基于浏览器的策略游戏。模型建议?

Django/GAE中基于浏览器的策略游戏。模型建议?
EN

Stack Overflow用户
提问于 2010-10-29 01:05:24
回答 1查看 515关注 0票数 3

我在Google App Engine上用app-engine-patch在Django中创建了一个转弯和基于文本的策略游戏。简化的概念是每个玩家可以建造几个不同的单位和建筑来改善他们的基础,并与其他玩家争夺分数。

我的问题涉及到Django模型的设计,在我看来,具有不同攻击力和寿命的建筑和单位应该是自己的模型,就像这样:

代码语言:javascript
复制
class Unit(db.Model):
    name = db.StringProperty()
    type = db.ReferenceProperty(UnitType)
    targets = KeyListProperty(UnitType)
    attack = db.IntegerProperty()
    life = db.IntegerProperty()
    price = db.IntegerProperty()

然后我的问题来了,如何能够最简单地设置特定单位/建筑的玩家数量。举个例子,玩家应该能够购买15架飞机。

然后,我可以在玩家模型中将" airplane“设置为IntegerProperty,并在获取飞机的攻击力和生命时使用单位名称作为标识符。然而,这并不是一个非常动态的设计,因为玩家模型不知道单元“飞机”是否真的存在。我希望玩家模型能以某种方式镜像现有的单位/建筑模型。

这是我第一次尝试基于网络的游戏,所以我可能完全偏离了轨道,有人对此有意见吗?有没有更好的方法呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-10-29 01:17:13

Unit类派生怎么样?

代码语言:javascript
复制
class Airplane(Unit):
    owner = db.ReferenceProperty(User)

这样,您的User类将根据documentation自动获得一个airplane_set集合(实际上是一个查询

编辑

或者,您可以像这样实现Airplane类:

代码语言:javascript
复制
class Airplane(db.Model):
    unit = ReferenceProperty(Unit)
    amount = IntegerProperty()
    user = db.ReferenceProperty(User)
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4045344

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档