Might be the newer versions of Inform 7? Not sure. But I get this error when including Tutorial Mode:
In Section 3 - The Instructional Rules in the extension Tutorial Mode by Emily Short:
Problem. In the line ‘let N be “[way]”’ , I was expecting that ‘way’ would be something to ‘say’, but it didn’t look like any form of ‘say’ that I know. So I tried to read ‘way’ as a value of some kind (because it’s legal to say values), but couldn’t make sense of it that way either.
I tried added “way is a direction that varies” before that particular section, which lets me include the extension, but THEN the “compass direction” doesn’t work.
Hello.
I’ll be more verbose here if it helps:
The error happens in the “teach compass directions rule” on this line
let N be “[way]”
As if it doesn’t know what “way” might be — is that because “way” is defined inside an if statement (a few lines higher)
if a room (called goal) is adjacent:
let way be the best route from the location to the goal;
say “the chosen direction is: [way].”;
here’s the whole block:
An instructional rule (this is the teach compass directions rule):
if the teach compass directions rule is listed in the completed instruction list, make no decision;
if a room (called goal) is adjacent:
let way be the best route from the location to the goal;
otherwise if the player can see an open door (called portal):
let far side be the other side of the portal;
let way be the best route from the location to the far side;
otherwise:
make no decision;
let N be indexed text;
let N be “[way]”;
say “[italic type]To move from place to place, you can use the compass directions (NORTH, SOUTH, EAST, WEST, as well as NORTHEAST, NORTHWEST, etc.) [paragraph break]From here, try [N in upper case].[roman type]”;
now the expected command is “[N]”;
now the held rule is the teach compass directions rule;
rule succeeds.
Got it (or i think i do) — you need to declare N before the if statement and then assign N a value in side the if statement
An instructional rule (this is the teach compass directions rule):
if the teach compass directions rule is listed in the completed instruction list, make no decision;
let N be indexed text;
if a room (called goal) is adjacent:
let way be the best route from the location to the goal;
say “the chosen direction is: [way].”;
let N be “[way]”;
otherwise if the player can see an open door (called portal):
let far side be the other side of the portal;
let way be the best route from the location to the far side;
let N be “[way]”;
otherwise:
make no decision;
say “[italic type]To move from place to place, you can use the compass directions (NORTH, SOUTH, EAST, WEST, as well as NORTHEAST, NORTHWEST, etc.) [paragraph break]From here, try [N in upper case].[roman type]”;
now the expected command is “[N]”;
now the held rule is the teach compass directions rule;
rule succeeds.