2015-09-26 178 views
0

嗨我应该使用战略模式来编写这款游戏的代码。我创建了Country类和Character接口。但我有点困惑,我不知道应该在哪里添加能力?游戏状态模式

玩家首先必须为他的国家选择一个国家,这可能是:Latveria,Ecotopia,Dinotopia。选择国家后,玩家必须选择以下选项之一为他/她的角色分配一个职业:国王,女王,巨魔和骑士。根据角色类别不同,角色可以有不同的能力:骑士可以轻松处理任何种类的武器,其中包括弓箭,剑,刀和斧头。国王不使用任何武器,他可以制定战略。女王使用特殊的魔法。巨魔使用刀和轴。所有类型的角色都可以使用其特定的能力进行战斗。此外,所有人都可以骑马游泳。

+0

某种UML包的将是很好的设计这种我已经创建了一件事 – Rob85

+0

。由于我无法在这里上传,所以我上传了imgur:http://imgur.com/KR7GDlx – dummy

回答

0

看着你给的图我会做不同的。首先,你不需要一个Country类,而只需要它作为一个列表,并让你的Character类有一个Country Property,根据用户选择的内容从这个列表获取值。

创建一个字符类,其中包含任何字符相同的所有方法和属性。

现在创建四种不同的字符类型作为包含与该类型相关的所有属性的类,这四个类将继承Character类。

当用户创建一个新字符时,您将创建一个新的CharacterType实例,并通过构造函数传递国家和类的类型,然后根据给定数据继续创建字符类型,然后继续根据需要设置字符。

像这样的东西应该工作正常

+0

而不是字符界面我应该创建界面。我说得对吗? – dummy

+0

没有我将放在单独的角色类型类如女王和国王等的能力,能力将是每个角色类型的属性。所以在你的图上,你对Character类几乎是正确的,然后把这些能力作为单个类型的属性。希望这有助于 – Rob85

+0

我明白了,但不应该在战略模式中使用接口?因为在所有的例子中都有接口。 – dummy