【发布时间】:2012-08-09 03:09:18
【问题描述】:
只是为了玩一点,我正在尝试通过命令行制作一个由两名玩家组成的回合制战斗游戏。每个玩家控制一个怪物,最多有 4 个不同的动作。我已经定义了 Monster 和 Move 类来定义不同的怪物和动作。当玩家使用移动时,我想我想在移动中调用类似 performOn(Monster mon) 的方法来使用。在那个方法中,我想定义动作的实现,因为不是每个动作都会做同样的事情。我很确定 Java 可以做到这一点,但我不完全确定它是如何完成的。对于 Monster 和 Move 类,我有一个内部 Builder 类来避免使用大的构造方法。如果有人对如何执行移动有更好的想法,请随时分享。 :)
谢谢!
例子:
// moves is a HashMap<String, Move>
monster1.moves.get("Firebreath").performOn(monster2); // damages monster2
monster2.moves.get("Heal").performOn(monster2); // heals monster2
【问题讨论】:
标签: java design-patterns inheritance