Answer to Exercise 89

| 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.