[英]How do I set up a targetting system in Java?
我正在用Java開發命令行游戲,以幫助更好地了解GUI等,但遇到了一個問題。 在游戲中,我希望能夠定位到其他玩家。 我正在制作一種稱為Attack()的方法。 如果我想攻擊玩家,我該怎么做,所以我可以使用Attack(bar)作為函數。 我不知道如何在參數中引用對象或在其他類中創建的對象。 我需要執行的代碼基本上是這樣的:假設我的名字叫Player foo,而我正在攻擊Player bar。 每個玩家都有2個實例變量,即Player.playerHealth
和Player.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.