Re: Help with menus in Inform


24 Aug 1995 13:47:53 GMT

Thus spake Christopher E. Forman (ceforma@rs6000.cmp.ilstu.edu):
] Anyone got a simple menu example they can show me?
] I followed the instructions in the Inform manual, and the menu's title
] page came up okay (except it says "nameless item" at the top), but when I
] select a menu item, the text for it isn't displayed.

Here is a basic one, filled with placeholders. I haven't compiled it,
but I am almost 100ure it works... ;^)

It has the title of a game I am working on. (Uh-oh. more vapourware!)

! ----------------------------------------------------------------------------
! Menu-driven help
! ----------------------------------------------------------------------------

[ HelpMenu;
if (menu_item==0) { item_width=17; item_name="DARKSIDE : The Illusory Illuminati";
return 7; ! Total number of menu items.
}
! width should be 1/2 the length of the string so inform can center
! the title above the info screen after the user selects the option.
if (menu_item==1) { item_width=6; item_name="Instructions"; }
if (menu_item==2) { item_width=4; item_name="Commands"; }
if (menu_item==3) { item_width=6; item_name="Credits"; }
if (menu_item==4) { item_width=7; item_name="Legal"; }
if (menu_item==5) { item_width=7; item_name="Inform"; }
if (menu_item==6) { item_width=7; item_name="Archive"; }
];

[ HelpInfo;
if (menu_item==1)
{
print "Someday some instructions will be here!";

"Good luck!";
}
if (menu_item==2)
{
print "Someday I'll give a nice sypnosis of how to play this game, but \
not right now!";

"See ya!";
}

if (menu_item==3)
{
print "Credits:";
"Thanks to everyone for putting up with me while I wrote this.";
}
if (menu_item==4)
{
print "Legal Info:";
"Someday.";
}
if (menu_item==5)
{
print "Some Inform info!";
"okay...";
}
if (menu_item==6)
{
print "An archive of interactive fiction (as adventure games like to \
call themselves) can be found at the site ftp.gmd.de, in the \
if-archive. This is currently maintained by Volker Blasius, \
and open to anonymous FTP (file transfer protocol). The archive \
contains the work of many people, and includes source for \
interpreters capable of running files like this one on almost \
any computer.";

"DARKSIDE itself, and the ANSI C source for its compiler, Inform, \
together with manuals in a choice of formats and code for several \
example games, are archived there.";
}
];

[ HelpSub;

DoMenu("There is information provided on the following:^\
^ Instructions for playing\
^ Commands how to play IF\
^ Credits Who's responsible\
^ Legal Info. about legalities\
^ Inform About the compiler\
^ Archive About ftp.gmd.de^",
#r$HelpMenu, #r$HelpInfo);
! ----------------------------------------------------------------------------
! New verbs (to add to the library stock)
! ----------------------------------------------------------------------------

Verb "help" * -> Help;

__ __
__/\_\ John Holder - jholder@nmsu.edu /_/\__
/\_\/_/ Computer Science - New Mexico State University \_\/_/\
\/_/\_\ I Brew the Beer I drink! /_/\_\/
\/_/ WWW: http://speedracer.nmsu.edu/~jholder \_\/