2

ゾンビとアリを使った GUI のないタワー ディフェンス ゲームに取り組んでいます。私の問題は、アリの 1 つにあります。受けたダメージの半分(端数切り捨て)をゾンビに反射するはずです。これは、アリとサンプル ゾンビのコードです。

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も何もせず、0 が含まれているだけです。コードの何が問題なのか誰か教えてもらえますか? よろしくお願いします。

4

1 に答える 1

3

このような実装は、損傷をよりよく反映しませんか?

public void takeDamage(int amount, Zombie z){
    setLife(amount, z);
    z.takeDamage(amount / 2);
}
于 2012-11-25T21:04:11.743 に答える