.FUNCT PARK-PSEUDO EQUAL? PRSA,V?EXAMINE \?ELS5 PRINTI "It's Tokyo Central Park, filled with little plastic trees and shrubs, and little plastic people sitting on little plastic benches. Tokyo's Main Street stops on the west side of the park then continues on the east side of the park. " EQUAL? DOG-LOC,6 \?ELS8 PRINTI "In the western half of the park you can't help but notice the out-of-place " CALL DPRINT,DOG ZERO? ROCKET-LIFE /?ELS11 PRINTI " with a small rocket buzzing around it." JUMP ?CND9 ?ELS11: PRINTC 46 ?CND9: EQUAL? TRUCK-LOC,33 /?CND6 EQUAL? TRUCK-LOC,30 /?CND6 PRINTI " A tiny truck is near some plastic trees in the eastern half of the park." JUMP ?CND6 ?ELS8: PRINTI "In the eastern half of the park there" FSET? MONUMENT,TRASHED-BIT \?ELS23 PRINTI " are bits and pieces of a smashed monument. " FSET? DOG,CLUTCHING-BIT /?CND21 ZERO? RING-UNDER-DOME /?CND21 PRINTI "Lying near the remains of the monument is" CALL APRINT,RING PRINTI ". " JUMP ?CND21 ?ELS23: PRINTI " is a monument. " ?CND21: FSET? RING,ON-MONUMENT-BIT \?CND31 PRINTI "There is" CALL APRINT,RING PRINTI " perched on top of the monument. " ?CND31: EQUAL? DOG-LOC,7 \?ELS36 PRINTI "The " CALL DPRINT,DOG PRINTI " is standing in front of the monument and a " EQUAL? TRUCK-LOC,30 \?CND37 PRINTI "smashed " ?CND37: PRINTI "truck is at his feet." ZERO? ROCKET-LIFE /?CND6 PRINTI " There is a rocket flying around the dog." JUMP ?CND6 ?ELS36: EQUAL? DOG-LOC,30 \?CND6 PRINTI "Scattered on the west and east sides of the park are pieces of fur and scales, mixed with bits of wire and a couple of servomotors." FSET? DOG,CLUTCHING-BIT \?CND6 PRINTI " A " CALL DPRINT,RING PRINTI " is lying near the debris." ?CND6: CRLF RTRUE ?ELS5: CALL TOUCHING?,PSEUDO-OBJECT ZERO? STACK /FALSE PRINTR "You can't touch the park. It's under the plastic dome." .FUNCT DOME-PSEUDO EQUAL? PRSA,V?EXAMINE \?ELS5 PRINTI "The thick plastic dome covers the model of downtown Tokyo" LESS? BURN-DOME,3 \?CND6 PRINTI ". There is a " EQUAL? BURN-DOME,2 \?ELS11 PRINTI "slightly melted spot" JUMP ?CND9 ?ELS11: EQUAL? BURN-DOME,1 \?ELS13 PRINTI "melted spot, almost a hole" JUMP ?CND9 ?ELS13: ZERO? BURN-DOME \?CND9 PRINTI "small hole" ?CND9: PRINTI " on the dome's eastern side" ?CND6: PRINTR "." ?ELS5: EQUAL? PRSA,V?LOOK-INSIDE \?ELS17 CALL PERFORM,V?EXAMINE,TOKYO RTRUE ?ELS17: EQUAL? PRSA,V?PUT \FALSE ZERO? BURN-DOME \FALSE PRINTR "You don't want to ruin the delicate model." .FUNCT DOME-HOLE-PSEUDO EQUAL? BURN-DOME,3 \?ELS5 CALL CANT-SEE-ANY RSTACK ?ELS5: EQUAL? PRSA,V?EXAMINE \?ELS7 LESS? BURN-DOME,3 \?ELS7 PRINTI "There is a " EQUAL? BURN-DOME,2 \?ELS12 PRINTI "slightly melted spot" JUMP ?CND10 ?ELS12: EQUAL? BURN-DOME,1 \?ELS14 PRINTI "melted spot, almost a hole," JUMP ?CND10 ?ELS14: ZERO? BURN-DOME \?CND10 PRINTI "hole about the size of an orange" ?CND10: PRINTR " on the dome's eastern side." ?ELS7: EQUAL? PRSA,V?REACH-IN \?ELS18 FSET? DOG,CLUTCHING-BIT \?ELS18 ZERO? BURN-DOME \?ELS18 PRINTI "The " CALL DPRINT,RING PRINTI ": " CALL PERFORM,V?TAKE,RING RTRUE ?ELS18: EQUAL? PRSA,V?LOOK-INSIDE \?ELS22 PRINTR "You see downtown Tokyo." ?ELS22: EQUAL? PRSA,V?PUT \FALSE ZERO? BURN-DOME \FALSE PRINTR "You don't want to ruin the delicate model." .FUNCT TRUCK-PSEUDO EQUAL? PRSA,V?EXAMINE \?ELS5 EQUAL? TRUCK-LOC,33 \?ELS10 PRINTR "You can't see any tiny truck here." ?ELS10: EQUAL? TRUCK-LOC,30 \?ELS12 PRINTR "The tiny truck is smashed into tiny bits and pieces." ?ELS12: PRINTI "It's a tiny truck with a small radar dish which is pointing at" CALL TRPRINT,DOG RSTACK ?ELS5: CALL TOUCHING?,PSEUDO-OBJECT ZERO? STACK /FALSE PRINTR "You can't reach the tiny truck. It's under the plastic dome." .FUNCT ROCKET-PSEUDO EQUAL? PRSA,V?EXAMINE \?ELS5 EQUAL? ROCKET-LOC,33 \?ELS10 PRINTR "You can't see any rocket here." ?ELS10: EQUAL? ROCKET-LOC,30 \?ELS12 PRINTR "You can't see any rocket here. It has been destroyed." ?ELS12: PRINTI "The rocket is circling around" CALL TRPRINT,DOG RSTACK ?ELS5: CALL TOUCHING?,PSEUDO-OBJECT ZERO? STACK /FALSE PRINTR "You can't reach the rocket. It's under the plastic dome." .FUNCT TOKYO-F EQUAL? PRSA,V?EXAMINE \FALSE PRINTI "It's the scale model of downtown Tokyo used in the movie ""Atomic Chihuahuas From Hell."" In the center of the model is Tokyo Central Park. " PRINTI "In the eastern half of the park there " FSET? MONUMENT,TRASHED-BIT \?ELS8 PRINTI "are bits and pieces of a smashed monument." FSET? DOG,CLUTCHING-BIT /?CND6 ZERO? RING-UNDER-DOME /?CND6 PRINTI " Lying near the remains of the monument is" CALL APRINT,RING PRINTC 46 JUMP ?CND6 ?ELS8: PRINTI "is a monument." ?CND6: FSET? RING,ON-MONUMENT-BIT \?CND16 PRINTI " There is" CALL APRINT,RING PRINTI " perched on top of the monument." ?CND16: PRINTI " Stretching east and west from the park is Tokyo's main street. " EQUAL? DOG-LOC,30 \?ELS21 PRINTI "Scattered throughout the park are pieces of fur and scales mixed with bits of wire and a couple of servomotors." FSET? DOG,CLUTCHING-BIT \?CND19 PRINTI " A " CALL DPRINT,RING PRINTI " is lying near the debris." JUMP ?CND19 ?ELS21: EQUAL? DOG-LOC,20 \?ELS26 PRINTI "West of the park," CALL TPRINT,DOG PRINTI " is lying in the street." JUMP ?CND19 ?ELS26: EQUAL? DOG-LOC,40 \?ELS28 PRINTI "Scattered in the street east of the park are pieces of fur and scales mixed with bits of wire and a couple of servomotors." FSET? DOG,CLUTCHING-BIT \?CND19 PRINTI " A " CALL DPRINT,RING PRINTI " is lying near the debris." JUMP ?CND19 ?ELS28: LESS? DOG-LOC,6 \?ELS33 GRTR? DOG-LOC,0 \?ELS33 PRINTI "In the street west of the park there is an " CALL DPRINT,DOG SUB TANK-LOC,1 EQUAL? DOG-LOC,TANK-LOC,STACK /?THN39 SUB PLANE-LOC,1 EQUAL? DOG-LOC,PLANE-LOC,STACK \?CND36 ?THN39: PRINTI " under attack" ?CND36: PRINTC 46 JUMP ?CND19 ?ELS33: EQUAL? DOG-LOC,6,7 \?ELS42 PRINTI "There is an " CALL DPRINT,DOG PRINTI " in the park" ZERO? ROCKET-LIFE /?CND43 PRINTI " with a rocket buzzing around it" ?CND43: PRINTC 46 JUMP ?CND19 ?ELS42: GRTR? DOG-LOC,7 \?CND19 PRINTI "There is an " CALL DPRINT,DOG PRINTI " in the street east of the park" ZERO? ROCKET-LIFE /?CND48 PRINTI " with a rocket buzzing around it" ?CND48: PRINTC 46 ?CND19: PRINTI " The entire model is covered by a thick plastic dome" LESS? BURN-DOME,3 \?CND51 PRINTI " which has a " EQUAL? BURN-DOME,2 \?ELS56 PRINTI "slightly melted spot" JUMP ?CND54 ?ELS56: EQUAL? BURN-DOME,1 \?ELS58 PRINTI "melted spot" JUMP ?CND54 ?ELS58: ZERO? BURN-DOME \?CND54 PRINTI "small hole" ?CND54: PRINTI " in it near the east end" ?CND51: PRINTR ". Outside the dome on the model there are five buttons: a blue button, a black button, a green button, a white button and a red button." .FUNCT MONUMENT-F EQUAL? PRSA,V?EXAMINE \?ELS5 PRINTI "It's " FSET? MONUMENT,TRASHED-BIT \?CND6 PRINTI "what's left of " ?CND6: PRINTI "a memorial dedicated to the brave Japanese men and women who have died defending Tokyo against various monsters" FSET? RING,ON-MONUMENT-BIT \?ELS11 PRINTI ". A " CALL DPRINT,RING PRINTI " is sitting atop the monument" JUMP ?CND9 ?ELS11: FSET? MONUMENT,TRASHED-BIT \?CND9 FSET? DOG,CLUTCHING-BIT /?CND9 PRINTI ". There is" CALL APRINT,RING PRINTI " lying next to the monument rubble" ?CND9: PRINTR "." ?ELS5: CALL TOUCHING?,MONUMENT ZERO? STACK /FALSE PRINTI "You can't reach" CALL TPRINT,MONUMENT PRINTR ". It's under the plastic dome." .FUNCT RING-F EQUAL? PRSA,V?EXAMINE \?ELS5 PRINTI "It's" CALL TPRINT,RING PRINTR " from Uncle Buddy's movie ""The Big Diamond Ring.""" ?ELS5: EQUAL? PRSA,V?TAKE \?ELS7 FSET? RING,TRYTAKEBIT \?ELS7 ZERO? BURN-DOME \?ELS14 FSET? DOG,CLUTCHING-BIT \?ELS19 FCLEAR RING,TRYTAKEBIT FCLEAR DOG,CLUTCHING-BIT FCLEAR RING,NDESCBIT SET 'RING-UNDER-DOME,FALSE-VALUE RFALSE ?ELS19: PRINTR "It's in the park in the middle of downtown Tokyo, the model that is. Despite the hole, you can't reach it from here." ?ELS14: PRINTR "It's under the plastic dome. You can't reach it." ?ELS7: EQUAL? PRSA,V?CUT \FALSE EQUAL? PRSI,RING \FALSE PRINTR "You don't think that's a real diamond, do you? Not in one of Uncle Buddy's movies." .FUNCT TANK-F EQUAL? PRSA,V?EXAMINE \?ELS5 EQUAL? TANK-LOC,33 \FALSE PRINTI "You can't see any " CALL DPRINT,TANK PRINTR " here." ?ELS5: CALL TOUCHING?,TANK ZERO? STACK /FALSE PRINTI "You can't reach" CALL TPRINT,TANK PRINTR " under the plastic dome." .FUNCT PLANE-F EQUAL? PRSA,V?EXAMINE \?ELS5 EQUAL? PLANE-LOC,33 \FALSE PRINTI "You can't see any " CALL DPRINT,PLANE PRINTR " here." ?ELS5: CALL TOUCHING?,PLANE ZERO? STACK /FALSE PRINTI "You can't reach" CALL TPRINT,PLANE PRINTR " under the plastic dome." .FUNCT DOG-F EQUAL? PRSA,V?EXAMINE \?ELS5 EQUAL? DOG-LOC,30,40 \?ELS10 PRINTR "There's nothing left but bits of fur and scales mixed with pieces of wire and a couple of servomotors." ?ELS10: PRINTI "Being atomic, it bears little resemblance to the prancing rats you're used to seeing, except for the bulging eyes, of course. It has a furry underbelly, but in most places scales have replaced hair, giving it a more reptilian look. Its front paws are now heavy, clawed appendages and it has fierce-looking fangs. " EQUAL? DOG-LOC,20 \?ELS15 PRINTI "It's lying on its side in the street, west of the park." JUMP ?CND13 ?ELS15: PRINTI "It's standing on its hind legs balanced by its huge mutated spiny tail." ?CND13: GRTR? HIT-POINTS,29 \?ELS20 LESS? HIT-POINTS,33 \?ELS20 PRINTI " It seems near death." JUMP ?CND18 ?ELS20: GRTR? HIT-POINTS,25 \?CND18 LESS? HIT-POINTS,29 \?CND18 PRINTI " The repeated attacks are taking their toll." ?CND18: FSET? DOG,CLUTCHING-BIT \?CND27 PRINTI " It's clutching" CALL APRINT,RING PRINTI " with its claws." ?CND27: CRLF RTRUE ?ELS5: CALL TOUCHING?,DOG ZERO? STACK /FALSE EQUAL? PRSA,V?TAKE \?CND32 EQUAL? PRSI,DOG \?CND32 EQUAL? PRSO,RING \?CND32 ZERO? BURN-DOME \?CND32 FSET? DOG,CLUTCHING-BIT /FALSE ?CND32: PRINTI "You can't reach" CALL TPRINT,DOG PRINTR ". It's under the plastic dome." .FUNCT RED-BUTTON-F EQUAL? PRSA,V?PUSH \FALSE CALL DOG-DEAD? ZERO? STACK \TRUE ZERO? DOG-BREATH \?ELS12 PRINTI "You hear a faint gagging noise coming from" CALL TPRINT,DOG PRINTR ", then see a little smoke rise from his nostrils." ?ELS12: DEC 'DOG-BREATH EQUAL? DOG-LOC,PLANE-LOC \?ELS19 EQUAL? PLANES-LEFT,2 \?ELS24 SET 'PLANES-LEFT,1 PUTP PLANE,P?SDESC,STR?226 PRINTR "A gout of flame from the maw of the plutonium puppy burns up one of the puny planes." ?ELS24: MOVE PLANE,P-NMERGE SET 'PLANES-LEFT,0 SET 'PLANE-LOC,30 PRINTR "An eight-inch flame shoots from the dog's mouth, burning up the remaining puny plane." ?ELS19: EQUAL? DOG-LOC,6,7 \?ELS28 ZERO? ROCKET-LIFE /?ELS28 CALL DEQUEUE,I-ROCKET-ATTACK SET 'ROCKET-LIFE,0 SET 'ROCKET-LOC,30 PRINTR "The dog barks a flame, which burns the rocket to a crisp. (Japanese taxpayers are bound to complain about this useless and expensive waste of military hardware.)" ?ELS28: EQUAL? DOG-LOC,10 \?ELS32 ZERO? ROCKET-LIFE \?ELS32 ZERO? BURN-DOME /?ELS32 DEC 'BURN-DOME PRINTI "The " CALL DPRINT,DOG PRINTI " breathes fire which " EQUAL? BURN-DOME,2 \?ELS37 PRINTI "slightly melts a spot" JUMP ?CND35 ?ELS37: EQUAL? BURN-DOME,1 \?ELS39 PRINTI "melts the spot even more. There is almost a hole" JUMP ?CND35 ?ELS39: ZERO? BURN-DOME \?CND35 PRINTI "burns a small hole" ?CND35: PRINTR " in the plastic dome." ?ELS32: PRINTR "A flame shoots from the dog's mouth into the air." .FUNCT WHITE-BUTTON-F EQUAL? PRSA,V?PUSH \FALSE CALL DOG-DEAD? ZERO? STACK \TRUE PRINTI "The " CALL DPRINT,DOG PRINTI " swipes at " EQUAL? DOG-LOC,PLANE-LOC \?ELS11 PRINTI "the " CALL DPRINT,PLANE PRINTI ", striking " EQUAL? PLANES-LEFT,2 \?ELS14 PRINTI "one" JUMP ?CND12 ?ELS14: PRINTI "it" ?CND12: PRINTI ". A puff of black smoke begins to trail from the puny plane. " EQUAL? PLANES-LEFT,2 \?ELS19 PRINTI "It rolls to one side, then heads down, crashing in a Tokyo suburb" JUMP ?CND17 ?ELS19: PRINTI "It tumbles out of control, crashing in the parking lot of the Tokyo Disneyland" ?CND17: DEC 'PLANES-LEFT PUTP PLANE,P?SDESC,STR?226 ZERO? PLANES-LEFT \?CND9 MOVE PLANE,P-NMERGE SET 'PLANES-LEFT,0 SET 'PLANE-LOC,30 JUMP ?CND9 ?ELS11: EQUAL? DOG-LOC,ROCKET-LOC \?ELS26 EQUAL? ROCKET-LOC,30 /?ELS26 PRINTI "the rocket, barely missing it" JUMP ?CND9 ?ELS26: PRINTI "thin air" ?CND9: PRINTR "." .FUNCT DOG-DEAD? EQUAL? DOG-LOC,30,40 \?ELS5 PRINTI "A servomotor " EQUAL? DOG-LOC,40 \?ELS8 PRINTI "east of " JUMP ?CND6 ?ELS8: PRINTI "in " ?CND6: PRINTR "the park spins for a moment." ?ELS5: EQUAL? DOG-LOC,20 \FALSE EQUAL? PRSI,RED-BUTTON \?ELS17 PRINTI "A slight puff of smoke emerges slowly from" CALL TPRINT,DOG PRINTR "'s left nostril." ?ELS17: PRINTI "You press" CALL TPRINT,PRSO PRINTR " but nothing happens." .FUNCT GREEN-BUTTON-F EQUAL? PRSA,V?PUSH \FALSE CALL DOG-DEAD? ZERO? STACK \TRUE EQUAL? DOG-LOC,TANK-LOC,PLANE-LOC \?ELS10 PRINTI "The gunfire prevents" CALL TPRINT,DOG PRINTI " from moving further forward." CRLF JUMP ?CND6 ?ELS10: EQUAL? DOG-LOC,10 \?ELS12 PRINTI "The " CALL DPRINT,DOG PRINTI " bumps its atomic snout into the plastic dome covering the model." CRLF JUMP ?CND6 ?ELS12: INC 'DOG-LOC PRINTI "The " CALL DPRINT,DOG PRINTI ", in " GRTR? HIT-POINTS,8 \?ELS17 PRINTI "a wounded waddle," JUMP ?CND15 ?ELS17: PRINTI "its best prehistoric prance," ?CND15: PRINTI " moves " EQUAL? DOG-LOC,6 \?ELS22 PRINTI "into the west end of the park, violating all leash laws." CRLF JUMP ?CND6 ?ELS22: EQUAL? DOG-LOC,7 \?ELS24 PRINTI "to the east end of the park right in front of a monument, near the tiny truck." ZERO? ROCKET-LIFE /?CND25 SET 'ROCKET-LOC,7 PRINTI " The rocket follows close behind." ?CND25: CRLF JUMP ?CND6 ?ELS24: EQUAL? DOG-LOC,8 \?ELS29 PRINTI "forward, crushing the monument. Dozens of local pigeons commence mourning. " FSET MONUMENT,TRASHED-BIT FSET? DOG,CLUTCHING-BIT /?CND30 FCLEAR RING,ON-MONUMENT-BIT PRINTI "The " CALL DPRINT,RING PRINTI " tumbles off the monument onto the ground. " ?CND30: PRINTI "The dog leaves the park and moves into the street" EQUAL? DOG-LOC,ROCKET-LOC /?CND33 EQUAL? ROCKET-LOC,30 /?CND33 SET 'ROCKET-LOC,DOG-LOC PRINTI ". The rocket follows close behind" ?CND33: PRINTC 46 CRLF JUMP ?CND6 ?ELS29: EQUAL? DOG-LOC,9 \?ELS39 PRINTI "further east, then comes to a stop." EQUAL? DOG-LOC,ROCKET-LOC /?CND40 EQUAL? ROCKET-LOC,30 /?CND40 SET 'ROCKET-LOC,DOG-LOC PRINTI " The rocket follows close behind." ?CND40: CRLF JUMP ?CND6 ?ELS39: EQUAL? DOG-LOC,2 \?ELS46 PRINTI "east, then comes to a stop." CRLF JUMP ?CND6 ?ELS46: PRINTI "further east, then comes to a stop." CRLF ?CND6: EQUAL? DOG-LOC,2 \?ELS51 EQUAL? DOG-LOC,TANK-LOC,PLANE-LOC /?ELS51 SET 'TANK-LOC,5 SET 'PLANE-LOC,7 CALL QUEUE,I-TANK-ATTACK,2 CRLF PRINTI "Suddenly, several blocks east of" CALL TPRINT,DOG PRINTI ", a pair of " CALL DPRINT,TANK PRINTI " turn a corner onto the main street. They're heading straight for" CALL TPRINT,DOG PRINTR ". Out of the corner of your eye you notice a puny plane flying over the park. The puny plane banks, turning towards the main street." ?ELS51: EQUAL? DOG-LOC,6 \TRUE CALL QUEUE,I-ROCKET-ATTACK,2 SET 'ROCKET-LOC,6 SET 'TRUCK-LOC,7 CRLF PRINTI "Suddenly out from under a clump of trees at the east end of the park, a tiny truck with a rocket mounted on it rolls into view. (Apparently, violating Tokyo's leash laws is not taken lightly.) A small radar dish on the tiny truck spins furiously until it locks in on" CALL TPRINT,DOG PRINTR " and stops. A puff of smoke comes from the back of the rocket as it blasts off toward the dog." .FUNCT I-TANK-ATTACK,HITS,TANK-IN-RANGE=0,PLANE-IN-RANGE=0 ZERO? TANKS-LEFT \?CND1 ZERO? PLANES-LEFT \?CND1 CALL DEQUEUE,I-TANK-ATTACK RFALSE ?CND1: CALL QUEUE,I-TANK-ATTACK,-1 SET 'HITS,HIT-POINTS EQUAL? HERE,GAME-ROOM \?CND6 CALL LIT?,GAME-ROOM ZERO? STACK /?CND6 CRLF ?CND6: EQUAL? DOG-LOC,TANK-LOC \?ELS13 EQUAL? DOG-LOC,PLANE-LOC \?ELS13 EQUAL? HERE,GAME-ROOM \?CND16 CALL LIT?,GAME-ROOM ZERO? STACK /?CND16 PRINTI "The " CALL DPRINT,DOG PRINTI " continues to take fire from" CALL TPRINT,TANK PRINTI " and" CALL TPRINT,PLANE PRINTC 46 ?CND16: ADD PLANES-LEFT,TANKS-LEFT ADD HIT-POINTS,STACK >HIT-POINTS JUMP ?CND11 ?ELS13: EQUAL? TANK-LOC,DOG-LOC \?ELS25 EQUAL? HERE,GAME-ROOM \?CND26 CALL LIT?,GAME-ROOM ZERO? STACK /?CND26 PRINTI "The " CALL DPRINT,DOG PRINTI " continues to take hits from" CALL TPRINT,TANK PRINTC 46 ?CND26: ADD HIT-POINTS,TANKS-LEFT >HIT-POINTS JUMP ?CND23 ?ELS25: ZERO? TANKS-LEFT /?CND23 DEC 'TANK-LOC EQUAL? TANK-LOC,DOG-LOC \?ELS35 EQUAL? HERE,GAME-ROOM \?CND36 CALL LIT?,GAME-ROOM ZERO? STACK /?CND36 PRINTI "The tanks " GRTR? HIT-POINTS,0 \?ELS43 PRINTI "continue" JUMP ?CND41 ?ELS43: PRINTI "begin" ?CND41: PRINTI " to fire as they roll to a stop at the foot of the mutant Mexican hairless." ?CND36: ADD HIT-POINTS,TANKS-LEFT >HIT-POINTS JUMP ?CND23 ?ELS35: ADD DOG-LOC,1 EQUAL? STACK,TANK-LOC \?ELS47 EQUAL? HERE,GAME-ROOM \?CND48 CALL LIT?,GAME-ROOM ZERO? STACK /?CND48 PRINTI "The tanks, only a block away, begin firing as they move within range." ?CND48: ADD HIT-POINTS,TANKS-LEFT >HIT-POINTS JUMP ?CND23 ?ELS47: EQUAL? TANK-LOC,DOG-LOC /?CND23 EQUAL? HERE,GAME-ROOM \?CND23 CALL LIT?,GAME-ROOM ZERO? STACK /?CND23 PRINTI "The tanks, a few blocks away, continue to advance toward the radiated sewer rat." ?CND23: ZERO? TANKS-LEFT /?CND60 EQUAL? HERE,GAME-ROOM \?CND60 CALL LIT?,GAME-ROOM ZERO? STACK /?CND60 PRINTC 32 ?CND60: EQUAL? PLANE-LOC,DOG-LOC \?ELS70 EQUAL? HERE,GAME-ROOM \?CND71 CALL LIT?,GAME-ROOM ZERO? STACK /?CND71 PRINTI "The " CALL DPRINT,DOG PRINTI " continues to take fire from" CALL TPRINT,PLANE PRINTC 46 ?CND71: ADD HIT-POINTS,PLANES-LEFT >HIT-POINTS JUMP ?CND11 ?ELS70: ZERO? PLANES-LEFT /?CND11 DEC 'PLANE-LOC EQUAL? PLANE-LOC,DOG-LOC \?ELS80 EQUAL? HERE,GAME-ROOM \?CND81 CALL LIT?,GAME-ROOM ZERO? STACK /?CND81 PRINTI "The planes, spewing bullet-shaped death, reach the radioactive reptile and begin circling around it." ?CND81: ADD HIT-POINTS,PLANES-LEFT >HIT-POINTS JUMP ?CND11 ?ELS80: ADD DOG-LOC,1 EQUAL? STACK,PLANE-LOC \?ELS87 EQUAL? HERE,GAME-ROOM \?CND88 CALL LIT?,GAME-ROOM ZERO? STACK /?CND88 PRINTI "The planes, only a block away, begin firing as they move within range." ?CND88: ADD HIT-POINTS,PLANES-LEFT >HIT-POINTS JUMP ?CND11 ?ELS87: EQUAL? PLANE-LOC,DOG-LOC /?CND11 EQUAL? PLANE-LOC,6 \?ELS97 EQUAL? HERE,GAME-ROOM \?CND98 CALL LIT?,GAME-ROOM ZERO? STACK /?CND98 PRINTI "Over the park, a second puny plane joins the first one." ?CND98: PUTP PLANE,P?SDESC,STR?227 JUMP ?CND11 ?ELS97: EQUAL? PLANE-LOC,5 \?ELS104 EQUAL? HERE,GAME-ROOM \?CND105 CALL LIT?,GAME-ROOM ZERO? STACK /?CND105 PRINTI "The puny planes swoop out of the park and down the street" ?CND105: EQUAL? DOG-LOC,4 \?CND110 EQUAL? HERE,GAME-ROOM \?CND113 CALL LIT?,GAME-ROOM ZERO? STACK /?CND113 PRINTI " firing at" CALL TPRINT,DOG ?CND113: ADD HIT-POINTS,PLANES-LEFT >HIT-POINTS ?CND110: EQUAL? HERE,GAME-ROOM \?CND11 CALL LIT?,GAME-ROOM ZERO? STACK /?CND11 PRINTC 46 JUMP ?CND11 ?ELS104: EQUAL? HERE,GAME-ROOM \?CND11 CALL LIT?,GAME-ROOM ZERO? STACK /?CND11 PRINTI "The planes, a few blocks away, continue to fly toward the radiated sewer rat." ?CND11: GRTR? HIT-POINTS,HITS \?CND130 EQUAL? HERE,GAME-ROOM \?CND133 CALL LIT?,GAME-ROOM ZERO? STACK /?CND133 EQUAL? PLANE-LOC,30 \?ELS140 CALL PICK-ONE,DOG-IN-PAIN PRINT STACK JUMP ?CND133 ?ELS140: PRINTC 32 CALL PICK-ONE,DOG-IN-PAIN PRINT STACK ?CND133: GRTR? HIT-POINTS,19 \?ELS145 CALL DEQUEUE,I-TANK-ATTACK SET 'DOG-LOC,20 SET 'TANK-LOC,33 SET 'PLANE-LOC,33 EQUAL? HERE,GAME-ROOM \?CND130 CALL LIT?,GAME-ROOM ZERO? STACK /?CND130 PRINTI " The " CALL DPRINT,DOG PRINTI " starts to shake as if he has to go outside, then stumbles and falls to the ground. *** The " CALL DPRINT,DOG PRINTI " has died *** Tokyo is saved!" CRLF CRLF PRINTI "The " ZERO? TANKS-LEFT /?ELS153 PRINTI "tiny tank" EQUAL? TANKS-LEFT,2 \?ELS156 PRINTI "s turn" JUMP ?CND154 ?ELS156: PRINTI " turns" ?CND154: PRINTI " onto a side street and disappear" EQUAL? TANKS-LEFT,1 \?CND159 PRINTC 115 ?CND159: ZERO? PLANES-LEFT \?ELS164 PRINTC 46 JUMP ?CND130 ?ELS164: PRINTI " as the puny plane" EQUAL? PLANES-LEFT,2 \?ELS169 PRINTI "s tip their" JUMP ?CND167 ?ELS169: PRINTI " tips its" ?CND167: PRINTI " wings and head" EQUAL? PLANES-LEFT,1 \?CND172 PRINTC 115 ?CND172: PRINTI " for home." JUMP ?CND130 ?ELS153: PRINTI "puny plane" EQUAL? PLANES-LEFT,2 \?ELS179 PRINTI "s tip their" JUMP ?CND177 ?ELS179: PRINTI " tips its" ?CND177: PRINTI " wings and head" EQUAL? PLANES-LEFT,1 \?CND182 PRINTC 115 ?CND182: PRINTI " for home." JUMP ?CND130 ?ELS145: GRTR? HIT-POINTS,15 \?ELS186 GRTR? HITS,15 /?ELS186 EQUAL? HERE,GAME-ROOM \?CND130 CALL LIT?,GAME-ROOM ZERO? STACK /?CND130 PRINTI " The repeated attacks weaken" CALL TPRINT,DOG PRINTI " and it seems near death." JUMP ?CND130 ?ELS186: GRTR? HIT-POINTS,11 \?CND130 GRTR? HITS,11 /?CND130 EQUAL? HERE,GAME-ROOM \?CND130 CALL LIT?,GAME-ROOM ZERO? STACK /?CND130 PRINTI " The repeated attacks begin to take their toll on" CALL TPRINT,DOG PRINTC 46 ?CND130: EQUAL? HERE,GAME-ROOM \TRUE CALL LIT?,GAME-ROOM ZERO? STACK /TRUE CRLF RTRUE .FUNCT I-ROCKET-ATTACK EQUAL? ROCKET-LOC,30 /FALSE CALL QUEUE,I-ROCKET-ATTACK,-1 DEC 'ROCKET-LIFE ZERO? ROCKET-LIFE \?ELS8 EQUAL? HERE,GAME-ROOM \?CND9 CALL LIT?,GAME-ROOM ZERO? STACK /?CND9 CRLF PRINTI "The rocket swoops down, striking" CALL TPRINT,DOG PRINTI " in the chest. The " CALL DPRINT,DOG PRINTI " explodes and pieces of fur and scales, mixed with bits of wire and a couple of servomotors, scatter throughout the area. *** The " CALL DPRINT,DOG PRINTI " has died *** Tokyo is saved!" CRLF ?CND9: SET 'ROCKET-LOC,30 CALL DEQUEUE,I-ROCKET-ATTACK EQUAL? DOG-LOC,6,7 \?ELS18 SET 'DOG-LOC,30 RETURN DOG-LOC ?ELS18: SET 'DOG-LOC,40 RETURN DOG-LOC ?ELS8: EQUAL? ROCKET-LIFE,3 \?ELS27 EQUAL? HERE,GAME-ROOM \?ELS27 CALL LIT?,HERE ZERO? STACK /?ELS27 CRLF PRINTI "The rocket speeds toward" CALL TPRINT,DOG PRINTR " and begins circling as it nears." ?ELS27: EQUAL? ROCKET-LIFE,2 \?ELS31 EQUAL? HERE,GAME-ROOM \?ELS31 CALL LIT?,HERE ZERO? STACK /?ELS31 CRLF PRINTI "The rocket begins bobbing up and down, sniffing for just the right spot as it circles" CALL TRPRINT,DOG RSTACK ?ELS31: EQUAL? ROCKET-LIFE,1 \FALSE EQUAL? HERE,GAME-ROOM \FALSE CALL LIT?,HERE ZERO? STACK /FALSE CRLF PRINTI "Suddenly the rocket makes a wide turn out in front of" CALL TPRINT,DOG PRINTR ". It seems to have found the spot it was looking for. The rocket's speed increases as it heads right for the dog's heart!" .FUNCT BLUE-BUTTON-F EQUAL? PRSA,V?PUSH \FALSE CALL DOG-DEAD? ZERO? STACK \TRUE PRINTI "The " CALL DPRINT,DOG FSET? DOG,CLUTCHING-BIT \?ELS13 PRINTI " clutches" CALL TPRINT,RING PRINTR " more tightly." ?ELS13: EQUAL? DOG-LOC,7 \?ELS15 PRINTI " clutches" CALL TPRINT,RING PRINTI " in its front claws." CRLF FCLEAR RING,ON-MONUMENT-BIT FSET DOG,CLUTCHING-BIT RTRUE ?ELS15: PRINTR " grasps at thin air with its front claws." .FUNCT BLACK-BUTTON-F EQUAL? PRSA,V?PUSH \FALSE CALL DOG-DEAD? ZERO? STACK \TRUE EQUAL? DOG-LOC,TANK-LOC \?ELS11 EQUAL? TANKS-LEFT,2 \?ELS14 RANDOM 100 LESS? 50,STACK /?ELS14 PUTP TANK,P?SDESC,STR?232 PRINTI "Just as" CALL TPRINT,DOG PRINTI " is about to raise its hind leg, one of the tiny tanks drives up onto its toenail. As" CALL TPRINT,DOG PRINTI " raises its hind leg, the tiny tank is lifted off the ground and hurled through the air into the middle of a nearby apartment building, demolishing a large portion of it. Hundreds of house plants fall to their deaths. The " CALL DPRINT,DOG PRINTI " stomps the street's pavement with its clawed foot." SET 'TANKS-LEFT,1 JUMP ?CND9 ?ELS14: PRINTI "The " CALL DPRINT,DOG PRINTI " lifts its hind leg and, just as you thought this game was going to become even more base, stomps its clawed foot down on " EQUAL? TANKS-LEFT,2 \?ELS21 PRINTI "one of the tiny tanks" PUTP TANK,P?SDESC,STR?232 SET 'TANKS-LEFT,1 JUMP ?CND19 ?ELS21: PRINTI "the other tiny tank" MOVE TANK,P-NMERGE SET 'TANKS-LEFT,0 SET 'TANK-LOC,30 ?CND19: PRINTI ", crushing it." JUMP ?CND9 ?ELS11: EQUAL? TRUCK-LOC,7 \?ELS25 EQUAL? DOG-LOC,7 \?ELS25 PRINTI "The Chihuahua raises his hind leg and soundly stomps the tiny truck, smashing it to bits." ZERO? ROCKET-LIFE /?CND28 PRINTI " The rocket heads straight for the Atomic Chihuahua, then begins to swerve and dive erratically. It sails past the Atomic Chihuahua, colliding with Tokyo's tallest building, the Ginsu Building, corporate headquarters of the Ginsu Knife Company. Just as your mind pauses to consider the possibility of a Ginsu knife standing up to this kind of punishment, the rocket explodes and the entire building collapses. Tokyo isn't saved but millions of late-night TV viewers are." ?CND28: SET 'TRUCK-LOC,30 SET 'ROCKET-LOC,30 SET 'ROCKET-LIFE,0 CALL DEQUEUE,I-ROCKET-ATTACK JUMP ?CND9 ?ELS25: EQUAL? DOG-LOC,6,7 \?ELS32 PRINTI "The " CALL DPRINT,DOG PRINTI " lifts its hind leg (no, not that!) and stomps its scaly claw down on the grass, creating a children's wading pool." JUMP ?CND9 ?ELS32: PRINTI "The " CALL DPRINT,DOG PRINTI " lifts its hind leg and stomps its clawed foot down on the street's pavement." ?CND9: CRLF RTRUE .FUNCT MENS-ROOM-F,RARG EQUAL? RARG,M-LOOK \FALSE CALL DESCRIBE-BATHROOM,STR?234 RSTACK .FUNCT DESCRIBE-BATHROOM,GENDER PRINTI "This is an ordinary restroom which looks like a " PRINT GENDER PRINTI " room in a theatre." RTRUE .FUNCT LADIES-ROOM-F,RARG EQUAL? RARG,M-LOOK \FALSE CALL DESCRIBE-BATHROOM,STR?235 RSTACK .FUNCT ENTER-HM FCLEAR HEDGE-MAZE,TOUCHBIT SET 'HM-ROOM,439 CALL ULTIMATELY-IN?,VERTICAL-MAP ZERO? STACK \?CND1 CALL ULTIMATELY-IN?,HORIZONTAL-MAP ZERO? STACK \?CND1 PRINTI "You feel uneasy going into the hedge maze knowing Aunt Hildegarde isn't here to help you find your way out." CRLF CRLF ?CND1: RANDOM 20 ADD 30,STACK CALL QUEUE,I-HEDGE-FOOTSTEPS,STACK RETURN HEDGE-MAZE .FUNCT I-HEDGE-FOOTSTEPS EQUAL? HERE,HEDGE-MAZE \FALSE RANDOM 20 ADD 30,STACK CALL QUEUE,I-HEDGE-FOOTSTEPS,STACK CRLF PRINTR "You hear footsteps on the other side of the hedge." .FUNCT HEDGE-MAZE-OBJ-F EQUAL? PRSA,V?LEAVE,V?EXIT,V?ENTER /?THN6 EQUAL? PRSA,V?DISEMBARK,V?WALK-TO \FALSE ?THN6: CALL V-WALK-AROUND RSTACK .FUNCT HEDGE-MAZE-F,RARG,PATHS=0,OLD,STEPS,DIR EQUAL? RARG,M-LOOK \?ELS5 PRINTI "You are in a hedge maze of astonishing complexity. " BTST HM-BITS,X-N \?CND6 INC 'PATHS ?CND6: BTST HM-BITS,X-E \?CND9 INC 'PATHS ?CND9: BTST HM-BITS,X-W \?CND12 INC 'PATHS ?CND12: BTST HM-BITS,X-S \?CND15 INC 'PATHS ?CND15: GRTR? PATHS,1 \?ELS20 PRINTI "Paths lead " JUMP ?CND18 ?ELS20: PRINTI "A path leads " ?CND18: BTST HM-BITS,X-N \?CND23 PRINTI "north" CALL PUNCTUATION,PATHS >PATHS ?CND23: BTST HM-BITS,X-S \?CND26 PRINTI "south" CALL PUNCTUATION,PATHS >PATHS ?CND26: BTST HM-BITS,X-E \?CND29 PRINTI "east" CALL PUNCTUATION,PATHS >PATHS ?CND29: BTST HM-BITS,X-W \?CND32 PRINTI "west" CALL PUNCTUATION,PATHS >PATHS ?CND32: BTST HM-BITS,X-H \TRUE CRLF CRLF PRINTI "There is a hole in the ground here from your previous excavations." MOVE MAZE-HOLE,HERE RTRUE ?ELS5: EQUAL? RARG,M-ENTER \?ELS39 GETB HM-TABLE,HM-ROOM >HM-BITS CALL OBJECTS-TO-ROOM,HM-ROOM RSTACK ?ELS39: EQUAL? RARG,M-BEG \FALSE EQUAL? PRSA,V?WALK \FALSE SET 'OLD,HM-ROOM CALL OBJECTS-TO-TABLE,OLD EQUAL? P-WALK-DIR,P?NORTH \?ELS49 BTST HM-BITS,X-N \?ELS49 SET 'DIR,STR?99 CALL HEDGE-WALK,X-N >STEPS JUMP ?CND47 ?ELS49: EQUAL? P-WALK-DIR,P?SOUTH \?ELS53 BTST HM-BITS,X-S \?ELS53 EQUAL? HM-ROOM,439 \?ELS58 CALL GOTO,ENTRANCE-TO-MAZE RTRUE ?ELS58: EQUAL? HM-ROOM,388 \?CND56 PRINTI "You make your way 10 feet south along the path." CRLF CRLF CALL GOTO,HEART-OF-MAZE RTRUE ?CND56: SET 'DIR,STR?97 CALL HEDGE-WALK,X-S >STEPS JUMP ?CND47 ?ELS53: EQUAL? P-WALK-DIR,P?EAST \?ELS62 BTST HM-BITS,X-E \?ELS62 SET 'DIR,STR?237 CALL HEDGE-WALK,X-E >STEPS JUMP ?CND47 ?ELS62: EQUAL? P-WALK-DIR,P?WEST \?ELS66 BTST HM-BITS,X-W \?ELS66 SET 'DIR,STR?238 CALL HEDGE-WALK,X-W >STEPS JUMP ?CND47 ?ELS66: EQUAL? P-WALK-DIR,P?UP \?ELS70 PRINTI "Please don't climb the hedges." CRLF RETURN 2 ?ELS70: EQUAL? P-WALK-DIR,P?DOWN \?ELS74 PRINTI "You burrow furiously to no avail." CRLF RETURN 2 ?ELS74: CALL OBJECTS-TO-ROOM,OLD CALL PICK-ONE,HEDGE-CRASH PRINT STACK PRINTC 46 CRLF RETURN 2 ?CND47: FCLEAR HEDGE-MAZE,TOUCHBIT PRINTI "You make your way " MUL 10,STEPS PRINTN STACK PRINTI " feet " PRINT DIR PRINTI " along the path." CRLF CRLF CALL GOTO,HEDGE-MAZE RSTACK .FUNCT OUT-OF-HEART-OF-MAZE FCLEAR HEDGE-MAZE,TOUCHBIT PRINTI "You make your way 10 feet north along the path." CRLF CRLF RETURN HEDGE-MAZE .FUNCT HEART-OF-MAZE-HOLE-F EQUAL? PRSA,V?CLOSE,V?OPEN \FALSE CALL CANT-OPEN-CLOSE RSTACK .FUNCT PUNCTUATION,PATHS EQUAL? PATHS,4 \?ELS3 PRINTI ", " JUMP ?CND1 ?ELS3: EQUAL? PATHS,3 \?ELS5 PRINTI ", " JUMP ?CND1 ?ELS5: EQUAL? PATHS,2 \?ELS7 PRINTI " and " JUMP ?CND1 ?ELS7: PRINTC 46 ?CND1: DEC 'PATHS RETURN PATHS .FUNCT HEDGE-WALK,BIT,STEPS=0,MBITS SET 'MBITS,HM-BITS ?PRG1: EQUAL? BIT,X-N \?ELS5 BTST MBITS,X-N \?ELS5 DEC 'HM-ROOM JUMP ?CND3 ?ELS5: EQUAL? BIT,X-S \?ELS9 BTST MBITS,X-S \?ELS9 INC 'HM-ROOM JUMP ?CND3 ?ELS9: EQUAL? BIT,X-E \?ELS13 BTST MBITS,X-E \?ELS13 ADD HM-ROOM,20 >HM-ROOM JUMP ?CND3 ?ELS13: EQUAL? BIT,X-W \?ELS17 BTST MBITS,X-W \?ELS17 SUB HM-ROOM,20 >HM-ROOM JUMP ?CND3 ?ELS17: RETURN STEPS ?CND3: INC 'STEPS GETB HM-TABLE,HM-ROOM ZERO? STACK /?ELS24 RETURN STEPS ?ELS24: SET 'MBITS,15 JUMP ?PRG1 .FUNCT OBJECTS-TO-TABLE,SLOC,TBL,CNT=0,F,N FIRST? HEDGE-MAZE >F /?KLU21 ?KLU21: REMOVE MAZE-HOLE SET 'TBL,HEDGE-OBJECTS-TABLE ?PRG1: ZERO? F /TRUE NEXT? F >N /?CND3 ?CND3: EQUAL? F,WINNER /?CND9 FSET? F,TAKEBIT \?CND9 ?PRG14: GET TBL,CNT ZERO? STACK \?ELS18 PUT TBL,CNT,SLOC ADD CNT,1 PUT TBL,STACK,F ADD CNT,2 >CNT REMOVE F JUMP ?CND9 ?ELS18: ADD CNT,2 >CNT JUMP ?PRG14 ?CND9: SET 'F,N JUMP ?PRG1 .FUNCT OBJECTS-TO-ROOM,SLOC,TBL,CNT=0 SET 'TBL,HEDGE-OBJECTS-TABLE ?PRG1: LESS? CNT,HEDGE-OBJECT-TABLE-LENGTH \TRUE GET TBL,CNT EQUAL? STACK,SLOC \?CND3 PUT TBL,CNT,0 ADD CNT,1 GET TBL,STACK MOVE STACK,HEDGE-MAZE ?CND3: ADD CNT,2 >CNT JUMP ?PRG1 .ENDI