ABOUT.HLPEy%FPP%H1ҋȋ~&Ey EDITOR.HLP~&E~&E0~&E~&0~& CREATURE.HLP$0Jt^~&E0~&E TERRAIN.HLP~&E6$u(~&E~&ITEM.HLP~&E~&E0~&E~&0~&LANG.HLP$0Jt~&E0~&E LANGTUT.HLP~&E6$u~&E0+F LANGREF.HLP6$0Ju+~&E0INFO.HLP&0+F6$uF~&EFGAME.HLP~1&E~1&E~&}t~&}tEND1.MSG0~&06ƅ$-~&E F!END2.MSG~FF!1FF!1F!END3.MSGF!1FF멋F!1F!END4.MSGF!10ȋF!106ƅ$,~&E0~&E~&0~&E6$t~&} u~&E !10~&E !106ƅ$,~&M~&E !1~&M~&E !1~&E !10P~&E !10PP v~&0~&EP~&E0~&EPq1 v~&0~&EP~&E0~&EP-& ~&0~&+EF~&E0~&+EF~&EF~&EFF!1~^~&0~&+EF~&E0~&+EF~&EF~&EF~&} |F+FȋF+F6$-u>F+FPF+FP*& 5>?Ir|OҒUȋF+F6$-u=F+FPF+FP+$The Original ZZT! Copyright 1991 Epic MegaGames! -- This is a REGISTERED copy --$ Please do not distribute this game!@$The ZZT Editor*Help is available on the following topics:!start;Getting Started!cmds;Editor Commands!-creature;Creatures!-terrain;Terrains !-item;Items#!-lang;ZZT-OOP Programming Language!-info;Board information menu:start;Getting started: The ZZT Editor is a tool forcreating silly ZZT game worlds.& By using the editor, you can create)individual game boards and then link them&together into a larger entity called a"world".( The editor functions the same as many(drawing programs: Starting with a blank&screen, objects are added and arranged%until an interesting picture emerges.(Once a board has been created, it can be(saved to disk and then played, just likea ready-made game.( The editor is somewhat complex, so it(takes time to master. Begin by creating&a few simple boards, then work you way(up to more complex scenarios at your own)pace. The results will be well worth theeffort.:cmds;Editing commands:[L] Load a world from disk.[S] Save a world to disk.[Q] Quit the ZZT Editor.*[B] Switch boards. Also use this command to create a new board.#[I] Board Information: Change the& characteristics of the particular board being edited.$!-info;More about Board Information. [f1] Place an item on the board.#[f2] Place a creature on the board. [f3] Place terrain on the board.)[f4] Enter text onto the board. Use this" to spruce up your boards with# entertaining messages. During$ gameplay, text acts like walls.)[Space] Place the selected pattern on the( board. The pattern is indicated on$ the bottom right of the screen.([Tab] Toggle drawing mode. When drawing) mode is on, the current pattern will) automatically be placed wherever the cursor is moved.[P] Select pattern.[C] Select color.) Some useful commands are not listed onthe screen. These are:[Z] Clear board. [X] Fill in bounded region with$ current pattern - just draw the$ outline of a shape and use this command to fill it in.#[Enter] Modify object under cursor: Allows you to change the properties of an object that has already been placed.[N] New: Create a new world.([T] Transfer: Import or Export boards.# Allows individual boards to be! brought in or out of worlds." A board from one world can be& written to a file, then read back into a different world.@ $Creatures' From the world editor, press F2 to'bring up the menu of creatures. A wide*variety are available, each with differentcharacteristics. !bears;Bears!centis;Centipedes !lions;Lions!objects;Objects!pushers;Pushers!ruffians;Ruffians!sharks;Sharks !slime;Slime!guns;Spinning guns Attributes:! Many types of creatures have!attributes, such as intelligence,'sensitivity, and direction, that can be$customized. These attributes affect!different aspects of a creature's movement.( Some creatures have an Intelligence#setting. This affects how well the*creature will find the player. One with a)low intelligence moves largely at random,&while an intelligent creature activelyfollows the player.Note:( There is not space to describe each(creature in much detail. You must learn*by experimenting and watching the behaviorof all of the creatures. :bears;Bears:& Bears are attracted to the player'when the two are close together. Theirgoal is to attack the player.( When a bear comes into contact with!a Breakable Wall, both disappear.:ruffians;Ruffians: Ruffians move sporadically,%alternately moving and resting. Theywill try to catch the player.:objects;Objects:$ Objects are a versatile kind of(creature and can be customized using theZZT-OOP programming language." When placing an Object on the$board, you may pick any character to'represent it. Then, you enter commands)to control the creature during game play.) If you want to modify the program of(an already-existing Object, position the"cursor above it and press [ENTER]. !-lang;Programming instructions. :slime;Slime:& A single Slime will spread out by)replicating itself until an entire region*is filled. Slime only oozes through empty!space, so it is blocked by walls.& As slime spreads out, it leaves a)trail of breakable walls. The player can(stop the slime by touching it; the only*threat it poses is in trapping the player.:sharks;Sharks:* Sharks travel through water only, and'hurt the player upon contact. They arenot harmed by bullets.:guns;Spinning guns:& Spinning guns rotate and shoot in'random directions. By placing walls on'various sides of a gun, it can be aimedin any desired direction.:pushers;Pushers:# Pushers move slowly in a given'direction, pushing Boulders and Sliders!ahead of them. They can move the(player, but do not pose a direct threat. :lions;Lions:( Lions move quickly about the board,*attracted to the player according to their#intelligence. Lions can not shoot.:tigers;Tigers:& Tigers move toward the player andshoot bullets.# These bullets are harmful only*to the player. In fact, no creatures willdirectly harm other creatures.:centis;Centipedes:( These are the most interesting type%of creature, because they can contain%many different parts linked together.' A Centipede consists of a Head and(several body Segments. The Head decides#where to move, and the body followsbehind.' To place a Centipede on the board,#first place the Head, then put Body*segments along side, in a line. All partsmust be in contact.& When a Centipede is shot, it will%break up into two smaller centipedes,which move independently.@ $Terrains) Terrains are the most important part&of any ZZT board because they form the'foundation upon which the game's action is based.' Walls, Boulders, Forest, and other)terrains can be arranged to form puzzles,)mazes, and scenery. Each type of terrainhas unique properties.$Water% Neither players nor creatues can&travel through water, but bullets pass freely over it. The player must%maneuver around water, taking care toavoid bullets passing over it.) Sharks are the only kind of creature'that can travel through water, but theycan not move through land.$Forest( The player can move through forest,&clearing a path behind him. Creatures(can not move through forest, but readily(follow the player through cleared paths.$Solid and Normal Walls' These walls form a barrier that is*always impenetrable. Nobody walks throughwalls. Period.$Breakable Walls* These walls also block the player and$all creatures, but can be destroyed.) When a breakable wall is shot with a)bullet, one piece of the wall disappears.)Also, when a bomb explodes, all breakable%walls in the vicinity of the bomb are destroyed. $Boulders( Boulders are solid objects that canbe pushed around by the player.$ By combining boulders, pushers,&walls, and other objects, a variety of"challenging thought puzzles can becreated.$Sliders) Sliders are similar to boulders, but)are confined to move in a line. A slider$looks like a line with two arrows at'opposite ends, and can only move in thedirection of the arrows. $Fake walls( Fake walls look exactly like normal(walls, but have no effect on the player.(The player can walk over fake walls just(as if they were empty space. Fake walls'are meant for creating secret passages.$Invisible walls* Invisible walls look like empty space%to the player, but prevent the player'from moving over them. When the player&touches an invisible wall, it suddenly(appears as a normal wall. Creatures can(not pass through invisible walls either.$Blinking walls( A blinking wall placed on the board$emitts a ray pointing in a specified&direction. This ray blinks on and off'at a constant rate, and forms a barrier*that is difficult for the player to cross.% When created, each blinking wall$must be assigned a starting time and"a duration. By creating a line of(walls with the same duration but varying#start times, a moving wave appears. $Transporter* When the player enters a transporter,(he is magically moved to another area of the board.' Each transporter points in a given(direction, and the player can only enter#the transporter from behind. He is)then moved along a line, in the direction"of the transporter, to the nearest'transporter that points in the opposite direction.$- - -@$Items"The following items are available:!ammo;Ammunition !bombs;Bombs!conv;Conveyors !doors;Doors!dupes;Duplicators!energ;Energizers !gems;Gems !keys;Keys!pass;Passages!scrolls;Scrolls!torches;Torches:ammo;Ammunition& When the player touches a unit ofammo, he receives five bullets.:torches;Torches.& A Torch gives visibility in rooms&which are dark. The player picks up a(torch by touching it, but the torch does)not become lit until the player activatesit by pressing "T".& Torches last only a fraction of a)minute, and provide limited visibility inrooms that are dark.' To make a room dark, press "I" for)the Board Information Menu and select the"Room is dark" option. :gems;Gems.( Gems are bonus points for a player.$Touching a gem awards the player ten$bonus points and one unit of health.) By using ZZT-OOP's "GIVE" and "TAKE"%commands, you can create objects that(trade supplies or just about anything inexchange for gems. :keys;Keys.) Keys are used to unlock doors. They*are color-coded, so there are seven colors&of keys. To unlock a door, the player$must posess a key of the same color.( The player can not hold two keys of&the same color, though he can hold all(seven different-colored keys at the sametime. :doors;Doors." Doors prevent the player from*entering a region. To get through a door,%the player must be holding a matching(key. If this is the case, then the door"will open and the player will loseposession of the key.:scrolls;Scrolls.( Scrolls contain text messages, such(as hints, dialog, and puzzles. When the$player touches a scroll, the messageappears for the player to read.) If the scroll contains only one line'of text, the message will be flashed on%the bottom of the screen. Otherwise,'a window will pop up and the player maybrowse through the text.:pass;Passages.& A passage is a gateway to another&room. When you place a passage on the&board, you must specify which room is through the passage." Whenever the player touches a#passage, he is transported to a new'room. The player will be placed in thenew room as follows:(* If there is a matching passage in the& new room, the player will enter the# destination room through it. To( match, the exit and entrance passages must be the same color.'* Otherwise, the player will be arrive' in the destination board on the spot( where he appears in the board editor.:dupes;Duplicators.& A duplicator slowly replicates anobject placed next to it.' First, put a creature somewhere on$the board. Next, place a duplicator)adjacent to it, and specify the direction'pointing to the creature. Finally, put%walls around the original creature so'that it remains next to the duplicator.' Duplicators can be used to fill up a board with creatures as a game progresses. :bombs;Bombs.# The player activates a bomb by&touching it. The bomb begins counting)down from 9, exploding when it reaches 1.'While a bomb is ticking, the player canmove it around by pushing it.& When a bomb explodes, it will zap$all Creatures and Breakable Walls inclose proximity.:energ;Energizers.$ Touching an energizer gives the&player a brief taste of invincibility.$During this time, the player changes'colors and is free to come into contact with normally harmful creatures.:conv;Conveyors.( Conveyors cause adjacent objects to"move. Both clockwise and counter-#clockwise rotating conveyors exist.! By placing several conveyors together, objects can be made to(circulate in nearly any desired pattern.@$ZZT-OOP$Programming LanguageTable of contents: !ov;Overview.!-langtut;Tutorial.!-langref;Reference manual. :Ov;Overview.# ZZT provides a special type of)creature, the Object, that can be made to interact with the player and the$environment by using a small object-#oriented command language. Objects*are very versatile, and can move, talk and(bargain with the player, and communicatewith other Objects.$ To put an Object on the playing)field, type F2 O. Next, you can choose a"character to represent the Object.#Finally, you can enter a program to control it.( To change an Object's program, move)the cursor to the Object and press Enter.$How they work.& During game play, the Objects are'actively controlled by their associated)programs. Commands are executed in tempo%with the game. Usually, an Object is$updated 4 or 5 times per second, and%several commands are executed on eachupdate.( Objects communicate with each other'and with the environment by sending and*receiving messages. Understanding ZZT-OOP)is often difficult because it is possible*to have many objects operating at the same'time, and each object can interact withany other object at any time. $Interaction.$ A programmable creature can put(flashing one-line messages at the bottom&of the screen. It can also put multi-'line scrolling messages on the screen. *These messages can be interactive, so that(the player can pick choices from a menu.& Objects can also move, shoot, andinteract with other objects.$Messages - What are they?* ZZT's programming language is object-*oriented, meaning that a program's flow of&execution is controlled by sending and*receiving messages. Whenever an important%event occurs, a message is sent to an#object. This causes the program to'execute specific instructions to handle&the event. Messages can come from two*sources: from other programmable creatuesand from the game itself.% For example, whenever the player'touches an object, that object receives%the message, "TOUCH". The object can'then act on the message, for example by&greeting the player or attacking. Or,"the object can ignore the message.' Similarly, objects can communicate'with each other by exchanging messages.(For example, a board contains a "BUTTON"'object and a "GATE" object. The player(touches the button. Upon being touched,&the button sends the message "OPEN" to the gate object. The gate, upon$receiving this message, moves aside.* The first step to learning ZZT-OOP is*seeing actual programs with explainations:!-langtut;ZZT-OOP Tutorial.@$ZZT-OOP$Programming Language Tutorial( The best way to learn something is to%jump right in, so let's not waste anytime:( To put an object on the board, press#F2 O. After picking a character to&represent the object, you can enter aprogram 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" msg. 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 BASICis the use of messages.' The following two objects illustratea 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 our 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 areready to proceed to...'!-langref;The ZZT-OOP reference manual.@$ZZT-OOP Programming Language$Reference Manual Contents:!fmts;Program format!cmds;Commands!msgs;Messages!dirs;Directions !flags;Flags:fmts;Program Format.% Besides direct commands, ZZT-OOP&programs contain other statements thatserve varying purposes." Each type of statement has anassociated symbol: @ # / ? : ' ! Their meanings::; @objectname$When this is on the first line of an)object, it identifies the object by name.*If an object is not given a name, there is no way to direct messages to it.:; #command*Identifies a programming language command.:; /direction&Causes the object to move in the given*direction. If it is blocked, it will waituntil it is free.:; ?direction)Tells an object to try to move in a given'direction. If its movement is blocked,the command will be ignored. :; :label'Identifies the part of the program that&handles a specified message. Whenever$the program receives the message, it%will execute statements following thelabel.:; 'comment%Comments have no effect, but serve to)remind you (the programmer) what you were!doing when you wrote the program. :; text)When program execution comes to a line of'text, the text will be displayed on the&screen. If only a one-line message is'given, it will be flashed on the bottom)of the screen as a message. For multiple&lines, a "scroll" will be opened up on screen and the text will appear.:; !msg;text#A hypertext-like button. When this statement is included among text&descriptions, it appears to the playeras a button...!;Just like this.(Then, as the users view the text, he may%position the cursor on the button and)press enter, causing the supplied message to be sent.  :msgs;Messages.# An object can send and receive (exchange) messages with itself,#other objects, and the game itself.' Messages caused by the game itself:* TOUCH (When player touches Program)' SHOT (Program is hit by bullet)) BOMBED (Bomb explodes near program)& THUD (Program WALKs into wall)' ENERGIZE (Player touches ENERGIZER):dirs;Directions: $N, NORTH $S, SOUTH $E, EAST $W, WEST  Compass directions $I, IDLE  No direction, stationary. $SEEK # The direction toward the player $FLOW ( The direction in which the object is currently walking. $RNDNS % Either North or South, at random. $RNDNE $ Either North or East, at random.$CW ' Clockwise from the given direction, i.e. CW NORTH = EAST.$CCW $ Counter-clockwise from the given direction. CW NORTH = WEST.$RNDP ' A random direction perpendicular to& the given direction. For example,% RNDP NORTH = either EAST or WEST.$OPP ' Opposite the given direction. i.e., OPP NORTH = SOUTH.& Here are some example commands to"demonstrate the use of directions:&#GO CW RNDNS 'Go either east or west.'#GO OPP SEEK 'Go away from the player.&#WALK CW FLOW 'Turn clockwise from the* 'direction we're walking in.:flags;Flag manipulation:" Objects can manipulate simple'variables called flags. A flag assumes#one of two possible states: SET and%CLEAR. Objects can alter flags, thentake action accordingly." Flags are not associated with(individual objects or rooms. A flag set$by one object can be accessed by allother objects in all rooms.$ Three commands are useful here::set;#SET :clear;#CLEAR " Set and clear flag variables.:if;#IF [THEN] ' Tests the condition of a flag. If%the flag is SET, the message is sent.&Otherwise, the instruction is ignored.( In addition to user-declared flags,(several "internal" flags can be accessedby any object: $ALLIGNED) This flag is SET whenever the object"is alligned with the player eitherhorizontally or vertically.$CONTACT) This flag is SET whenever the object%is adjacent to (touching) the player.$BLOCKED ( This flag is SET when the object is(not free to move in the given direction,$and CLEAR when the object is free tomove in the direction. $ENERGIZED) This flag is SET whenever the player'has touched an energizer and can not be harmed by creatures and bullets.:cmds;Programming commands:* All ZZT-OOP commands are preceeded by"the pound sign (#). The followingcommands are supported:!become;#BECOME !bind;#BIND !change;#CHANGE !char;#CHAR !flags;#CLEAR !cycle;#CYCLE !die;#DIE !end;#END!endgame;#ENDGAME!give;#GIVE !go;#GO !idle;#IDLE!if;#IF [THEN] !lock;#LOCK!play;#PLAY !put;#PUT !restart;#RESTART!restore;#RESTORE !send;#SEND !flags;#SET !shoot;#SHOOT '!take;#TAKE []!!throwstar;#THROWSTAR !try;#TRY !unlock;#UNLOCK!walk;#WALK !zap;#ZAP $Descriptions of commands::send;#SEND ' Similar to basic's "GOTO" command.%#SEND followed by the name of a label%within the program will cause program$execution to continue at that label.Example: :ABCDEF& ...program loop goes here... #SEND ABCDEF#SEND :( Causes the execution of a different(program to continue at a specified label#within that program. By using this!command, several creatures can be%coordinated. For example, the player%touches Creature A. Creature A tells Creature B to attack the player. Example: :TOUCH& #SEND CreatureB:AttackPlayer&Note: If the program receiving the) message is in the locked state,' the command will be ignored. ( See the #LOCK command for more information."Note: If there are two or more' programs with the given name,% the message will be sent to all of them.#SEND ALL:( Sends a given message to ALL of theobjects on the board. :end;#END' Causes program operation to halt. &The object will just sit idly by untilstimulated by a message.:restart;#RESTART) Causes the program to go back to thetop and start over.:go;#GO " Causes an object to move in a%specified direction. The object will(push boulders forward if they are in the'way. If the object can not move in the'given direction, it will stand by until*either it can move, or it is stimulated by a message.!dirs;Valid directions!:try;#TRY []% Causes the object to move in the%given direction if it is not blocked.*Otherwise, the given message will be sent.:walk;#WALK ( Sets the object moving in the given$direction. The object will continuemoving and executing commands.) To cause a program to cease walking,issue the "Walk Idle" command:#WALK I) When an object WALKs into a wall, it&automatically receives a THUD message. :idle;#IDLE* Directs the creature to do absolutely*nothing until it is updated next. Same asthe /I command.:endgame;#ENDGAME' This command takes away all of the&player's health, terminating the game.'If the player has a high score, it will be recorded. :die;#DIE% The object will instantly vanish%when this command is issued. Program)execution halts, and the object is erased(from the screen. The game will continueon without it.:shoot;#SHOOT % Attempts to fire a bullet in thegiven direction. Example:#SHOOT SEEK 'fires a bullet 'toward the player!:throwstar;#THROWSTAR ( Causes the object to thow a star in'the given direction. The star will tryto collide with the player.:zap;#ZAP & Disables the first occurance of a(label by turning it into a comment. For(example, #ZAP TOUCH would turn the label(TOUCH into the comment 'TOUCH. Allows a)program to have several routines with the)same labels, so that the desired label is)called at the appropriate time. Remember'that the #SEND command always calls the)first occurence of a label. For example:& :TOUCH 'will be called first time 'creature is touched( "You touched me for the first time" #ZAP TOUCH #END :TOUCH 'will be called all 'subsequent times "You touched me again." #END:restore;#RESTORE message' Changes a ZAPped label back into a(normal label. Then, on subsequent calls&to the label, the original one will be"called instead of a secondary one. :lock;#LOCK% Puts a program into the "locked"(state, so it will not be affected by any%incomming messages. Often, conflicts%occur when two messages are sent to a'program in a short amount of time. The%second message interrupts the program'before it can finish handling the first(one. However, if a program LOCKs itself)when dealing with messages, it can not be disturbed.:unlock;#UNLOCK( Removes a program from the "locked")state, so it is free to receive incomming(messages. Any messages that happened to$arrive while it was LOCKed are lost.Example: :TOUCH #LOCK! 'code to handle "touch" 'message goes here... #UNLOCK #END:give;#GIVE ( Gives a certain quantity of an item%to the player. Good for giving bonus$points, selling ammo, awarding extra health, etc. Items: AMMO GEMS TORCHES HEALTH SCORE*Example: #GIVE AMMO 10 (gives the player 10 extra shots)):take;#TAKE []( Attempts to take a certain quantity*of an item from the player. If the player)does not have the given amount, none will'be taken, and if a message is given, it will be sent.Example: #TAKE GEMS 2 TooPoor# "Thank you for the gems!" #END :TooPoor' "You don't have enough gems!" #END:play;#PLAY ! Plays a musical score in the!background as the game continues. Music:( _> [Optional parameters] [Notes] <_) / \) \___________________________________/ Parameters: T 32nd note follows S Sixteenth I Eighth Q Quarter H Half W Whole) 3 Triplets: cut previous duration# into thirds. For example,) "Q3ABC" would play the notes A,) B, and C, with all three taking( up the time of a quarter note.$ . Adds time-and-a-half. For* example, "H." would turn a half-) note into a half-note tied to a quarter note. + Up octave - Down octave $Notes & rests: X Rest* A-G Piano notes, can be followed by: # Sharp ! Flat$Rythmic sound effects: 0 Tick 1 Tweet 2 Cowbell( 3 <> 4 Hi snare 5 High woodblock 6 Low snare 7 Low tom 8 Low woodblock 9 Bass drum:change;#CHANGE ( Changes every specified item on the'board into another item. is the(name of an item, creature, or terrain as)listed in the editor (by pressing f1, f2,$or f3), but with all punctuation andspaces removed. Examples:$#CHANGE LION GEM 'Turns all lions on& 'the board into gems.'#CHANGE KEY SLIDEREW 'Changes all keys) 'into east-west sliders.*#CHANGE RED KEY CONVEYOR1 'Changes all red& 'keys into conveyors.:put;#PUT ' This causes a specified item to be)placed adjacent to the object issuing thecommand. Examples:##PUT N BLUE KEY 'Places a blue key 'north of us.%#PUT SEEK TIGER 'Puts a tiger in the* 'direction of the player.!change;What does mean?:become;#BECOME ) Causes the object to suddenly change'form into a specified item or creature.#The object's program then ceases toexist.!change;What does mean?:char;#CHAR ) Causes the object to change form, so'that it is reprented on the screen as a(different character. can range&from 0 to 255, and should be the ASCII)code of the new character. Find a manual)with a list of ASCII codes for reference.:cycle;#CYCLE ) Sets the speed at which an object is)updated. This can range from 1 (fastest))to 255 (ridiculusly slow.) When no CYCLE%speed is specified, it defaults to 3.:bind;#BIND When a Program executes this'instruction, it's code will be replaced*by the code of another object, and it will%start executing instructions from the beginning.% This is a useful and space-saving$technique. Rather than creating ten$objects with the same program (which%would be stored in memory ten times),'create one object with the program, and$nine others that contain only a BIND statement.@$Board information menu& To bring up the board information)menu, press [I]. Listed in this menu are(all of the characteristics unique to theroom being edited.$Title( Each room has a unique title, which(you can change as desired. The title of)the board you are editing is displayed atthe top of the screen.$Can fire (#) shots) This option determines the number of'bullets that the player can fire at the'same time. A value of 1 indicates that*the player can only have one bullet on the'screen at any time. The player can not'fire again until the bullet disappears.' A value of zero indicates that the'player can fire any shots on the board.$Board is dark& Use this option to darken a room.'The player must use a torch to see in a%darkened room, and even then only haslimited visibility.$Board up/down/left/right$ Use these options to link rooms)together so that the player can move from%one room to another by moving off thescreen.& Note: When you link one board to'another, the other is not automatically'linked to the first. You must manually(switch to the second board and then linkit to the first.$Re-enter when zapped* When this option is on and the player*is shot or touched by an enemy, he will be#moved back to the position where heentered the room.& Otherwise, the player will remainthe same place when shot. $Time limit) A limit can be imposed on the amount'of time the player can spend in a room.%Once that time expires, the player is#zapped and the counter starts over.) A time limit of 0 implies that there%is no limit to the amount of time theplayer can spend in a room.& When you impose a time limit on a"room, be sure you also turn on the*"Re-enter when zapped" option, or else the(time limit becomes somewhat meaningless.@$Getting Started.( If you can't quite figure out what to(do in this game, remember the following:' * If you see something unusual, try& touching it. The worst that can happen is... Death!' * Don't forget that you can usually* leave the room you are in by walking! off the edge of the screen.( * Save the game often. Then, if you( get stuck or you die, you can just& go back and restore it where you left off.& * Keep an open mind. This is ZZT,( The Object-Oriented Game, and just& about anything can (and probably will) happen.$Health points( When you begin a new game, you start'with 100 health points. Every time you'get shot or touched by a creature, you(lose 10. When your health reaches zero,the game is over.& You can regain health by picking up)gems - each gem gives you 1 health point.$Using the Keyboard& To move around, use the four cursorkeys or the numeric keypad.& To shoot, hold down the [Shift] key)and press the cursor key in the directionyou wish to shoot.$Using a Joystick) ZZT fully supports joystick operation.'To move, just point the joystick in the'desired direction. To shoot, hold down%the button then move the stick in thedirection you wish to shoot.* To use a joystick, you must say so when&you first run ZZT and you are prompted%"Keyboard, Joystick, Mouse?". If you%have not done this, leave the programand start over.& At times, you may prefer to use the%keyboard for more accurate maneuvers.$Using a Mouse& To move, just drag the mouse in the$desired direction. You will have to"keep dragging the mouse as long asyou want to move.# To move continually in a certain)direction, first hold down the right-hand$button on the mouse. Next, push the(mouse slightly in the direction you wish*to move. You will continue moving in that$direction, without any effort, untilthe button is released.( To fire, just hold down the left-hand&mouse button and push the mouse gently#in the direction you wish to shoot.& At times, you may prefer to use the%keyboard for more accurate maneuvers.@