Answer to Exercise 22

| ANSWER TO EXERCISE 22
| First add a `Clap` verb (this is easy). Then give Charlotte a `number` property (initially 0, say) and add these three lines to the end of Charlotte's `grammar` routine:
               self.number=TryNumber(verb_wordnum);
               if (self.number~=-1000)
               {    action=##Clap; noun=0; second=0; rtrue; }
Her `orders` routine now needs a local variable called `i`, and the new clause:
               Clap: if (self.number==0) "Charlotte folds her arms.";
                     for (i=0:i<self.number:i++)
                     {   print "Clap! ";
                         if (i==100)
                             print "(You must be regretting this by now.) ";
                         if (i==200)
                             print "(What a determined girl she is.) ";
                     }
                     if (self.number>100)
                        "^^Charlotte is a bit out of breath now.";
                    "^^~Easy!~ says Charlotte.";

Back to the exercise in section 16

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