WarriorJS Docs
  • Παίκτης
  • Δημιουργός
  • Κοινότητα
  • Ελληνικά
    • English
    • العربية
    • Català
    • Čeština
    • Deutsch
    • Español
    • Français
    • Italiano
    • Polskie
    • Русский
    • Српски језик (Ћирилица)
    • Svenska
    • Türkçe
    • 中文
    • 繁體中文
    • Βοηθήστε στη Μετάφραση
  • GitHub

›Συμβουλές και τεχνάσματα

Παιχνίδι

  • Επισκόπηση
  • Αντικείμενο
  • Ροή παιχνιδιού
  • Προοπτική
  • Βαθμολόγηση
  • Επική Λειτουργία
  • Πύργοι

Έννοιες

  • Μονάδες
  • Πολεμιστής
  • Ικανότητες
  • Χώροι

Παίκτης API

  • Χώρος API
  • API Μονάδας
  • API Γύρου

Συμβουλές και τεχνάσματα

  • Γενικά
  • JavaScript
  • Τεχνητή Νοημοσύνη
  • CLI

CLI

  • Εγκατάσταση
  • Επιλογές
Translate

Συμβουλές JavaScript

  • Μην συμπληρώνεις απλά τη μέθοδο 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();
  }
}
← Γενικές ΣυμβουλέςΣυμβουλές ΤΝ →
WarriorJS Docs
Docs
PlayerMaker
Community
SpectrumTwitterFollow WarriorJS on Twitter
More
DonateGitHubStar