Internals

Constants and Random

When using a command that requires you to provide a numerical value, such as if and set, the following constants may be used.
Constant Value
scenery 100
heavy 99
true 1
false, nowhere or null 0
interpreter 1 when using the jacl interpreter, 2 when using the cgijacl or fcgijacl interpreters.
JACL 1
CGIJACL 2
screen_width Set to the number of columns when using the console-based interpreter.
screen_depth Set to the number of rows when using the console-based interpreter.
objects Set to the number of objects defined in the game.

The word random can be used anywhere the above constants can be. The word random will be substituted for a random number between 0 and the current value of the variable MAX_RAND. By default, MAX_RAND is set to 100.

Internal Commands

Listed here are the only in-game commands that are internal to the interpreter. All other commands to be interpreted during the course of the game must be defined as a grammar statement in the game code.
Command Description
restart This will cause the JACL interpreter to ask the user if they are sure, restarting the game from the beginning if they answer yes, returning to the game if they answer no.
save [filename] This will cause the current game position to be saved to a file called bookmark. If a file name is specified following the word save, this will be used instead.
restore [filename] This will cause the previously saved game bookmark to be loaded if it is found. If a file name is specified following the word restore, this will be used instead.
info This will display the version information of the JACL interpreter that you are running and the maximum number of items it was compiled to handle. This limit may be increased by changing the MAX_OBJECTS define statement in the file jacl.h then re-compiling the interpreter.
When using the commands save and restore with cgijacl, be aware that all files will be stored in and retrieved from the temp directory specified in the file cgijacl.conf.

The following extra commands are available when using the console-based jacl interpreter.
Command Description
columns [ScreenWidth] This command allows the player to set the number of screen columns to use for the purpose of word wrapping.
rows [ScreenHeight] This command allows the player to set the number of screen rows to use for the purpose of displaying [MORE] prompts.
delay [Milliseconds] This command set an amount of time to pause in milliseconds between each character displayed. This is for those people who want to take their retro experience just one step further...
again This command repeats the player's last move.
undo This command takes back the player's last move.
quit This will cause the JACL interpreter to ask the user if they are sure, closing the interpreter if they answer yes, returning to the game if they answer no.