2013-05-06 62 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