Pre-release
AdventureJS Docs Downloads
Score: 0 Moves: 0

Class:Input

Defined in: adventure/Input.js, line 5

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

Methods Collapse all  |  Expand all

appendOutput(msg) → {boolean}

Defined in: adventure/Input.js, line 320

appendOutput

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 470

Parameters:

  • index int
Delete the specified phrase in the verified sentence and renumber any higher numbered phrases.
getAdverb() → {String}

Defined in: adventure/Input.js, line 426

Try to get an adverb from the verb in the verified sentence.

Returns:

String
getAsset(index) → {Object|Boolean}

Defined in: adventure/Input.js, line 643

Parameters:

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

Returns:

Object | Boolean
getContainerAsset(index)

Defined in: adventure/Input.js, line 747

Parameters:

  • index Int
When player refers to a substance, some verbs will try to identify a vessel containing that substance. Get that container asset.
getDictionaryVerb(index) → {Object|Boolean}

Defined in: adventure/Input.js, line 393

Parameters:

  • index int
Get dictionary verb from the verified sentence.

Returns:

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

Defined in: adventure/Input.js, line 824

Parameters:

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

Returns:

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

Defined in: adventure/Input.js, line 620

Parameters:

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

Returns:

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

Defined in: adventure/Input.js, line 888

Parameters:

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

Returns:

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

Defined in: adventure/Input.js, line 969

Parameters:

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

Returns:

*
getInput()

Defined in: adventure/Input.js, line 512

Get the source input for this turn, accounting for soft prompt responses that update last turn's input.
getNoun(index) → {String|Boolean}

Defined in: adventure/Input.js, line 593

Parameters:

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

Returns:

String | Boolean
getNounCount() → {int}

Defined in: adventure/Input.js, line 561

Get a count of nouns.

Returns:

int
getParam(param) → {*}

Defined in: adventure/Input.js, line 1146

Parameters:

  • param String
Get a verb parameter. If a comparator is provided, will test if param value is equivalent and return a boolean. If no comparator is provided, will return the value of the param.

Returns:

*
getParsedNoun(index) → {Object|Boolean}

Defined in: adventure/Input.js, line 846

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 549

Parameters:

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

Returns:

Object
getPhraseCount()

Defined in: adventure/Input.js, line 788

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

Defined in: adventure/Input.js, line 802

Parameters:

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

Returns:

Object | Boolean
getStructure()

Defined in: adventure/Input.js, line 1058

Todos: replace with verified sentence structure

Returns the parsed sentence structure.
getStructure(value) → {boolean}

Defined in: adventure/Input.js, line 1078

Todos: replace with verified sentence structure

Parameters:

  • value String
Returns the parsed sentence structure.

Returns:

boolean
getSubject() → {*}

Defined in: adventure/Input.js, line 1164

The character that this turn applies to. By default, this will be the player. In the case of input such as "Claude, go east", target will be the specified NPC.

Returns:

*
getSubstance(index) → {Object|Boolean}

Defined in: adventure/Input.js, line 668

Parameters:

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

Returns:

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

Defined in: adventure/Input.js, line 377

Parameters:

  • index int
Get verb from the verified sentence.

Returns:

Object | Boolean
hasInput() → {Boolean}

Defined in: adventure/Input.js, line 1002

Does the input object have verified input?

Returns:

Boolean
hasPhrase(index) → {Boolean}

Defined in: adventure/Input.js, line 581

Parameters:

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

Returns:

Boolean
hasVerb(index) → {Object|Boolean}

Defined in: adventure/Input.js, line 361

Parameters:

  • index int
Get verb from the verified sentence.

Returns:

Object | Boolean
overrideOutput(msg) → {boolean}

Defined in: adventure/Input.js, line 335

Parameters:

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

Returns:

boolean
prependOutput(msg) → {boolean}

Defined in: adventure/Input.js, line 348

Parameters:

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

Returns:

boolean
pushParsedWord(params)

Defined in: adventure/Input.js, line 1090

Parameters:

  • params Object
Push a parsed word to parsed_sentence.
pushViewModifiers(identifier, asset, type)

Defined in: adventure/Input.js, line 1100

Parameters:

  • identifier String
    aka aspect or preposition or description
  • asset Object
    can be null
  • type String
    auto or input
Push asset to view_modifiers for use with customized asset descriptions.
setAdverb() → {String}

Defined in: adventure/Input.js, line 441

Set an adverb for the verb in the verified sentence.

Returns:

String
setAsset(index, parsedNoun)

Defined in: adventure/Input.js, line 687

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.
setCharacter()

Defined in: adventure/Input.js, line 1177

The character that this turn applies to. By default, this will be the player. In the case of input such as "Claude, go east", target will be the specified NPC.
setContainer(index, asset)

Defined in: adventure/Input.js, line 706

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.
setContainer(index)

Defined in: adventure/Input.js, line 735

Parameters:

  • index Int
When player refers to a substance, some verbs will try to identify a vessel containing that substance. Get that vessel id.
setDirection(index, value)

Defined in: adventure/Input.js, line 835

Parameters:

  • index int
  • value Object
Set verified direction.
setDisambiguate(params)

Defined in: adventure/Input.js, line 1044

Parameters:

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

Defined in: adventure/Input.js, line 631

Parameters:

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

Returns:

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

Defined in: adventure/Input.js, line 899

Parameters:

  • index int
Set verified noun assumed.

Returns:

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

Defined in: adventure/Input.js, line 987

Parameters:

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

Returns:

*
setNewPhrase(params) → {Int}

Defined in: adventure/Input.js, line 759

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 604

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 1029

Parameters:

  • params Object
Indicate that this turn parsed one word, which may satisfy a disambiguation prompt.
setParam(param, value)

Defined in: adventure/Input.js, line 1135

Parameters:

  • param String
  • value *
Set a verb parameter.
setParsedNoun(index, parsedNoun)

Defined in: adventure/Input.js, line 858

Parameters:

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

Defined in: adventure/Input.js, line 870

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 455

Parameters:

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

Defined in: adventure/Input.js, line 813

Parameters:

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

Defined in: adventure/Input.js, line 1013

Parameters:

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

Defined in: adventure/Input.js, line 1068

Todos: replace with verified sentence structure

Set the parsed sentence structure.
setVerb(value)

Defined in: adventure/Input.js, line 410

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".
swapNouns(index1, index2) → {Object|Boolean}

Defined in: adventure/Input.js, line 929

Parameters:

  • index1 int
  • index2 int
Swap two nouns

Returns:

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

Defined in: adventure/Input.js, line 911

Parameters:

  • index1 int
  • index2 int
Swap two phrases

Returns:

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

Defined in: adventure/Input.js, line 954

Parameters:

  • index1 int
  • index2 int
Swap two prepositions

Returns:

Object | Boolean
updateStructure()

Defined in: adventure/Input.js, line 491

Reset the verified sentence structure (after revising verified_sentence).

Properties  | 

allow_circular_verb :Boolean

Defined in: adventure/Input.js, line 222

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.
did_do :Boolean

Defined in: adventure/Input.js, line 304

Default value: false

did_doSuccess :Boolean

Defined in: adventure/Input.js, line 282

Default value: false

Set when one verb calls another verb via dictionary.doVerb(), so that the wrapping verb performs a minimal doSuccess.
did_try :Boolean

Defined in: adventure/Input.js, line 298

Default value: false

did_tryTravel :Boolean

Defined in: adventure/Input.js, line 290

Default value: false

Set when a verb calls tryTravel() - which has its own success methods - so that the calling verb performs a minimal doSuccess.
disambiguate :int

Defined in: adventure/Input.js, line 197

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_word :String

Defined in: adventure/Input.js, line 131

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 311

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

Defined in: adventure/Input.js, line 43

Default value: ""

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

Defined in: adventure/Input.js, line 139

Default value: ""

A string containing the id of the verb that was found in player input. Verb id may differ from actual input. For example, "plug in" results in "plugIn".
output_class :String

Defined in: adventure/Input.js, line 123

Default value: ""

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

Defined in: adventure/Input.js, line 116

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

Defined in: adventure/Input.js, line 74

Default value: []

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

Defined in: adventure/Input.js, line 66

Default value: { 'enabled':false }

Property used by handleWord() to pass data to parseMultipleInputs().
parsedNoun1 :Getter|Setter

Defined in: adventure/Input.js, line 1224

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 1257

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 1235

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

Defined in: adventure/Input.js, line 1269

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 1246

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

Defined in: adventure/Input.js, line 1281

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

Defined in: adventure/Input.js, line 1191

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

Defined in: adventure/Input.js, line 1202

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

Defined in: adventure/Input.js, line 1213

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

Defined in: adventure/Input.js, line 93

Default value: {append:[],prepend:[],override:[],appended:[],prepended:[],overridden:[]}

Object for managing strings that author appends/overrides/prepends to native output.
replacements :Object

Defined in: adventure/Input.js, line 240

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 171

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 248

Default value: []

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

Defined in: adventure/Input.js, line 34

Default value: {}

By default, character is player. If input is found to be an NPC directive, such as "Floyd, go east", character will be set to NPC.
unknown_word :String

Defined in: adventure/Input.js, line 164

Default value: undefined

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

Defined in: adventure/Input.js, line 109

Default value: ""

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

Defined in: adventure/Input.js, line 213

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 231

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".
verb_phrasal_pattern :Array

Defined in: adventure/Input.js, line 256

Default value: []

During parse we perform regex to identify phrasal verbs. For example, if player inputs "write name on paper with pencil", joinPhrasalVerbNounPrepNounPrepNouns() would find "write_on_with paper pencil". We save the phrasal verb for use in verb logic.
verb_phrase :String

Defined in: adventure/Input.js, line 148

Default value: ""

The verb and its associated prepositions. For example "jump from root to branch" would result in "jump from to".
verb_phrase_prepositions :String

Defined in: adventure/Input.js, line 156

Default value: ""

Just the prepositions of the phrasal verb. For example "jump from root to branch" would result in "from to".
verified_sentence :Object

Defined in: adventure/Input.js, line 50

Default value: {}

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

Defined in: adventure/Input.js, line 82

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.
view_modifiers :Object

Defined in: adventure/Input.js, line 58

Default value: []

An array of assets that may be used to modify asset descriptions, such as viewports, viewpoints, light sources.