游戏类图

时间:2015-04-05 19:59:43

标签: class uml diagram

我在为游戏拍摄类图时遇到问题。 游戏发生的世界可以用字段表示。每 字段由坐标x和y标识。该领域可能很方便 是否建立和解。如果场上有定居点,那就是唯一的 一。每个字段都作为位图链接到横向。在某些领域,那里 可能是资源(例如煤,矿石)或非专有的其他工件。 每个玩家都是公国的统治者。可能属于许多公国 定居点。国籍和公民身份的公国指定 定居卡车。定居者是属于公国的公民 到公国的一个定居点。但是,和解可以 生活在不同的国家,其国籍不符合 国籍。居住在村庄的个人国家以忠诚为特征 拥有该村的公国。对于定居者征收人头税, 每周必须转移到公国。税收为 公国的财政部。过高的税收会降低定居者的士气。 收集的资金对于建筑物的维护非常重要 军队。 在村庄里,您可以放置​​不同类型的建筑物。其中一些可以 每个定居点只建立一个副本(例如,沟渠),其他更大的建筑物 数量(例如,植物毛皮)。沉积物是在建筑物中的一部分 定居者必须作为指定数小时的建造者工作,并且必须是 为他们的建筑提供适当的产品和原材料。 ¬ 每天的沉淀直径可能适用于其他职业(如 armorer,球探)。对定居者来说,他们可以完成他们的工作,通常是 需要适当的建筑物(如锻造,锯木厂)。大多数工人 提供文物 - 制造产品(例如,铁匠,农民)或 生产自然资源(例如,矿工,伐木工人)。制造的 某些工件可能需要产品。然后,邮政工人,由谁 必要的小时数将在生产中使用。神器, 这是由定居者创造的,是一种产品。最多的 产品的向后区域是装甲(例如,剑,锁子甲)和食物 (例如面包,肉)。非产品的最重要的工件类型是 自然资源。颗粒可以更多地储存在人工制品中, 你必须建立一个仓库。

我甚至都没有询问所有的任务 - 我知道这是大而且耗费时间。 我只是想听听一些建议,把什么作为抽象类,什么作为接口放在这里。什么类应该有建立建筑的操作? 提前感谢您的任何想法,事件单句!

1 个答案:

答案 0 :(得分:7)

你实际上在分析模型上有一个很好的开端。分析模型应该代表域,在这种情况下,域是您游戏的世界。如果将名词转换为类和已经具有关联结束属性的动词,则分析模型的第一个版本将会失效。 (但是,确保这些类是单数,而不是复数。)进行此转换的一种方法是在两个方向上制作自然语句的子弹列表,例如:

  • 游戏 [一个或多个]字段
  • 表示
  • Field 代表 [one] Game
  • 字段 [one]坐标
  • 标识
  • 坐标标识 [one] Field
  • [零或一个]字段
  • 中包含的结算
  • 字段包含 [零或一个]结算
  • 。 。

(我认为你接受超类,抽象类和接口可能为时过早,因为你在这里询问基础知识。请在你有更多经验之后再问一个更具体的问题。)

然后,您可以将关联结束属性名称转换为分词短语,使其在目标OO语言中更加正常,同时仍保留语义。这些分词短语告诉读者您的代码关联的目的,以及消除两个类之间的多个关联以用于不同目的。以下是我用拼音短语(即用作形容词的动词短语)的意思的一些例子,用作角色名称:

  • |游戏| -representedGame ----- representField- | Field |
  • |字段| -identifiedField ----- identifyCoordinate- | Coordinate |
  • |结算| -containedSettlement ---- containingField- | Field |
  • 。 。

此时,列出一个动词列表,代表您希望类完成的事情。这些是你的行动。有时很明显哪个班级应该负责操作;其他时候你必须拟人化。

现在,使用图形和I / O库的那些操作的代码方法,你自己就是一个游戏!

有关详细信息,我强烈建议您阅读Leon Starr的How to Build Articulate UML Models文章或H. S. Lahman的书Model-Based Development: Applications