一个班级的两个孩子如何互相交流?

时间:2018-03-09 23:45:18

标签: javascript ecmascript-6

我有两个玩家级别的玩家,他们有自己的军队,攻击10和防御5。

当我进入player1.attack ()时,第一个玩家攻击第二个玩家的军队,但我只是不明白一个班级的两个孩子如何互相交流。

请给我一些例子或告诉我在哪里可以阅读这个?

2 个答案:

答案 0 :(得分:0)

我认为这可能有所帮助:



class Player {
  constructor(d, a) {
    this.defense = d;
    this.attack = a;
  }

  static attack(attacker, defender) {
    defender.defense -= attacker.attack;
  }
}

var p1 = new Player(10, 5);
var p2 = new Player(100, 20);

Player.attack(p1, p2);
console.log(p1);
console.log(p2);




答案 1 :(得分:0)

一个孩子必须有引用到另一个孩子:

platform_family?('windows')

在这种情况下,我已经明确地将对p2的引用作为let p1 = new Player(); let p2 = new Player(); p1.attack(p2); 方法的参数传递,它看起来像这样:

attack

class Player { constructor () { this.health = 50; this.attack = 10; this.defense = 5; } takeHit (attackRating) { let damage = attackRating - this.defense; if (damage > 0) { this.health -= damage; if (this.health < 1) { this.die(); } } } attack (enemy) { // we'll assume we were passed a valid player, you can // check if you wish. enemy.takeHit(this.attack); } } 方法作为练习留给读者。