如何在Java中设置定位系统?

时间:2011-09-05 21:43:26

标签: java

我正在用Java编写一个命令行游戏,以帮助更好地学习GUI等等,我遇到了一个问题。在游戏中我希望能够瞄准另一个玩家。我正在制作一个名为attack()的方法。如果我想攻击一个玩家,我会怎么做,以便我可以使用攻击(bar)作为一个功能。我不知道如何引用参数中的对象或在不同类中创建的对象。我需要做的代码基本上是这样的:假设我的名字是Player foo,我正在攻击玩家吧。每个玩家都有2个实例变量,Player.playerHealthPlayer.playerDamage(他们所做的伤害)。我需要这样做:

attack(playerTarget) {
    target = playerTarget
    target.playerHealth = target.playerHealth - foo.playerDamage;  
}

所以基本上我需要它来设置失去健康的玩家等于参数中的名字。我怎么能实现这个目标?

1 个答案:

答案 0 :(得分:0)

我认为你正在寻找这样的东西:

public class Player {
    private int playerHealth;
    private int playerDamage;

    public void attack(Player target) {
        target.playerHealth -= this.playerDamage;
    }

    public static void main(String[] args) {
        Player foo = new Player();
        foo.playerHealth = 10;
        foo.playerDamage = 1;

        Player bar = new Player();
        bar.playerHealth = 10;
        bar.playerDamage = 1;

        foo.attack(bar);
        foo.attack(bar);

        System.out.println(bar.playerHealth); // will print 8
    }
}

攻击方法是在Player类上声明的,因此只要你有一个对玩家的引用'foo',你就可以通过以下方式调用攻击:foo.attack(otherPlayer)