Landmark Events

version 2 by Jon Ingold

  • Home page
  • Beginning
  • Previous
  • Next

  • Section 7 - Debugging verb - not for release

    Ennumerating landmarks is an action out of world. Understand "ennumerate landmarks" as ennumerating landmarks.
    Report ennumerating landmarks:
        let k be the number of landmarks;
        let g be the number of rows in The Table of landmark-Times;
        say "Your game contains [k] landmarks. ";
        if k times two is less than g, say "Therefore you have ample space left for more landmarks." instead;
        if k plus ten is greater than g and k is at most g, say "Therefore you have almost reached the internal limit on the number of landmarks and will soon need to continue the internal table." instead;
        if k is at most g, say "Therefore you have space left for more landmarks." instead;
        say "Therefore you need to continue The Table of landmark-Times by";
        if g is greater than 30, say " a further [k - g] row[s] to a total of";
        say " [k - 30] blank row[s]. See the extension's documentation for how to do this.";

    To decide which landmark is the first landmark:
        let lll be a random landmark; [ inelegant, but it'll have to do for now ]
        while the landmark before lll is less than lll repeatedly let lll be the landmark before lll;
        decide on lll;

    To decide what number is the number of landmarks:
        let lcount be one;
        let llandmark be the first landmark;
        while the landmark after llandmark is not first landmark begin;
            increase lcount by one;
            let llandmark be the landmark after llandmark;
        end while;
        decide on lcount;