10 GOSUB1530:GOSUB1340 20 DIMP(1),O(1),D(1),V(1) 30 DIMCO(1):CO(0)=1:CO(1)=1 40 FORI=0TO7:READH(I),L(I):NEXT 50 DATA 16,195,18,209,21,31,22,96,25,30,28,49,31,165,33,135:REM@ 01 60 V=54296:W=54276:AA=54277:HF=54273:LF=54272:SS=54278:PH=54275:PL=54274:REM@ 02 70 DATA66,78,67,77,86,87,81,177,050 80 DIMA(7):FORI=0TO3:READA(I):A(I+4)=A(I):NEXT:READCR,OH,SO,P(0),P(1) 90 X=RND(-TI):S=1024 100 DATA-2,0,-2,2,0,2,2,2,2,0,2,-2,0,-2,-2,-2 110 DIMB(7),C(7) 120 CM=55296-1024 :CO=13 :C1=250 130 FORI=0TO7:READB(I),C(I):NEXT 140 N=500:REM NUMBER OF MOVES USED IN CREATING GAME 150 POKE646,14:POKE53281,14:PRINT"[147]":POKE53281,0 160 REM PICK A STARTING POSITION 170 U1=INT(RND(TI)*20)*2 180 V1=INT(RND(TI)*10)*2 190 POKES+U1+V1*40,SO 200 POKES+U1+V1*40+CM,C1:REM@ M 206 REM@ I=M,I,V2,OH,SO,CO,C1,H 210 FORI=1TON 220 M=INT(RND(TI)*8) 230 U2=U1+C(M):IFU2<0ORU2>38THEN220 240 V2=V1+B(M):IFV2<0ORV2>20THEN220 250 L1=S+U1+V1*40 260 L2=S+U2+V2*40 270 L3=S+U1+V1*40+C(M)/2+B(M)*20 280 POKEL1,OH :POKEL1+CM,C1 290 POKEL2,SO :POKEL2+CM,C1 300 G=A(M) 310 H=PEEK(L3) 320 IFM=0ORM=2ORM=4ORM=6THEN360 330 IFH=A(1)ANDG=A(3)THENG=CR 340 IFH=CRTHENG=CR 350 IFH=A(3)ANDG=A(1)THENG=CR 360 POKEL3,G:POKEL3+CM,CO: U1=U2:V1=V2 370 POKEV,15:POKEAA,88:POKEPH,15:POKEPL,15:POKESS,89 380 POKEHF,H(M):POKELF,L(M):POKEW,65: 390 NEXTI:REM@ P 400 POKEW,0 410 POKEL2,OH :POKEL2+CM,C1 420 REM PLACE THE PLAYERS 430 FORI=0TO1 440 GOSUB520 450 IFPEEK(L1)>38THEN730 680 IFU2<0ORU2>20THEN730 690 IFPEEK(S+U2*40+V2)>"7"THENGOSUB1150:GOTO750 880 M=VAL(A$):FORI=1TO10:GETA$:NEXTI 890 U2=D(PN)+B(M):V2=O(PN)+C(M) 900 IFU2<0ORU2>20THENGOSUB1150:GOTO750 910 IFV2<0ORV2>38THENGOSUB1150:GOTO750 920 L2=S+U2*40+V2 930 IFPEEK(L2)<>OHTHENGOSUB1150:GOTO750 940 L3=L1+B(M)*20+C(M)/2 950 C9=PEEK(L3):IFC9=CRORC9=A(M)THEN970 960 GOSUB1150:GOTO750 970 REM MAKE THE MOVE 980 POKEL2,P(PN):POKEL2+54272,CO(PN) 990 POKEL1,OH:F2=0:POKEL1+54272,C1 1000 POKEV,15:POKEAA,88:POKEPH,15:POKEPL,15:POKESS,89 1010 POKEHF,H(M):POKELF,L(M):POKEW,65:FOR TM=1TO100:NEXT: POKEW,0 1020 IFPEEK(L3)=CRANDA(M)=A(1)THENPOKEL3,A(3):GOTO1050 1030 IFPEEK(L3)=CRANDA(M)=A(3)THENPOKEL3,A(1):GOTO1050 1040 POKEL3,32 1050 FORJ=0TO7 1060 V3=O(PN)+C(J)/2:IFV3<0ORV3>38THEN1100 1070 U3=D(PN)+B(J)/2:IFU3<0ORU3>20THEN1100 1080 Q=PEEK(S+V3+U3*40) 1090 IFQ=A(J)ORQ=CRTHENF2=1:J=7 1100 NEXTJ 1110 IFF2=0THENPOKEL1,32 1120 O(PN)=V2:D(PN)=U2 1130 PN=1-PN 1140 GOTO630 1150 GOSUB560 1160 PRINT"CAN'T GO THERE " 1170 GOSUB510 1180 RETURN 1190 GOSUB560:PRINT"PLAYER "CHR$(PN+49)" GIVES UP! " 1200 GOTO1230 1210 GOSUB560 1220 PRINT"PLAYER ";CHR$(PN+49);" CANNOT MOVE " 1230 GOSUB510 1240 WW=1-PN:LL=PN 1250 GOSUB560 1260 V(WW)=V(WW)+1 1270 PRINT"PLAYER ";CHR$(WW+49)" HAS WON! PRESS CTRL...":WAIT653,4 1280 GOSUB510 1290 GOSUB560 1300 PRINT"SPACE TO PLAY AGAIN/Q TO QUIT" " 1310 [161]A$:[139]A$[179][177]" "[175]A$[179][177]"Q"[167]1310 1320 [139]A$[178]" "[167][138] 1330 [137]1730 1340 [153]"LOAD":[153][163]14);"OPENGRAPHBUSTERS!" 1350 [153]:[153][163]13);"PRINTBY ROBERT ROSSA" 1360 [153] 1370 [153]"SYS EACH TIME YOU MOVE, THE PATH YOU" 1380 [153]" USED DISAPPEARS. YOU WIN WHEN YOUR" 1390 [153]" OPPONENT CAN'T MOVE. USE THE KEYS" 1400 [153]" SURROUNDING THE 'G' KEY TO MOVE." 1410 [153]"OPEN EX. T= NORTH, B= SOUTH, V= SOUTHEAST.SYS" 1420 [153] 1430 [153][163]12)" R T Y" 1440 [153][163]12)" (null)(null)(null) " 1450 [153][163]12)" FTAN(null)TANH" 1460 [153][163]12)" (null)(null)(null) " 1470 [153][163]12)" V B N" 1480 [153] 1490 [153] 1500 [153]"PRESS SPACE TO START" 1510 [161] A$:[139]A$[178]""[167]1510 1520 [142] 1530 [153]"LOAD (null)(null)ATNSTR$(null)(null)ATN(null) (null)(null)VAL(null)VAL(null)(null)(null)" 1540 A$[178]"SYSGET*RNDWAITGETGET*RNDWAITGETGET*RNDWAITGETGET*RNDWAITGETGETWAITGETGETWAITGET" 1550 B$[178]"SYSGETWAITGETNEWRNDGET *WAITCOSGET*RNDWAITGETGETLOGCOSWAITGETGET*RNDWAITGET" 1560 C$[178]"SYSGETLOGCOSWAITGETGETWAITGETRNDWAITRNDGETWAITGETGETWAITGETGETWAITGET GETWAITGETGETWAITGET" 1570 D$[178]"SYS ":X$[178][199](13):X[178] 10:[141]1620 1580 A$[178]"SYSGET*RNDWAITGETGETWAITGETGETWAITGETGET*NEWWAITCOSLOGRND*WAITCOSGET*NEWWAITCOSGET*RNDWAITGETGET*NEWWAITCOS GETWAITGET " 1590 B$[178]"SYSGET*RNDWAITRNDGETWAITGETGETWAITGETLOGNEWRNDWAITGET GETWAITGET GET*WAITCOS GET *WAITCOSLOGNEWRNDWAITGET GETWAITGET " 1600 C$[178]"SYSGETLOGCOSWAITGETGETLOGCOSWAITGET*NEWCOSWAITGET GETWAITGET GETLOGWAITNEWRNDGETWAITGETRNDWAITRND*NEWCOSWAITGET " 1610 D$[178]"SYS LOGCOS ":X[178] 5:[141]1620 :[137]1640 1620 [151]53280,6:[151]53281,0:[153][166]X)A$X$[166]X)B$X$[166]X)C$X$[166]X)D$ 1630 [142] 1640 [153]" PEEKY (null)OBERT (null)OSSA SYS" 1650 [153],"ORTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTAN^" 1660 [153],"(null) (null)PACE (null)O LENONTINUESYS (null)" 1670 [153],"/TANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANEXP" 1680 [153],"ORTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTAN^" 1690 [153],"(null) (null) FOR (null)(null)ATNSTR$(null)(null)ATN(null) SYS(null)" 1700 [153],"/TANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANEXP" 1710 [161]A$:[139]A$[179][177]" "[175]A$[179][177]"Q"[167]1710 1720 [139]A$[178]" "[167][151]53272,21:[142] 1730 [159]15,8,15,"R0:HELLO CONNECT=HELLO CONNECT":[132]15,ER:[160]15 1740 [139] ER[179][177]63 [167] [153]"LOAD":[128] 1750 A$[178]"HELLO CONNECT":Q$[178][199](34) 1760 [153]"STOPLOADLOAD"Q$A$Q$",8" 1770 [153]"R(null)":[151]631,13:[151]632,13:[151]198,2:[128]