2013-05-06 37 views
0

我有兩個類:「玩家」和「護甲」。 「玩家」包含您期望在RPG遊戲中找到的通用變量。 「護甲」包含與護甲相關的通用變量。在運行時創建的參考對象

在「鎧甲」級,我有這樣的方法:

public boolean canEquip() { 

    boolean tf = false; 

    if (this.wieldLevel <= [NEED CODE HERE]) { 

     tf = true; 
    } else 
     tf = false; 

    return tf; 
} 

我想直到玩家加載SAVEFILE或創建一個新的遊戲來引用不會被創建的對象,在這一點Player對象將被創建。有沒有辦法正確寫這個方法?

if (this.wieldLevel <= Player.getLevel()) 
//this doesn't seem to work. 
+2

您可以傳遞'Player'作爲參數,然後檢查玩家的等級。 – Achrome 2013-05-06 02:35:46

回答

3

正如Ashwin所說,Player應該是canEquip()函數的一個參數。

public boolean canEquip (Player player) { 
    return (player.getLevel() >= wieldLevel); 
} 
0

順便說一句,你可以將代碼的整個塊簡化爲具有完全相同的功能和行爲如下:

public boolean canEquip() { 

    return (this.wieldLevel <= [NEED CODE HERE]); 
} 

你的說法,你無法對證的球員在這裏的屬性對我來說有點困惑。你爲什麼要檢查一下,如果沒有玩家可以裝備東西的話,玩家是否可以「裝備」?

+0

Player對象是在用戶創建新遊戲或加載保存文件時創建的。因此,沒有任何對象可以與之比較。無論如何,Thomas W已經在他的帖子中顯示了這一點。 – Aaron 2013-05-07 01:14:48