← На главную
Серия руководств

Шаг 12. Заработок и трата монет

Создание Tower Defense с PIXI • Шаг 12 из 12

Игрок тратит монеты на строительство и улучшение башен, а получает их за убийство врагов. Стоимость башен и награда за врага указаны в конфигурациях towers и enemies файла Config.js.

Добавим обработку расходов и доходов в соответствующие методы Game.

  1. В onTowerPlaceClick добавим проверку наличия нужного числа монет и их списание при строительстве и улучшении башни:
onTowerPlaceClick(towerPlace) {
    const towerConfig = App.config.towers["tower" + (towerPlace.level + 1)];

    if (!towerConfig) {
        return;
    }

    if (this.player.coins < towerConfig.coins) {
        return;
    }

    this.player.coins -= towerConfig.coins;
    ++towerPlace.level;
    // ...
}
  1. Также выдадим игроку награду за убийство врага в processEnemyBulletCollision:
processEnemyBulletCollision() {
    // ...
    enemy.addDamage(bullet.damage);
    if (enemy.hp <= 0) {
        this.player.coins += enemy.config.coins;
    }
    // ...
}

Интерфейс уже постоянно обновляется в Game.update, поэтому отдельно перерисовывать его после каждого такого действия не нужно.