【发布时间】:2013-09-20 19:32:59
【问题描述】:
我正在尝试制作棋盘游戏的移植版。棋盘游戏中的每个玩家选择八个不同角色中的一个。每个角色都有一个特殊的能力和一些风味文字,但除此之外,它们或多或少是相同的。
目前我有一个BaseHero 课程。我为八个不同的字符中的每一个创建了一个类,并让它们扩展BaseHero。但是,永远不会有同一个角色的多个实例。这是实现这一点的最佳方式吗?
我的替代想法是创建一个 CharacterList 类,其中将包含所有特殊能力的代码和布尔测试以确定它们是否存在于游戏中,但我觉得这太笨拙且明显不-模块化。
【问题讨论】:
-
听起来很合理。我可能会在 BaseHero 中定义一些抽象方法,然后可以为每个特定英雄定义。
-
你也可以为此创建一个枚举。