只是为了玩一点,我正在尝试通过命令行与两名玩家制作一个回合制战斗游戏。每个玩家控制一个怪物,最多有 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