Section 2 - Forcing player response
The expected command is indexed text that varies.
The held rule is a rule that varies.
The completed instruction list is a list of rules that varies.
Understand "restore" or "quit" or "save" or "restart" or "version" or "urbzig" as "[meta]".
After reading a command when tutorial mode is true (this is the require correct response rule):
if the player's command includes "tutorial", make no decision;
if the player's command includes "[meta]", make no decision;
if the expected command is "", make no decision;
let the translated command be indexed text;
let the translated command be "[the player's command]";
replace the text "the " in the expected command with "";
replace the text "the " in the translated command with "";
if the translated command is the expected command:
now the expected command is "";
if the held rule is a selector listed in the Table of Instruction Followups:
choose row with a selector of the held rule in the Table of Instruction Followups;
say "[italic type][followup entry][roman type][paragraph break]";
otherwise:
say "[italic type][one of]Good[or]Good job[or]Very good[or]Excellent[or]Nice work[or]Superb[or]Perfect[at random][one of]![or].[at random][roman type]";
add the held rule to the completed instruction list;
now the held rule is the little-used do nothing rule;
otherwise:
say "[italic type][one of]Nope[or]No[or]Sorry[or]Whoops[at random][one of], that's not it[or][or] -- try again[at random].[roman type]";
reject the player's command;