- 不要純粹把大堆代碼填滿整個
playTurn
方法 (method),嘗試以方法及類別把它組織好。例如:
class Player {
playTurn(warrior) {
if (this.isInjured(warrior)) {
warrior.rest();
}
}
isInjured(warrior) {
return warrior.health() < 20;
}
}
- 如果你想在每一層的開始都執行一些一樣的代碼,你可在
Player
類別中定義 (define) 一個建構式 (constructor),就像:
class Player {
constructor() {
this.health = 20;
}
}
- 在使用感官技 (sense) 後,你可以直接呼叫 (call) 空間應用程式介面 (Space API) 的方法, 例如新手塔 (Baby Steps tower) 的"感應 (feel)" 感官技就會傳回一個空間 (space), 在移動到這空間前,你可以呼叫
isEmpty()
來判斷這空間是否已清空。
class Player {
playTurn(warrior) {
if (warrior.feel().isEmpty()) {
warrior.walk();
}
}
}
class Player {
isEnemyInSight(warrior) {
const spaceWithUnit = warrior.look().find(space => space.isUnit());
return spaceWithUnit && spaceWithUnit.getUnit().isEnemy();
}
}