I’m trying to find a way to save some typing in a game with lots of conversation. I am typing lots of “[otherwise if the current interlocutor is George]”
I usually will make substitutions for stuff like this, such as:
To say p: say "[paragraph break]"
Which allows me to type things like. “And my paragraph has ended.[p]In this new paragraph…”
I was trying to make a similar shortcut with things like:
To say intG: say "[if the current interlocutor is George]"
Which doesn’t work since that whole phrase is not a specific thing to say.
Is there a way I can dip into I6 maybe and create shortcuts for at least the phrase “the current interlocutor is” so I can save some typing and space for phrases like:
"[if int George]George says, 'I'm the current interlocutor!'"
To decide if (Bob - a person) is speaking:
If the current interlocutor is Bob, decide yes;
"[if george is speaking]....[end if]"
I may have the syntax of the to decide phrase wrong. Resist the urge to abbreviate.
This works awesomely. Thank you! I don’t know if it’s just that particular phrase “current interlocutor” that irks me, but this technique will streamline a lot of things.
What I did was make one of these phrases for each character. Now I can write “[if George is int]…”
Blecki’s example already handles each (person) character. (It may not have been obvious, but “Bob” in his code sample was a local variable, not a person object.)
Alternatively, you could define a new adjective that captures the condition:
Definition: a person is int if he is the current interlocutor.
Really? I was like “I have no character named Bob…” so . gnrgh.
In most programming languages, I avoid one-character variables like rotten fish, because they’re too easy to confuse with punctuation symbols. But in Inform, the code is verbose and has few symbols, so I always use single-letter variables for locals and arguments. Thus:
To decide whether (P - person) is speaking: