Pre-release
AdventureJS Docs Downloads
Score: 0 Moves: 0
//getWordCount.js
(function () {
  /*global adventurejs A*/

  var p = adventurejs.Game.prototype;

  /**
   * <p>
   * <strong>getWordCount()</strong> is a utility method to get
   * a count of all the unique words the game "knows".
   * </p>
   * @memberOf adventurejs.Game
   * @method adventurejs.Game#getWordCount
   * @kind function
   * @returns {Array}
   */
  p.getWordCount = function Game_getWordCount() {
    let unique_words = [];
    let keys = Object.keys(this.world_lookup);
    for (let index in keys) {
      let key = keys[index];
      let words = key.split(" ");
      for (let ind in words) {
        let word = words[ind];
        if (-1 === word.indexOf("_") && -1 === unique_words.indexOf(word))
          unique_words.push(word);
      }
    }

    keys = Object.keys(this.dictionary.verb_lookup);
    for (let index in keys) {
      let word = keys[index];
      if (-1 === unique_words.indexOf(word)) unique_words.push(word);
      let sins = this.dictionary.verb_lookup[word].synonyms;
      for (let s in sins) {
        let sin = sins[s];
        if (-1 === unique_words.indexOf(sin)) unique_words.push(sin);
      }
    }

    unique_words = unique_words.concat(this.dictionary.adjectives);
    unique_words = unique_words.concat(this.dictionary.adverbs);
    unique_words = unique_words.concat(this.dictionary.prepositions);

    return unique_words;
  };
})();