簡體   English   中英

如何在Java中設置定位系統?

[英]How do I set up a targetting system in Java?

我正在用Java開發命令行游戲,以幫助更好地了解GUI等,但遇到了一個問題。 在游戲中,我希望能夠定位到其他玩家。 我正在制作一種稱為Attack()的方法。 如果我想攻擊玩家,我該怎么做,所以我可以使用Attack(bar)作為函數。 我不知道如何在參數中引用對象或在其他類中創建的對象。 我需要執行的代碼基本上是這樣的:假設我的名字叫Player foo,而我正在攻擊Player bar。 每個玩家都有2個實例變量,即Player.playerHealthPlayer.playerDamage (它們造成的傷害)。 我需要這樣做:

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

因此,基本上,我需要將失去健康狀態的玩家設置為參數中的名稱。 我該如何實現?

我認為您正在尋找這樣的東西:

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

Attack方法是在Player類上聲明的,因此,只要您對Player引用“ foo”,就可以通過以下方式調用foo.attack(otherPlayer)foo.attack(otherPlayer)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM