Adventure.js Docs Downloads
Score: 0 Moves: 0

Class: Input

Defined in: adventure/Input.js, line 6

Framework class

Input is a special class constructed by Parser.parseInput(), and used to store each turn's input and all of the metadata that is generated for it, including the verb and noun(s) that were parsed, whether a disambiguation was called for, whether a soft prompt was made, whether a noun was assumed based upon context, and other data. This is an internal class that authors should not need to construct.

Private Constructor:

var foo = new adventurejs.Input()
Inherited Overrides
IndexMethodsProperties

Methods Collapse all  |  Expand all

appendToOutput(msg) → {boolean}

Defined in: adventure/Input.js, line 301

Parameters:

  • msg String
    Arbitrary string to append to next print.
Lets author append an arbitrary string to this turn's output.

Returns:

boolean
deletePhrase(index)

Defined in: adventure/Input.js, line 418

Parameters:

  • index int
Delete the specified phrase in the verified sentence.
getAsset(index) → {Object|Boolean}

Defined in: adventure/Input.js, line 538

Parameters:

  • index int
Try to get an asset from the parsedNoun in the specified phrase in the verified sentence.

Returns:

Object | Boolean
getAssumed(index) → {Object|Boolean}

Defined in: adventure/Input.js, line 720

Parameters:

  • index int
Ask if verified noun has been set assumed.

Returns:

Object | Boolean
getExclude(index) → {String|Boolean}

Defined in: adventure/Input.js, line 511

Parameters:

  • index int
Try to get an exclusion string from the verified sentence.

Returns:

String | Boolean
getInPhrase(position, property) → {*}

Defined in: adventure/Input.js, line 803

Parameters:

  • position String
  • property String
Try to get a property from the specified phrase.

Returns:

*
getNoun(index) → {String|Boolean}

Defined in: adventure/Input.js, line 480

Parameters:

  • index int
Try to get a noun string from the verified sentence.

Returns:

String | Boolean
getNounCount() → {int}

Defined in: adventure/Input.js, line 444

Get a count of nouns.

Returns:

int
getParsedNoun(index) → {Object|Boolean}

Defined in: adventure/Input.js, line 692

Parameters:

  • index int
Try to get a parsedNoun in the specified phrase in the verified sentence.

Returns:

Object | Boolean
getPhrase(index) → {Object}

Defined in: adventure/Input.js, line 430

Parameters:

  • index int
Get the specified phrase from the verified sentence.

Returns:

Object
getPhraseCount()

Defined in: adventure/Input.js, line 651

Get the number of phrases in the input.
getPreposition(index) → {Object|Boolean}

Defined in: adventure/Input.js, line 666

Parameters:

  • index int
Try to get a noun from the verified sentence.

Returns:

Object | Boolean
getVerb(index) → {Object|Boolean}

Defined in: adventure/Input.js, line 365

Parameters:

  • index int
Get verb from the verified sentence.

Returns:

Object | Boolean
hasInput() → {Boolean}

Defined in: adventure/Input.js, line 840

Does the input object have verified input?

Returns:

Boolean
hasPhrase(index) → {Boolean}

Defined in: adventure/Input.js, line 466

Parameters:

  • index int
Does the specified phrase exist in the verified sentence?

Returns:

Boolean
hasVerb(index) → {Object|Boolean}

Defined in: adventure/Input.js, line 346

Parameters:

  • index int
Get verb from the verified sentence.

Returns:

Object | Boolean
overrideOutput(msg) → {boolean}

Defined in: adventure/Input.js, line 316

Parameters:

  • msg String
    Arbitrary string to override next print.
Lets author override this turn's output.

Returns:

boolean
prependToOutput(msg) → {boolean}

Defined in: adventure/Input.js, line 331

Parameters:

  • msg String
    Arbitrary string to prepend to next print.
Lets author prepend an arbitrary string to this turn's output.

Returns:

boolean
setAsset(index, parsedNoun)

Defined in: adventure/Input.js, line 565

Parameters:

  • index Int
  • parsedNoun Object
Set the asset in the specified phrase. Asset means Asset-classed object, but we store here a ParsedNoun which is its own classed object that includes metadata about the Asset object.
setAssumed(index) → {Object|Boolean}

Defined in: adventure/Input.js, line 733

Parameters:

  • index int
Set verified noun assumed.

Returns:

Object | Boolean
setDisambiguate(params)

Defined in: adventure/Input.js, line 887

Parameters:

  • params Object
Indicate that this turn parsed one word, which may satisfy a disambiguation prompt.
setExclude(index, value) → {String|Boolean}

Defined in: adventure/Input.js, line 524

Parameters:

  • index int
  • value String
Set an exclusion string in the verified sentence.

Returns:

String | Boolean
setInPhrase(position, property) → {*}

Defined in: adventure/Input.js, line 822

Parameters:

  • position String
  • property String
Try to get a property from the specified phrase.

Returns:

*
setNewPhrase(params) → {Int}

Defined in: adventure/Input.js, line 620

Parameters:

  • params Object
Create a new phrase at the lowest available phrase number. Assumed is always true.

Returns:

Int
setNoun(index, value) → {String|Boolean}

Defined in: adventure/Input.js, line 493

Parameters:

  • index int
  • value String
Set a noun string from the verified sentence. Be careful to avoid letting noun and parsedNoun fall out of sync. By contrast, setAsset() will set both noun and parsedNoun.

Returns:

String | Boolean
setOneWord(params)

Defined in: adventure/Input.js, line 869

Parameters:

  • params Object
Indicate that this turn parsed one word, which may satisfy a disambiguation prompt.
setParsedNoun(index, parsedNoun)

Defined in: adventure/Input.js, line 706

Parameters:

  • index int
  • parsedNoun Object
Set a parsedNoun in the specified phrase in the verified sentence.
setPhrase(index, type, value)

Defined in: adventure/Input.js, line 403

Parameters:

  • index int
  • type string
  • value string
Set the specified phrase in the verified sentence.
setPreposition(index, value)

Defined in: adventure/Input.js, line 679

Parameters:

  • index int
  • value string
Set verified preposition.
setSoftPrompt(params)

Defined in: adventure/Input.js, line 853

Parameters:

  • params Object
Set a soft prompt for next turn.
setVerb(value)

Defined in: adventure/Input.js, line 384

Parameters:

  • value String
Set the specified verb in the verified sentence. We're only ever taking one verb, but provisioning for more in the future in the case of structures such as "tell person to go north".
setVessel(index, asset)

Defined in: adventure/Input.js, line 586

Parameters:

  • index Int
  • asset Object
When player refers to a substance, some verbs will try to identify a vessel containing that substance. Save that vessel id here.
setVessel(index, asset)

Defined in: adventure/Input.js, line 605

Parameters:

  • index Int
  • asset Object
When player refers to a substance, some verbs will try to identify a vessel containing that substance. Get that vessel id. Returns null if not found.
swapNouns(index1, index2) → {Object|Boolean}

Defined in: adventure/Input.js, line 764

Parameters:

  • index1 int
  • index2 int
Swap two nouns

Returns:

Object | Boolean
swapPhrases(index1, index2) → {Object|Boolean}

Defined in: adventure/Input.js, line 747

Parameters:

  • index1 int
  • index2 int
Swap two phrases

Returns:

Object | Boolean
swapPrepositions(index1, index2) → {Object|Boolean}

Defined in: adventure/Input.js, line 785

Parameters:

  • index1 int
  • index2 int
Swap two prepositions

Returns:

Object | Boolean

Properties Collapse all  |  Expand all

allow_circular_verb :Boolean

Defined in: adventure/Input.js, line 205

Default value: false

Todos: Should this also be an Array and sync indexes with verb_chain?

In some instances we want to allow a verb to be reused, such as when we're redirecting between nouns rather than verbs.
append_to_next_print :Array

Defined in: adventure/Input.js, line 70

Default value: []

Add arbitrary string to end of the next print output.
disambiguate :int

Defined in: adventure/Input.js, line 180

Default value: { 'index':null, 'noun1':false, 'noun2':false, 'noun3':false }

When we call for disambiguation, we ask for noun1, noun2, or noun3. We save the index here so we can refer to, for ex: "disambiguate["noun"+disambiguate.index].
found_one_word :String

Defined in: adventure/Input.js, line 137

Default value: ""

If player only input one word, store that here, because we parse single words differently from multiple words.
game :Getter

Defined in: adventure/Input.js, line 289

Getter function that returns the top level game object. Use this.game.
input :String

Defined in: adventure/Input.js, line 28

Default value: ""

Save the original input string for later reference.
input_verb :String

Defined in: adventure/Input.js, line 145

Default value: ""

A string representing the verb that was found in player input.
joint :Array

Defined in: adventure/Input.js, line 239

Default value: []

During parse we perform regex to join verb phrases. For example, if player inputs "write name on paper with pencil", joinVerbNounPrepNounPrepNouns() would find and join "write_on_with paper pencil". When we do a replacement, we're saving the original string and the original verb. Here we save the fomr of the verb phrase, ie verb_noun_prep_noun_prep_noun, for use in verb logic.
output_class :String

Defined in: adventure/Input.js, line 129

Default value: ""

Optional string containing a space delimited list of CSS classes to apply to the printed output.
override_next_print :Array

Defined in: adventure/Input.js, line 77

Default value: []

Arbitrary string with which to override the next print output.
parsed_input :String

Defined in: adventure/Input.js, line 122

The parsed version of the player's input string.
parsed_one_word :Array

Defined in: adventure/Input.js, line 43

Default value: { 'enabled':false }

Property used by parseOneWord() to pass data to parseMultipleInputs().
parsed_sentence_array :Array

Defined in: adventure/Input.js, line 51

Default value: []

We use this as an intermediary step to store the parsed, typed input before we verify it.
parsed_sentence_structure :Array

Defined in: adventure/Input.js, line 59

Default value: ""

This is a simple representation of the parsed input for comparison purposes. Verbs may have their accepts_structures property set to a list of valid sentence structures. This gives us another way to validate input, by comparing it to a verb's capabilities.
parsedNoun1 :Getter|Setter

Defined in: adventure/Input.js, line 932

A bridge between the old and new input systems. A parsed noun object for the first noun found in player input.
parsedNoun1_is_assumed :Getter|Setter

Defined in: adventure/Input.js, line 960

A bridge between the old and new input systems. Player did not input a noun, but we extrapolated one from context.
parsedNoun2 :Getter|Setter

Defined in: adventure/Input.js, line 942

A bridge between the old and new input systems.
parsedNoun2_is_assumed :Getter|Setter

Defined in: adventure/Input.js, line 970

A bridge between the old and new input systems. Player did not input a noun, but we extrapolated one from context.
parsedNoun3 :Getter|Setter

Defined in: adventure/Input.js, line 951

A bridge between the old and new input systems.
parsedNoun3_is_assumed :Getter|Setter

Defined in: adventure/Input.js, line 980

A bridge between the old and new input systems. Player did not input a noun, but we extrapolated one from context.
prepend_to_next_print :Array

Defined in: adventure/Input.js, line 84

Default value: []

Add arbitrary string before the next print output.
preposition1 :Getter|Setter

Defined in: adventure/Input.js, line 905

A bridge between the old and new input systems.
preposition2 :Getter|Setter

Defined in: adventure/Input.js, line 914

A temporary bridge between the old and new input systems.
preposition3 :Getter|Setter

Defined in: adventure/Input.js, line 923

A temporary bridge between the old and new input systems.
replacements :Object

Defined in: adventure/Input.js, line 223

Default value: {}

During parsing we replace substrings with other substrings. Here we keep a record of the source substrings.
soft_prompt :Boolean

Defined in: adventure/Input.js, line 159

Default value: { 'verb':null, 'noun1':false, 'noun2':false, 'noun3':false, 'enabled':false, 'satisfied':false }

We're making a soft prompt with this turn, asking for clarification of a verb or noun.
strings :Array

Defined in: adventure/Input.js, line 231

Default value: []

If player inputs quoted strings, we save them here. Ex: 'type "foo" on typewriter', we save "foo" as an unparsed string.
unknown_word :String

Defined in: adventure/Input.js, line 152

Default value: undefined

If parser found an unknown word, store it here.
unparsed_input :String

Defined in: adventure/Input.js, line 115

Default value: ""

The original unparsed player's input string.
verb_chain :Array

Defined in: adventure/Input.js, line 196

Default value: []

It's possible to redirect from one verb to another within a single turn. We save each verb's id in verb_chain, to check that we're not stuck in a circular loop.
verb_params :Object

Defined in: adventure/Input.js, line 214

Default value: {}

A method for passing arbitrary properties along with a verb redirect. For ex: close_with may redirect to lock_with, and we may want to pass a param such as "autoClose=true".
verified_input :Object

Defined in: adventure/Input.js, line 35

Default value: {}

The end result of parsing is a set of verified words - verbs, nouns and prepositions - which can be used by verbs.
was_appended_to_print :Array

Defined in: adventure/Input.js, line 91

Default value: []

Respository for extra output generated by custom scripts to be appended to a turn's standard output.
was_overridden_to_print :Array

Defined in: adventure/Input.js, line 99

Default value: []

Respository for override output generated by custom scripts to be used to override a turn's standard output.
was_prepended_to_print :Array

Defined in: adventure/Input.js, line 107

Default value: []

Respository for extra output generated by custom scripts to be prepended to a turn's standard output.
Documentation generated by JSDoc 3.6.11 on Mon Nov 20 2023 18:01:59 GMT-0800 (Pacific Standard Time)
Found a problem or error in the docs? Report it to docs@adventurejs.com.