# 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
status_width | Set to the number of columns the status window is currently displaying.
status_depth | Set to the number of rows the status window is currently displaying.
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 1 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 | 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.
info | 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.
oops [ReplacementWord] | Replaces the most likely incorrect word in the player's last command with the supplied replacement word.
script | Will cause the current game session to be recorded to the file specified at the ensuing prompt.
unscript | Stop a previously started transcript.
again | This command repeats the player's last move.
undo | Will cause the game to revert to the state it was in before the previous command.
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.

Back to Contents