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

›Consigli e trucchi

Gioco

  • Descrizione generale
  • Obiettivo
  • Gameplay
  • Prospettiva
  • Punteggio
  • Modalità Epica
  • Torri

Bozze

  • Unità
  • Guerriero
  • Abilità
  • Spazi

API giocatore

  • API relative allo spazio
  • API dell'unità
  • API del turno

Consigli e trucchi

  • Generale
  • JavaScript
  • Intelligenza Artificiale
  • CLI

CLI

  • Installazione
  • Opzioni
Translate

Consigli per JavaScript

  • Non riempire il metodo playTurn con un sacco di codice, ma organizza il tuo codice con metodi e classi. Ad esempio:
class Player {
  playTurn(warrior) {
    if (this.isInjured(warrior)) {
      warrior.rest();
    }
  }

  isInjured(warrior) {
    return warrior.health() < 20;
  }
}
  • Se desideri che una parte di codice venga eseguita all'inizio di ogni livello, definisci un costruttore all'interno della classe Player, come nell'esempio seguente:
class Player {
 constructor() {
  // Questo codice verrà eseguito una sola volta, all'inizio del livello.
  this.health = 20;
  } 

 // ...
}
  • È possibile richiamare i metodi delle API dello spazio direttamente dopo una percezione. Ad esempio il senso "percepire" nella torre "Baby Steps" restituisce uno spazio. Puoi richiamare isEmpty() su questo per determinare se lo spazio è libero prima di andarci:
class Player {
  playTurn(warrior) {
    if (warrior.feel().isEmpty()) {
      warrior.walk();
    }
  }
}
  • Alcune percezioni sensoriali (come "guardare" e "ascoltare" nella torre "Baby Steps"), invece, restituiscono una lista di spazi, quindi potresti trovare molto utili molti dei prototipi dei metodi degli array. Ecco qui un esempio del metodo Array.prototype.find:
class Player {
  // ...

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