- Nie wystarczy wypełnić metody
playTurn
dużą ilością kodu, zorganizuj swój kod przy użyciu metod i klas. Na przykład:
class Player {
playTurn(warrior) {
if (this.isInjured(warrior)) {
warrior.rest();
}
}
isInjured(warrior) {
return warrior.health() < 20;
}
}
- Jeśli chcesz aby część kodu była wykonywana na początku każdego poziomu, zdefiniuj konstruktor w klasie
Player
, tak jak jest to pokazane poniżej:
class Player {
constructor() {
this.health = 20;
}
}
- Możesz wywoływać metody API Pól bezpośrednio po użyciu zmysłu. Na przykład zmysł "czucia" w wieży "Kroki niemowalaka" zwraca jedno pole. Możesz na tym wywołać
isEmpty()
, by określić, czy pole jest puste przed wejściem na nie:
class Player {
playTurn(warrior) {
if (warrior.feel().isEmpty()) {
warrior.walk();
}
}
}
- Część zmysłów (jak "wzrok" i "słuch" w wieży "Pierwsze kroki") zwraca tablicę pól, więc naprawdę przydatne mogą okazać się prototypy metody array. Oto przykład metody Array.prototype.find:
class Player {
isEnemyInSight(warrior) {
const spaceWithUnit = warrior.look().find(space => space.isUnit());
return spaceWithUnit && spaceWithUnit.getUnit().isEnemy();
}
}