10 CLOSE:CLEAR:SCREEN 0,0,0,0:COLOR 7,0:CLS:DEFINT A-Z:DEF SEG=64:RANDOMIZE PEEK(64):OPTION BASE 1:DIM RY(14),RX(14),WAL$(4):DEF FNR(X)=INT(RND*X+1):WAL$(1)=" ":WAL$(2)="":WAL$(3)="":WAL$(4)="":PRINT TAB(37)"CHASE":PRINT:PRINT TAB(15); 20 PRINT" -- Thomas Hanlin III -- 6/25/84":LOCATE CSRLIN+3,6:PRINT" This is a classic game that has been around since the days of the teletype.The original author is rumored to have been Mac Oglesby.":PRINT:PRINT" "; 30 PRINT"The idea is this: you are inside a maze made out of electric fences. In":PRINT"the maze with you are a number of robots, which are trying to capture you. Theyare not terribly bright, though, and always move directly towards you. You" 40 PRINT"can take advantage of this to lure them into the fences, where they will be":PRINT"electrocuted! As the fences get hit, they grow weaker, and eventually get":PRINT"knocked down, letting the remaining robots through." 50 PRINT:PRINT" You are represented by , the robots are , and fences are . You move":PRINT"using the numeric keypad for directions. Use 5 to stay put, and 0 to teleport." 60 PRINT:PRINT" If you kill off all the robots, you win! If you get killed off, you lose--it's as simple as that. Press the space bar when you are ready to play.":GOOD$=" ":GOSUB 240:CLS 70 LOCATE 1,1:PRINT STRING$(35,219):FOR B=1 TO 14:PRINT""TAB(35)"":NEXT:PRINT STRING$(35,219):FOR B=1 TO 25+FNR(15):LOCATE FNR(14)+1,FNR(33)+1:PRINT WAL$(FNR(3)+1);:NEXT:GOTO 90 80 H=FNR(14)+1:I=FNR(33)+1:IF SCREEN(H,I)=32 THEN RETURN ELSE 80 90 GOSUB 80:LOCATE H,I:PRINT"";:J=H:K=I:FOR ROB=1 TO 14:GOSUB 80:LOCATE H,I:PRINT"";:RY(ROB)=H:RX(ROB)=I:NEXT 100 LOCATE 24,1:PRINT" "SPC(78):GOOD$="1234567890":GOSUB 240:J2=J:K2=K:IF KY$="0" THEN 130 ELSE IF KY$="5" THEN 140 ELSE IF INSTR("789",KY$) THEN J=J-1 ELSE IF INSTR("123",KY$) THEN J=J+1 110 IF INSTR("147",KY$) THEN K=K-1 ELSE IF INSTR("369",KY$) THEN K=K+1 120 GOTO 140 130 BEEP:LOCATE 24,1:PRINT"TELEPORT!!!"SPC(68):J=FNR(16):K=FNR(35) 140 LOCATE J2,K2:PRINT" ";:LOCATE J,K:IF SCREEN(J,K)>175 THEN PRINT"";:GOTO 220 ELSE IF SCREEN(J,K)=157 THEN PRINT"";:GOTO 210 ELSE PRINT"";:GOTO 190 150 IF X>0 THEN LOCATE Y,X:PRINT" ";:X2=X:Y2=Y:X=X+SGN(K-X):Y=Y+SGN(J-Y):IF SCREEN(Y,X)=1 THEN LOCATE Y,X:PRINT"";:GOTCHA=-1 ELSE IF SCREEN(Y,X)=32 THEN LOCATE Y,X:PRINT"";:FLAG=-1 ELSE 170 160 RETURN 170 SC=SCREEN(Y,X):IF SC>175 THEN LOCATE Y,X:PRINT WAL$(SC-175); 180 X=0:RETURN 190 ROB=1:GOTCHA=0:FLAG=0:WHILE ROB<15 AND NOT GOTCHA:X=RX(ROB):Y=RY(ROB):GOSUB 150:RX(ROB)=X:RY(ROB)=Y:ROB=ROB+1:WEND:IF GOTCHA THEN 210 ELSE IF FLAG THEN 100 200 SOUND 200,5:SOUND 150,5:LOCATE 21,1:PRINT"You've wiped out the robots-- you win!":GOTO 230 210 BEEP:LOCATE 21,1:PRINT"You've been caught by a robot-- you lose!":GOTO 230 220 BEEP:LOCATE 21,1:PRINT"You ran into an electric fence-- ZZZZAP!!" 230 LOCATE 24,1:PRINT" "SPC(78):LOCATE 22,1:PRINT"Another game? ";:GOOD$="YN":GOSUB 240:PRINT KY$:IF KY$="N" THEN CLS:POKE 23,0:DEF SEG:END ELSE LOCATE 21,1:PRINT SPACE$(240);:GOTO 70 240 POKE 23,32:KY$=INKEY$:IF KY$="" THEN 240 250 IF INSTR(GOOD$,KY$) THEN RETURN ELSE IF KY$>="a" AND KY$<="z" THEN KY$=CHR$(ASC(KY$)-32):GOTO 250 ELSE 240