Inform offers an easy way to do this, although you could access keyboard primitives by dropping to Inform 6.
However, you can achieve the desired effect:
The Loading Zone is a room. "Concrete with yellow stripes. The Hold is north." The robot is an animal in the Loading Zone. "However, a robot the size of an Arcturan megaladon guards the way." North of the Loading Zone is the Hold. Instead of going north from the Loading Zone: say "The robot steps in front of you as you approach the gate. 'PAASSWAAAAWRD!!' it bellows."; now the command prompt is "Enter password: ". After reading a command when the command prompt is "Enter password: ": if the player command matches "xyzzy": say "The robot folds itself up into a cube to let you pass."; move the player to the Hold; otherwise: say "'WRONG PASSWAAARD!' roars the robot. 'CHECK CAPS LAAAWWWWK!'"; now the command prompt is ">"; reject the player command.
I think that this kind of thing is considered bad gameplay: it makes the player guess, which harms the player the illusion of control and choice. A more traditional way would be to require the player to say a password:
The Loading Zone is a room. "Concrete with yellow stripes. The Hold is north." The robot is an animal in the Loading Zone. The robot is either awake or asleep. The robot is awake. "[if awake]However, a robot the size of an Arcturan megaladon guards the way.[otherwise]A cube of metal the size of an Arctural megaladon snores loudly.[end if]". North of the Loading Zone is the Hold. Instead of going north from the Loading Zone when the robot is awake: say "The robot steps in front of you as you approach the gate. 'PAASSWAAAAWRD!!' it bellows." Instead of answering the robot that some text: if the topic understood matches "xyzzy": say "The robot folds itself up into a cube to let you pass."; now the robot is asleep; otherwise: say "'WRONG PASSWAAARD!' roars the robot. 'CHECK CAPS LAAAWWWWK!'"
The commands say xyzzy and answer xyzzy and the robot, xyzzy both say that xyzzy for the robot will work.
Jason orendorff
source share