player基于Java文本的回合制游戏(游戏邦注:一名玩家将采取行动,然后是另一名玩家),允许一名玩家对另一名玩家施放咒语。我想让这个法术对它的目标有一个特定的持续时间。例如,降低目标的伤害2回合。更好的方法是什么?
private void reducedamage(Hero target) {
target.setdamage(target.damageMin/2,target.damageMax/2,5);
System.out.println(target.name+" is crippled!n"+target.name+"'s min damage:"+target.damageMin+"n"+target.name+"'s max damage:"+target.damageMax);
}
在这种情况下我应该如何利用'turn'参数?"回合"指的是这个咒语应该起作用的回合数
我不知道你的设计和实现是什么。但假设你有一个游戏对象,它保存玩家、回合、活跃玩家等信息。
这个对象还可以参考每个玩家的生命值信用余额(我将其命名为lastingDamageRemaining
或其他东西),这是在每个回合(无论是对手的回合,还是活跃玩家的回合,取决于你的游戏设计)中分期支付的。
每当玩家施放咒语时,你将lastingDamageRemaining
的值增加该咒语的力量,并指定"分期";或者每一回合应该减少多少。