Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 蚂蚁大战僵尸游戏_Java_Variables_Methods_Project - Fatal编程技术网

Java 蚂蚁大战僵尸游戏

Java 蚂蚁大战僵尸游戏,java,variables,methods,project,Java,Variables,Methods,Project,我正在开发一款无GUI的僵尸和蚂蚁塔防游戏。我的问题是其中一只蚂蚁。它应该将对它造成的伤害的一半(向下舍入)反射回僵尸。这是我为蚂蚁和僵尸编写的代码 package proj4; public class ThiefAnt extends Ant { private int taken; public ThiefAnt(){ super(15, 25, "Thief Ant"); } public void takeDamage(int a

我正在开发一款无GUI的僵尸和蚂蚁塔防游戏。我的问题是其中一只蚂蚁。它应该将对它造成的伤害的一半(向下舍入)反射回僵尸。这是我为蚂蚁和僵尸编写的代码

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);
    }
}

我的问题是take变量。对于它的
setLife
参数amount工作正常,蚂蚁根据amount受到伤害。但是对于take变量,将其设置为
amount
不起任何作用,它只包含0。谁能告诉我我的代码有什么问题吗?提前感谢大家。

像这样的实现不是更好地反映了损害:

public void takeDamage(int amount, Zombie z){
    setLife(amount, z);
    z.takeDamage(amount / 2);
}

哈哈,是的。我在这件事上纠缠了几个小时,你几分钟就解决了。非常感谢你!