- Μην συμπληρώνεις απλά τη μέθοδο
playTurn
με πολύ κώδικα, οργάνωσε τον κώδικά σου με μεθόδους και κλάσεις. Για παράδειγμα:
class Player {
playTurn(warrior) {
if (this.isInjured(warrior)) {
warrior.rest();
}
}
isInjured(warrior) {
return warrior.health() < 20;
}
}
- Αν θέλεις κάποιον κώδικα να εκτελεστεί στην αρχή κάθε επιπέδου,όρισε μία μέθοδο constructor στην κλάση
Player
, ως εξής:
class Player {
constructor() {
this.health = 20;
}
}
- Μπορείς να καλέσεις μεθόδους στην API χώρου αμέσως μετά από μία αίσθηση. Για παράδειγμα η αίσθηση "feel" στον πύργο "Baby Steps" επιστρέφει έναν χώρο. Μπορείς να καλέσεις
isEmpty()
σε αυτό για να αντιληφθείς αν ο χώρος είναι άδειος πριν μπεις εκεί:
class Player {
playTurn(warrior) {
if (warrior.feel().isEmpty()) {
warrior.walk();
}
}
}
- Μερικές αισθήσεις (όπως το "look" και το "listen" στον πύργο "Baby Steps") επιστρέφουν έναν πίνακα από χώρους, επομένως μπορείτε να βρείτε πολλές από τις μεθόδους πρωτότυπων πινάκων πολύ χρήσιμες. Εδώ θα βρεις ένα παράδειγμα της μεθόδου Array.prototype.find:
class Player {
isEnemyInSight(warrior) {
const spaceWithUnit = warrior.look().find(space => space.isUnit());
return spaceWithUnit && spaceWithUnit.getUnit().isEnemy();
}
}