Правильно организовать занятия в javascript - PullRequest
0 голосов
/ 29 января 2020

я пишу сервер для игры в node.js.

У меня проблема с правильной конструкцией. Например, у меня есть этот код:

class mob {
    constructor(name) {
      this.name = name;
      this.health = 100;
    }
    getHealth() {
      return this.health;
    }
}

class items{
    constructor(name, id) {
      this.name = name;
      this.id= id;
      this.value= value;
    }
    getValue() {
      return this.value;
    }
}

 class world {
    constructor(name) {
      this.name = name;
      this.weather = 'rain';
      this.monsters = {};
    }

   addMonster(name) {
     const monster = new mob(name);
     this.monsters['1'] = monster;
   }

   setWeather(weather) {
     this.weather = weather;
   }
   play() {
     this.addMonster('dragon');

   }
 }

game = new world;
game.play();

И я хотел бы управлять погодой внутри мирового класса, не дублируя ее в классе монстров, используя, например, такой код: monster.setWeather('snow');

Другое после того, как я хотел бы добавить новые классы, такие как элементы, объекты карты и т. д. c. внутри мирового класса и манипулировать ими с функциями внутри мирового класса. Например: item.setWeather('rainbow');, а также манипулировать классом в других классах, таких как monster.getItemValue('item') Как правильно это сделать в javascript?

1 Ответ

0 голосов
/ 29 января 2020

Не знаю, правильно ли я понимаю.

Поскольку у вас уже есть глобальная переменная "game", вы можете напрямую использовать "game.setWeather ()".

...