我有两个玩家级别的玩家,他们有自己的军队,攻击10和防御5。
当我进入player1.attack ()
时,第一个玩家攻击第二个玩家的军队,但我只是不明白一个班级的两个孩子如何互相交流。
请给我一些例子或告诉我在哪里可以阅读这个?
答案 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);
}
}
方法作为练习留给读者。