ZZT Help » ZZT-OOP Programming Language » Tutorial » Reference manual
ZZT-OOP Programming Language Tutorial
The best way to learn something is to jump right in, so
let's not waste any time:
To put an object on the
board, press F2 O. After
picking a character to represent the object, you can
enter a program to control it.
Here is an example program
Commands Comments
---------- -----------------
@BadGuy ' We are giving this object the name "BadGuy".
/s/s/s ' Start out by moving south three times.
#shoot n ' Next, shoot north.
#end ' Now stop and wait for us to receive a message.
:shot ' When we receive a "SHOT" message, start doing the following commands.
#shoot seek ' Shoot towards the player.
#end ' Stop and wait for another message.
:touch ' Do the following when we receive a "TOUCH" message
Ouch! Stop touching me.
' Put the preceeding text on the screen.
#send shot ' Next, send ourselves the message "SHOT".
Note that the "SHOT" message will be sent to BadGuy
whenever the player shoots
BadGuy. Likewise, when the
player touches BadGuy, BadGuy
will receive the "TOUCH" message.
ZZT-OOP is a relatively
simple language and its commands are straightforward.
The primary difference between ZZT-OOP and conventional
languages such as BASIC is the
use of messages.
The following two objects
illustrate a more intense use
of messages:
Here is the first object:
@Lefty
' This object's name.
/e/e/e/e
' Move east 4 times.
/w/w/w/w
' Then west 4 times.
#send Righty:Do
' Send the "Do" message to the object named "Righty".
#end
' And halt.
Here is the other object:
@Righty
' This is our name.
#end
' Don't do anything until we receive a message.
:do
'Here's the "Do" msg.
/w/w/w/w
'Move west 4 times.
/e/e/e/e
'Then east 4 times.
#send lefty:restart
'Tell your counterpart to restart.
#end
'Done for now.
These two objects form a
feedback loop. When the game
starts, Lefty will move then
send a message to Righty.
This causes Righty to move
then tell Lefty to restart.
So lefty moves, etc, etc, etc.
So concludes this mini-
tutorial. Once you think you
have a grasp of the idea of
ZZT-OOP programs and messages,
you are ready to proceed to...
The ZZT-OOP reference manual.