??ANSWER TO EXERCISE 89

Note the magic line of assembly code here, which only works for Advanced games:

^^{``Invisiclues''}
[ GiveHint hint keypress;
  print (string) hint; new_line; new_line;
  @read_char 1 0 0 keypress;
  if (keypress == 'H' or 'h') rfalse;
  rtrue;
];
And a typical menu item using it:
 if (menu_item==1)
 {   print "(Press ENTER to return to menu, or H for another hint.)^^";
     if (GiveHint("(1/3)  What kind of bird is it, exactly?")==1) return 2;
     if (GiveHint("(2/3)  Magpies are attracted by shiny items.")==1) return 2;
     "(3/3)  Wave at the magpie with the kitchen foil.";
 }

Back to the exercise in section 32
Mechanically translated to HTML from third edition as revised 16 May 1997. Copyright © Graham Nelson 1993, 1994, 1995, 1996, 1997: all rights reserved.