Design patterns 博弈的策略模式

Design patterns 博弈的策略模式,design-patterns,strategy-pattern,Design Patterns,Strategy Pattern,嗨,我应该用策略模式来写这个游戏的代码。我创建国家级和角色界面。但我有点困惑,我不知道我应该在哪里添加能力 玩家首先必须为他的国家选择一个国家,可以是:拉特维里亚、生态岛、恐龙岛。选择国家后,玩家必须为其角色指定一个等级,方法是选择国王、王后、巨魔和骑士。根据它的等级,一个角色可以有不同的能力:一个骑士可以处理任何事情 一种武器,包括弓和箭,剑,刀和斧。金不使用任何武器,他可以制定战略。女王使用特殊的魔法。巨魔使用刀斧。所有类型的角色都可以使用其特定的能力进行战斗。此外,所有人都会骑马和游泳。看

嗨,我应该用策略模式来写这个游戏的代码。我创建国家级和角色界面。但我有点困惑,我不知道我应该在哪里添加能力

玩家首先必须为他的国家选择一个国家,可以是:拉特维里亚、生态岛、恐龙岛。选择国家后,玩家必须为其角色指定一个等级,方法是选择国王、王后、巨魔和骑士。根据它的等级,一个角色可以有不同的能力:一个骑士可以处理任何事情
一种武器,包括弓和箭,剑,刀和斧。金不使用任何武器,他可以制定战略。女王使用特殊的魔法。巨魔使用刀斧。所有类型的角色都可以使用其特定的能力进行战斗。此外,所有人都会骑马和游泳。

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

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

现在,将四种不同的角色类型创建为包含与该类型相关的所有属性的类,这四个类将从角色类继承

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


像这样的东西应该可以用,好吧

某种UML包对于设计这种东西是很好的,我已经创建了一个。因为我不能在这里上传,所以我把它上传到了imgur上:我应该创建能力界面,而不是角色界面。我做对了吗?没有,我会把这些能力放在单独的角色类型类中,比如皇后和国王等。这些能力将是每个角色类型的属性。所以在你的图表上,你对角色类的理解非常正确,然后把这些能力作为各个类型的属性。希望这对我有所帮助,但我不应该在策略模式中使用界面吗?因为在所有的例子中都有接口。你没有指定你正在使用的语言,所以这取决于你如何使用类和接口实现,核心结构将非常类似于你使用的任何一种语言,只是转换逻辑以适合你确定:我将使用java。我有最后一个问题,这是战略模式的正确结构吗?这个逻辑正确吗?