0

「プレイヤー」と「アーマー」の2つのクラスがあります。「Player」には、RPG ゲームで見られると思われる一般的な変数が含まれています。「鎧」には、鎧に関連する一般的な変数が含まれています。

「鎧」クラスには、次のメソッドがあります。

public boolean canEquip() {

    boolean tf = false;

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

        tf = true;
    } else
        tf = false;

    return tf;
}

プレイヤーがセーブファイルをロードするか、新しいゲームを作成するまで作成されないオブジェクトを参照しようとしています。その時点で Player オブジェクトが作成されます。このメソッドを正しく記述する方法はありますか?

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

2 に答える 2

3

Ashwin が言うように、Player は canEquip() 関数のパラメーターである必要があります。

public boolean canEquip (Player player) {
    return (player.getLevel() >= wieldLevel);
}
于 2013-05-06T02:39:54.360 に答える
0

余談ですが、まったく同じ機能と動作で、コードのブロック全体を次のように単純化できます。

public boolean canEquip() {

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

ここでプレーヤーのプロパティを確認できないというあなたの声明は、私にとって少し混乱を招きます. 何かを装備できるプレイヤー オブジェクトがない場合に、プレイヤーが何かを「装備できる」かどうかを確認する必要があるのはなぜですか?

于 2013-05-06T03:11:29.007 に答える