我正在开发一款带有僵尸和 Ant 的无 GUI 塔防游戏。我的问题出在其中一只 Ant 身上。它应该将对其造成的伤害的一半(向下舍入)反射回僵尸。这是我的 Ant 和示例僵尸的代码。
package proj4;
public class ThiefAnt extends Ant {
private int taken;
public ThiefAnt(){
super(15, 25, "Thief Ant");
}
public void takeDamage(int amount, Zombie z){
setLife(amount, z);
taken = amount / 2;
}
public void attack(Game g){
Zombie z = g.getHorde().elementAt(0);
z.takeDamage(taken);
}
}
package proj4;
public class GiantZombie extends Zombie implements Gigantic {
public GiantZombie() {
super(40, 20, "Giant Zombie");
}
public void attack(Game g) {
Ant a = g.getColony().elementAt(0);
a.takeDamage(35, this);
}
}
我的问题在于所采用的变量。对于其 setLife
参数 amount 工作正常, Ant 会根据该数量受到伤害。但是对于采取的变量,将其设置为 amount
不会执行任何操作,它只包含 0。谁能告诉我我的代码有什么问题吗?提前谢谢大家。
最佳答案
这样的实现难道不能更好地反射(reflect)损害吗:
public void takeDamage(int amount, Zombie z){
setLife(amount, z);
z.takeDamage(amount / 2);
}
关于java - Ant 大战僵尸游戏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13555438/