java - Ant 大战僵尸游戏

标签 java variables methods project

我正在开发一款带有僵尸和 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/

相关文章:

java - 将 AnchorPane 打印为 PNG

php - 在 INI 文件中使用关键字作为变量名

java - 为什么java没有.class之类的.field和.method反射关键字?

ruby - 我可以向现有 Ruby 类添加自定义方法吗?

java - 使用 XMLDecoder 将编码的 XML 转换为 List<T>

java - 如何在neo4j v2.0中使用neo4j核心遍历算法遍历图

java - 无法在预集成测试阶段启动 Jetty

php - 如何将 php 变量传递给同一页面中的另一个表单?

javascript - Jquery/JavaScript - 将 Ajax jSONP 响应存储到变量中

c# - 为什么 javascript 有函数而 C# 有方法?