WarriorJS Docs
  • Jugador
  • Creador
  • Comunidad
  • Español
    • English
    • العربية
    • Català
    • Čeština
    • Deutsch
    • Ελληνικά
    • Français
    • Italiano
    • Polskie
    • Русский
    • Српски језик (Ћирилица)
    • Svenska
    • Türkçe
    • 中文
    • 繁體中文
    • Ayúdanos a Traducir
  • GitHub

›Consejos y Trucos

Juego

  • Reseña
  • Objetivo
  • Jugabilidad
  • Perspectiva
  • Puntuación
  • Modo Épico
  • Torres

Conceptos

  • Unidades
  • Guerrero
  • Habilidades
  • Espacios

API del Jugador

  • API del Espacio
  • API de la Unidad
  • API del Turno

Consejos y Trucos

  • Generales
  • JavaScript
  • Inteligencia Artificial
  • CLI

CLI

  • Instalación
  • Opciones
Translate

Consejos de JavaScript

  • No llenes simplemente el método playTurn con un montón de código, organiza tu código con clases y métodos. Por ejemplo:
class Player {
  playTurn(warrior) {
    if (this.isInjured(warrior)) {
      warrior.rest();
    }
  }

  isInjured(warrior) {
    return warrior.health() < 20;
  }
}
  • Si quieres que cierto código se ejecute al principio de cada nivel, define un constructor en la clase Player, como sigue:
class Player {
  constructor() {
    // Este código será ejecutado una única vez, al comienzo del nivel.
    this.health = 20;
  }

  // ...
}
  • Puedes llamar métodos de la API del Espacio directamente tras un sentido. Por ejemplo, el sentido "feel" en la torre "Baby Steps" devuelve un espacio. Puedes llamar isEmpty() sobre él para determinar si el espacio esta despejado antes de caminar allí:
class Player {
  playTurn(warrior) {
    if (warrior.feel().isEmpty()) {
      warrior.walk();
    }
  }
}
  • Algunos sentidos (como "look" y "listen" en la torre "Baby Steps") devuelven una lista de espacios, por lo que puedes encontrar muchos de los métodos de Array realmente útiles. Aquí hay un ejemplo del método Array.prototype.find:
class Player {
  // ...

  isEnemyInSight(warrior) {
    const spaceWithUnit = warrior.look().find(space => space.isUnit());
    return spaceWithUnit && spaceWithUnit.getUnit().isEnemy();
  }
}
← Consejos GeneralesConsejos de IA →
WarriorJS Docs
Docs
PlayerMaker
Community
SpectrumTwitterFollow WarriorJS on Twitter
More
DonateGitHubStar