Commit Graph

5 Commits

Author SHA1 Message Date
Zorchenhimer 71a0c01db9
Implement RNG format blocks in sentences
The RNG blocks follow a slightly different format than the word blocks.
They are wrapped in square brackets instead of curly braces.  The format
is as follows:

    [cmd:arguments]

`cmd` can be one of either "rng" or "hide".  "rng" takes a comma
separated list as its arguments and will choose one option from the
list.  Only raw words are accepted here (word blocks are not parsed).
"hide" will randomly hide its arguments in the output string.  The
arguments for this command *are* parsed, so {word} and {{new_word}}
blocks can be used.
2021-02-21 20:30:09 -05:00
Zorchenhimer 553b89cfe0
Implement consumeNewWord()
Implement the consumeNewWord() method that will handle new words defined
in format strings enclosed in double curly braces.  The format is as
follows:

    {{word_type:word:options,list}}

The notable difference between this and the other definitions is that
only verbs and nouns are allowed to be defined this way.  Additionally
only regular verbs and nouns are allowed (the "irregular" option is
ignored).

A new sentence has been added that utilizes this new function.

Lastly, some of the option parsing code for verbs and nouns has
been separated into their own functions so it can be reused between both
consumeWord() and consumeNewWord().
2021-02-20 21:35:26 -05:00
Zorchenhimer 94a46a7072
Start implementing format sentences
Base word types are implemented.  The format for defining a word is as follows:

    {word_type:optionA,optionB}

Where `word_type` is one of the following:

    - adjective
    - noun
    - noun_phrase
    - pronoun
    - verb

Followed by a colon and a comma separated list of options for that word.
Options are as follows (adjectives have no options):

Nouns:
    - compound
    - plural

Noun Phrase:
    - indefinite
    - noadj
    - plural
    - compound

Pronouns:
    - plural

Verbs:
    - conjugation type: i (default), you, it, we, or they
    - conjugation time: past, present (default), or future
    - invert (not implemented yet)

Options for a word type are optional and may be omitted.
2021-02-17 18:07:23 -05:00
Zorchenhimer 965a84725f
Add some more sentence types; Add pronouns
Added pronouns to the data.  These act similar to the other types of
words regarding getting random ones from the database.

More sentence types have been added, however they are all in their own
functions for now.  Eventually, these functions will be replaced by
format strings in the database and will not be hard coded.
2021-02-14 20:35:25 -05:00
Zorchenhimer 3d6c1a444f Initial commit
Main structure is mostly figured out.  Only a noun phrase is currently
generated.
2021-02-13 11:39:05 -05:00