2017-11-21 9 views
0

私はPlayerというjavascriptクラスを作成していますが、プレーヤーオブジェクトのヘルス変数が0以下になったときに実行されるコードがいくつか存在することを願っています。私はどのようにこれを達成するためにセッターを効果的に使用するかわかりませんが、私は仕事を完了する他のソリューションには開いています。私は私が作業しているもののサンプルコードを添付しています.JSクラスを書く/書くときのテクニックを改善するための解決策やヒントはありがたいです。 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/:あなたはES6 文献[ `set`メソッドを使用することができ条件が満たされたときに特定のクラス変数を変更してコードを実行する方法を教えてください。

class Player { 
    constructor(name, health, mana, attack, defense) { 
    this.name = name; 
    this.health = health; 
    this.mana = mana; 
    this.attack = attack; 
    this.defense = defense; 
    } 

    attackPlayer(secondPlayer) { 
    secondPlayer.health = secondPlayer.health - this.attack; 
    console.log(this.name + " attacks " + secondPlayer.name + " pwnishungly and deals " + this.attack + " in damage."); 
    } 
} 


var AK = new Player("AK", 100, 200, 60, 100, 2); 
var Joe = new Player("Joe", 100, 250, 85, 60, 2); 

Joe.attackPlayer(AK); 
+1

関数/集合 –

答えて

0

class Player { 
 
    private _health: number 
 
    constructor(name, health, mana, attack, defense) { 
 
    this.name = name; 
 
    this.health = health; 
 
    this.mana = mana; 
 
    this.attack = attack; 
 
    this.defense = defense; 
 
    } 
 

 
    get health(){ 
 
    return this._health; 
 
    } 
 
    
 
    set health(value){ 
 
    if(value===0) { 
 
     console.log('Player has died!'); 
 
    } 
 
    this._health = value; 
 
    } 
 
    
 
    attackPlayer(secondPlayer) { 
 
    secondPlayer.health = secondPlayer.health - this.attack; 
 
    console.log(this.name + " attacks " + secondPlayer.name + " pwnishungly and deals " + this.attack + " in damage."); 
 
    } 
 
}

関連する問題