Class 游戏类图

Class 游戏类图,class,uml,diagram,Class,Uml,Diagram,我在为游戏绘制类图时遇到问题。 游戏发生的世界可以用场来表示。每个 字段由坐标x和y标识。这一领域可能对我们来说很方便 是否建立定居点。如果现场有沉降,则 一个。每个字段作为位图链接到一个风景。在某些领域,有 可能是资源(如煤炭、矿石)或其他非专有的人工制品。 每个玩家都是一个公国的统治者。可能属于许多公爵领地 定居点。国籍和公民身份公国指定 卡车。定居者是公爵领地的公民 去公国的一个定居点。但是,和解可能会, 居住在不同的国家,他们的国籍不一致 公民身份居住在村庄中的各个民族,其特点是忠于祖国

我在为游戏绘制类图时遇到问题。 游戏发生的世界可以用场来表示。每个 字段由坐标x和y标识。这一领域可能对我们来说很方便 是否建立定居点。如果现场有沉降,则 一个。每个字段作为位图链接到一个风景。在某些领域,有 可能是资源(如煤炭、矿石)或其他非专有的人工制品。 每个玩家都是一个公国的统治者。可能属于许多公爵领地 定居点。国籍和公民身份公国指定 卡车。定居者是公爵领地的公民 去公国的一个定居点。但是,和解可能会, 居住在不同的国家,他们的国籍不一致 公民身份居住在村庄中的各个民族,其特点是忠于祖国 拥有这个村庄的公国。因为定居者征收人头税, 每个星期都要转移到公国。税收养活了穷人 公国国库。过高的税收降低了定居者的士气。 为维护建筑物和设施而筹集的资金 军队。 在村庄里你可以放置不同类型的建筑。其中一些可能是 每个定居点(如沟渠)只建一个副本,其他定居点则建更大的副本 数量(例如,植物毛皮工)。沉淀物是在建筑物里的一部分 定居者必须以建设者的身份工作指定的小时数,并且必须 为其施工提供适当的产品和原材料。¬ 每天的沉淀直径可能适用于其他职业(如 军械商,侦察兵)。移民可以完成他们的工作,通常是 需要适当的建筑物(如锻造厂、锯木厂)。大多数工人 提供人工制品-制造产品(如铁匠、农民)或 生产自然资源(如矿工、伐木工人)。制造 某些工件可能需要产品。那么,邮政工作者,由谁来负责呢 必要的工作小时数将用于生产。神器, 它是定居者的产物。最多 后面积​​该产品包括盔甲(如剑、链甲)和食品 (如面包、肉)。不是产品的最重要的工件类型是 自然资源。为了使小球能更多地储存在人工制品中, 你必须建一个仓库

我甚至没有问所有的任务——我知道这是一项巨大的任务,需要花费大量的时间。 我只是想听听一些建议,什么是抽象类,什么是接口。什么类应该具有建造建筑物的操作?
提前感谢您的任何想法,活动单句话

实际上,您在分析模型方面有了一个很好的开端。分析模型应该表示域,在本例中,域就是游戏的世界。如果将名词转换为类,将已有的动词转换为关联结束属性,则会出现分析模型的第一个版本。(但是,要确保这些类是单数的,而不是复数的。)进行这种转换的一种方法是在两个方向上列出自然语言句子的项目符号列表,例如:

  • 由[一个或多个]字段表示的游戏
  • 场代表[一]场比赛
  • 由[1]坐标标识的字段
  • 坐标标识[1]字段
  • [零或一]字段中包含的结算
  • 字段包含[零或一]结算
(我认为,既然你在这里问的是基础知识,那么现在就开始学习超类、抽象类和接口可能还为时过早。在你有了更多的经验之后,请再问一个更具体的问题。)

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

  • |游戏|-代表游戏------代表场-|场|
  • |字段|-标识字段------标识坐标-|坐标|
  • |结算|-包含结算----包含字段|字段|
在这一点上,列出一个动词列表,表示您希望类完成的事情。这些是你的行动。有时很明显,哪个类应该负责一个操作;其他时候你必须拟人化

现在,使用图形库和I/O库为这些操作编写方法,您就有了一个游戏


有关更多信息,我强烈建议您阅读Leon Starr的文章或H.s.Lahman的书。

感谢您提供了有用的观点——将类和操作识别为名词和动词!我有一个关于关系类型的问题。我不明白联想和作文之间的区别。我的意思是,它们都是作为类中包含的属性实现的。我应该在哪里确定组合或聚合?例如,字段和结算之间的关系是聚合?聚合和组合不是特别有用。如果你坚持,只使用合成,合成对象与合成对象一起消失。因此,在你看来,我应该在这里主要使用关联和依赖?谢谢你的帮助。接受。请接受下面的答案。您将无法在此处获得您的域的模型。你的问题(从我的角度)太广泛了。