mirror of
https://github.com/inexorabletash/jsbasic.git
synced 2024-12-22 22:30:27 +00:00
255 lines
18 KiB
Plaintext
255 lines
18 KiB
Plaintext
100 DIM INW$(10):DIM INPTK(10):DIM VOCAB$(60):DIM NULLW$(4):DIM IDESC$(30)
|
|
140 DIM ILOC(30):DIM RNAME$(31):DIM RDESC$(31):DIM REXIT(31,6):DIM EXDESC$(10): DIM EXLOC(10,2)
|
|
180 SAFED = 0: LOC=1: IC = 0
|
|
190 SP = 0
|
|
300 DATA "7UVYAO5", "2UQWVJ3", "2GCUV1", "7DLZA3", "9DY5", "5ITBS2", "6T8", "2U3", "2G9", "2Y7", "8C5", "8L8"
|
|
305 DATA "2K3", "1JOWFOUPSZ8", "1TDPSF0", "8RCUX6", "3KHOS7"
|
|
310 DATA "4XEOI3", "7KYVW9", "6RUUQ9", "3UHDG4", "9NGJVRWN9", "5ZSQTHP0", "9NJC8", "6YVOT4"
|
|
312 DATA "9VXEN1", "8WXMV6", "9CRN6", "4SMP8", "9YDC9", "8TMNB9", "5HJSYJW9", "4VMKLX2"
|
|
400 DATA "5SJBXUFUJW3", "6ZKJJEHKGX0", "7MBZL7", "1KBDL1", "7WPJABYL0", "1CVOHFF8"
|
|
405 DATA "9TNH3", "2VQR3", "6TUZK0", "8OIQVMAJCZOMZ4", "7NSVCLZ4", "1CPYTQSJOH0"
|
|
410 DATA "4FVEGI9", "4QEKEDMRI8", "4SMPGER8", "2EJGEMDQQM9", "6JOGSUTJ8", "2NQXGTDQA6"
|
|
415 DATA "7PUCLZATLUA1", "9UXXWB5", "4JVMHKI3", "4GSYGL0", "2ENQVJGU0", "3GRRU8"
|
|
420 DATA "8ZIQTQVO8", "3GXPEZDLWHU6", "6LAYKHUD0", "1UIF5", "8BW3", "8EQBP6", "7BZPUN0"
|
|
451 DATA "8...BIGA PWCAM CVTQSMTG MDMZ BW JM AWTL. BITMA WN OCBBML ABIQZEMTTA IVL JWWJG BZIXA PIDM AXWWSML JCGMZA...8"
|
|
452 DATA "4WSQISRI LEW FIIR TPECMRK ZIVC VSYKL AMXL XLMW XSC3", "3ROG-IDVKLRQHG HOHFWULFDO IXVH5"
|
|
454 DATA "2VKTG LCEM HQT NKHVKPI JGCXA QDLGEVU NKMG ECTU8", "6ATIRK ZGEY OT GRR NOY YGRRUC MRUXE5"
|
|
456 DATA "3FRUG IRU EXQJHH MXPSLQJ3", "2C UOCNN DTCUU MGA4", "5F HMNQI'X YTD6", "2VJG YTKVKPI KU TGXGTUGF7"
|
|
458 DATA "5XZUUTXJIQD ITL KTTI, YMTZLM NY FUUJFWX YT GJ RFIJ TK UQFXYNH4"
|
|
459 DATA "1SVCCFS HMPWFT VTFE GPS DMFBOJOH7", "1B RVFFO-TJAFE CPYTQSJOH0", "7H IHJR IYHJL7"
|
|
460 DATA "5...YFDX' XYWFSLJ NSAJSYNTSX NSHQZIJ GTTGD-YWFUUJI ITTWX FSI YTDX YMFY TUJS ITTWX GD WJRTYJ HTSYWTQ...6"
|
|
462 DATA "1UIJT DBO DPOUBJOT GJOF MVCSJDBUJOH PJM7", "9DWLUN CJHB' LQNLTKXXT URBCB J KJUJWLN XO $220,0004"
|
|
464 DATA "3WKLV GLDPRQG'V EHDXWB VWHPV IURP DOO WKH JRGGDPQHG PRQHB LW LV ZRUWK9"
|
|
466 DATA "1MPWFSCPZ'T GJSTU BMCVN JO WJOZM, XPSUI BO JODBMDVMBCMF TVN8"
|
|
467 DATA "9YAN-RYX BQJANB XO JYXUUX LXVYDCRWP QJEN CX KN FXACQ ... BXVNCQRWP5"
|
|
468 DATA "4E XLMGO AEH SJ GEREHMER RSXIW7"
|
|
470 DATA "4XLMW SPH VIJVMKIVEXSV'W QSXSV PEFSVW LIEZMPC8", "3DQ RYHUVWXIIHG, GXVWB FRXFK7"
|
|
472 DATA "3D GLVJXVWLQJ SLOH RI VRLOHG ODXQGUB2", "", "", ""
|
|
473 DATA "3DQ ROG-IDVKLRQHG IXVHERA. WKH IXVH PDUNHG 'DWWLF' LV PLVVLQJ.8"
|
|
502 DATA "5KTDJW9", 2, 31, 3, 4, 0, 0, "1UIF FOUSZXBZ UP UIF IPVTF4"
|
|
504 DATA "1LJUDIFO8", 0, 1, 0, 0, 0, -1
|
|
505 DATA "7JVBUALYAVWZ HYL KBZAF HUK AOLYL HYL YBZAPUN WVAZ HUK WHUZ7"
|
|
506 DATA "3VLWWLQJ URRP3", 2, 0, 11, 1, 12, 0
|
|
507 DATA "2VJKU TQQO KU VYQ UVQTKGU JKIJ CPF EQPVCKPU GNGICPV EJCKTU CPF EQWEJGU1"
|
|
508 DATA "9QJUUFJH0", 6, 7, 1, 5, 0, 0, "9J WJAAXF QJUUFJH FQRLQ ADWB FNBC XO CQN OXHNA3"
|
|
510 DATA "8PITTEIG0", 0, 9, 4, 10, 0, 0, "2C PCTTQY JCNNYCA CV VJG YGUV GPF QH VJG JQWUG2"
|
|
512 DATA "9MNW5", 0, 4, 0, 0, 0, 0, "7AOPZ YVVT OHZ HU HUJPLUA ALSLCPZPVU6"
|
|
514 DATA "7IHAOYVVT4", 4, 0, 0, 0, 0, -1, "2C FKPIA DCVJTQQO YKVJ C ETCEMGF UKPM1"
|
|
516 DATA "1MJCSBSZ3", 0, 0, 0, 24, 0, 0
|
|
517 DATA "2VJKU YGNN-HWTPKUJGF NKDTCTA KU NKPGF YKVJ DQQMU CPF NGCVJGT HWTPKVWTG7"
|
|
518 DATA "4WQEPP FIHVSSQ7", 5, 0, 0, 0, 0, 0
|
|
519 DATA "7AOPZ ZTHSS ILKYVVT OHZ H ADPU ILK HUK JOHPY. PA SVVRZ SPAASL BZLK.5"
|
|
520 DATA "1HBSBHF3", 0, 0, 5, 0, 0, 0
|
|
521 DATA "4XLI GEZIVRSYW KEVEKI LSPHW E RSR-STIVEXMSREP KVIQPMR ERH TMPIW SJ NYRO9"
|
|
522 DATA "7KPUPUN YVVT8", 0, 0, 0, 3, 0, 0
|
|
523 DATA "2VTQRJKGU NKPG VJG YCNNU. VJGTG CTG UKZ EJCKTU CTQWPF C NQPI VCDNG.4"
|
|
524 DATA "5GFQHTSD0", 13, 0, 0, 14, -1, 3
|
|
525 DATA "2DCNEQPA CDQXG VJG UKVVKPI TQQO. C TCKNKPI RTQVGEVU AQW HTQO C 15-HQQV FTQR.1"
|
|
526 DATA "3PDVWHU EHGURRP0", 0, 12, 0, 0, 0, 0
|
|
527 DATA "9CQRB UJAPN LXAWNA KNMAXXV QJB BXURM FJUWDC ODAWRCDAN JWM J UJAPN VRAAXA8"
|
|
528 DATA "4LEPPAEC0", 0, 15, 12, 17, 0, 0, "2C JCNNYCA YKVJ C NCTIG CTEJ QP KVU UQWVJ UKFG8"
|
|
530 DATA "3JDPH URRP9", 14, 0, 0, 16, 0, 0
|
|
531 DATA "6ZNOY KRKMGTZ MGSK XUUS NGY G VUUR ZGHRK GTJ SGXHRK INKYYHUGXJ2"
|
|
532 DATA "8KTWAMB8", 0, 0, 15, 0, 0, 0, "8I AXIKQWCA KTWAMB WNN BPM OIUMZWWU1"
|
|
534 DATA "8PITTEIG0", -1, 0, 14, -1, 0, 0, "6G NGRRCGE OT ZNK IKTZKX UL ZNK YKIUTJ LRUUX4"
|
|
536 DATA "3FKLOG'V URRP6", 0, 17, -1, 0, 0, 0
|
|
537 DATA "5DTZW HTZXNS'X WTTR NS MFUUNJW YNRJX, GJKTWJ MJ WFS TKK YT OTNS YMJ GFFYM UFWYD2"
|
|
538 DATA "7ZLJYLA YVVT1", 0, 0, 0, 18, 0, 0, "5F IFWP HMFRGJW TKK YMJ GJIWTTR7"
|
|
540 DATA "1EBOHFSPVT IBMM9", 21, 22, 17, -1, 0, 0
|
|
541 DATA "5YMNX JJWNJ MFQQ MFX YMWJJ NIJSYNHFQ ITTWX TS YMJ BJXY BFQQ2"
|
|
542 DATA "9LXAWNA KNMAXXV7", 0, 20, 0, 0, 0, 0, "6G IUFE IUXTKX XUUS COZN COTJUCY UT ZCU CGRRY9"
|
|
544 DATA "3EDWKURRP4", 20, 0, 0, 0, 0, 0, "7HU LSLNHUA IHAO DPAO H TPYYVY VCLY H THYISL ZPUR3"
|
|
546 DATA "3GXPEZDLWHU6", 0, 0, 20, 0, 0, -1, "8I KZIUXML LCUJEIQBMZ9"
|
|
548 DATA "7KBTIDHPALY6", 0, 0, 8, 0, 23, 0, "2C ETCORGF FWODYCKVGT9"
|
|
550 DATA "3DWWLF3", 0, 0, 0, 0, 0, 12, "7H KBZAF HAAPJ DPAO SVD ZSVWPUN DHSSZ2"
|
|
552 DATA "1TUPSBHF SPPN0", 0, 0, 27, 0, 0, 0
|
|
553 DATA "2C DCTG TQQO WUGF VQ UVQTG TCPFQO GSWKROGPV CPF HWTPKVWTG3"
|
|
554 DATA "5QFZSIWD3", 0, 0, 28, 26, 0, 0
|
|
555 DATA "6ZNOY XUUS NGY G CGYNKX GTJ JXEKX, GY CKRR GY G HUORKX GTJ LAXTGIK4"
|
|
556 DATA "7DVYRYVVT0", 0, 0, 29, 27, 0, 0, "5JVZNURJSY KTW BTWPNSL BTTI FSI RJYFQ7"
|
|
558 DATA "6HUZZUS UL YZGOXY8", 0, 0, 0, 28, -1, 0, "2UVCKTU HTQO DCUGOGPV VQ MKVEJGP0"
|
|
560 DATA "5RNI-FNW8", 0, 0, 0, 0, 0, 0, "2JCPIKPI HTQO C DWPIGG EQTF5"
|
|
562 DATA "5QJFAJ YMJ MTZXJ (FSI YMJ LFRJ)6", 0, 0, 0, 0, 0, 0, ""
|
|
650 DATA 1, -1, -1, 10, 30, 10, 13, 15, 9, 16, 22, 26, 25, 25, 28, 8, -1, 19, 21, 27
|
|
655 DATA 2, 6, 7, -1, 12, -1, -1
|
|
700 DIROFF = 30: ITEMOFF = 33: LASTITEM = 27: IMMOFF = 20: LWRD = 60: NXDESC = 7
|
|
705 PR#3 : TEXT : HOME : PRINT "LOADING..."; : SP = 1
|
|
710 FOR I = 1 TO LWRD: READ D$: GOSUB 10000: VOCAB$(I) = D2$: NEXT
|
|
750 FOR I = 1 TO 4: READ D$: GOSUB 10000: NULLW$(I) = D2$: NEXT
|
|
780 FOR I = 1 TO LASTITEM: READ D$: GOSUB 10000: IDESC$(I) = D2$: NEXT
|
|
800 FOR I = 1 TO 31: READ D$: GOSUB 10000: RNAME$(I) = D2$
|
|
810 FOR J = 1 TO 6: READ REXIT(I,J): NEXT
|
|
820 READ D$: GOSUB 10000: RDESC$(I) = D2$: NEXT
|
|
950 FOR I = 1 TO LASTITEM: READ ILOC(I): NEXT
|
|
1000 DATA 5, 6, "5YMJWJ NX F QTHPJI ITTW YT YMJ STWYM2", 8, 6, "9CQNAN RB J UXLTNM MXXA CX CQN BXDCQ0"
|
|
1005 DATA 2, 6, "8ABIQZA TMIL LWEV BW I KMTTIZ. AMDMZIT ABMXA PIDM KWTTIXAML, UISQVO BPM ABIQZKIAM CVCAIJTM.9"
|
|
1010 DATA 29, 5, "3VWDLUV OHDG XS. VHYHUDO VWHSV KDYH FROODSVHG, PDNLQJ WKH VWDLUFDVH XQXVDEOH.9"
|
|
1015 DATA 12, 5, "3GDUN VWDLUV OHDG XS WR WKH DWWLF4", 17, 4, "4E PSGOIH HSSV XS XLI AIWX MW PEFIPPIH 'IBXVIQI HERKIV'0"
|
|
1025 DATA 17, 1, "4CSYV YRGPI'W HSFIVQER FPSGOW E HSSVAEC XS XLI RSVXL0"
|
|
1050 FOR I = 1 TO NXDESC: READ EXLOC(I,1): READ EXLOC(I,2): READ D$: GOSUB 10000: EXDESC$(I) = D2$: NEXT
|
|
1060 SP = 0 : HOME
|
|
2000 GOSUB 15000
|
|
2500 IF LOC = 30 THEN D$= "5... FSI XUWNSL GFHP1": GOSUB 11000: LOC = 12
|
|
2525 IF LOC = 31 THEN GOTO 19900
|
|
2510 PRINT RNAME$(LOC): PRINT RDESC$(LOC)
|
|
2530 FOR I = 1 TO 6: NEIGH = REXIT(LOC, I): IF NEIGH > 0 THEN PRINT VOCAB$(I) ; ": "; RNAME$(NEIGH)
|
|
2559 NEXT
|
|
2560 FOR I = 1 TO NXDESC: IF LOC = EXLOC(I,1) AND REXIT(EXLOC(I,1),EXLOC(I,2)) <= 0 THEN PRINT EXDESC$(I)
|
|
2569 NEXT
|
|
2570 IF LOC = 17 AND REXIT(17,1) > 0 THEN D$="3BRXU XQFOH'V GREHUPDQ LV VQRULQJ SHDFHIXOOB3": GOSUB 11000
|
|
2580 IF LOC = 3 AND ILOC(6) = -12 THEN D$="9J KDWPNN LXAM MJWPUNB OAXV CQN AJRURWP JKXEN5": GOSUB 11000
|
|
2582 IF LOC = 12 AND ILOC(6) = -12 THEN D$="8I JCVOMM KWZL LIVOTMA NZWU BPM ZIQTQVO0": GOSUB 11000
|
|
2600 FOR I = 1 TO LASTITEM: IF ILOC(I) = LOC THEN PRINT "THERE IS A "; VOCAB$(I + ITEMOFF); " HERE"
|
|
2619 NEXT
|
|
2620 IF LOC = 2 AND ILOC(3) = -1 THEN D$= "6YUSKZNOTM OY HGXKRE BOYOHRK ATJKX ZNK LXOJMK5": GOSUB 11000
|
|
2650 IF LOC = 3 AND ILOC(5) = 30 THEN D$= "5YMJWJ NX F UNHYZWJ MNLM ZU TS YMJ BFQQ6": GOSUB 11000
|
|
4999 IF LOC = 30 THEN TURN1 = 1
|
|
5000 IF TURN1 <> 1 AND LOC = 30 THEN D$= "1...BOE TQSJOH CBDL1": GOSUB 11000: LOC = 12: GOTO 2500
|
|
5010 TURN1 = 0: INPUT "] "; I$: INWORD = 0: WIDX = 0
|
|
5020 FOR C = 1 TO LEN(I$): C$ = MID$(I$,C,1): IF C$ = " " AND INWORD = 1 THEN INWORD = 0
|
|
5060 IF C$ <> " " AND INWORD = 0 THEN WIDX = WIDX + 1: INW$(WIDX) = "": INWORD = 1
|
|
5065 IF WIDX > 10 GOTO 5100
|
|
5070 IF C$ <> " " THEN INW$(WIDX) = INW$(WIDX) + C$
|
|
5099 NEXT
|
|
5100 CURTOK = 1: FOR TIDX = 1 TO WIDX
|
|
5115 ISNULLW = 0
|
|
5120 FOR XN = 1 TO 4: IF INW$(TIDX) = NULLW$(XN) THEN ISNULLW = 1
|
|
5135 NEXT
|
|
5137 IF ISNULLW = 1 THEN GOTO 5170
|
|
5140 FOR CMDIDX = 1 TO LWRD: IF INW$(TIDX) = VOCAB$(CMDIDX) THEN INPTK(CURTOK) = CMDIDX: CURTOK = CURTOK + 1
|
|
5160 NEXT CMDIDX
|
|
5170 NEXT TIDX
|
|
5180 NTOK = CURTOK - 1
|
|
6000 COMM = INPTK(1): ON NTOK+1 GOTO 5000, 6050, 6400, 7100
|
|
6049 D$ = "8GWC KIV'B LW BPIB9": GOSUB 11000: GOTO 5000
|
|
6050 IF INPTK(1) >= 1 AND INPTK(1) <= 12 THEN GOTO 7000
|
|
6070 IF COMM <= 20 THEN ON COMM-12 GOTO 6100, 6100, 6200, 6300, 6350, 6099, 6099, 2500
|
|
6099 D$ = "9QDQ?9": GOSUB 11000: GOTO 5000
|
|
6100 D$ = "7FVB HYL JHYYFPUN:6": GOSUB 11000
|
|
6110 FOR I = 1 TO LASTITEM
|
|
6120 IF ILOC(I) = 0 THEN PRINT " "; VOCAB$(I+ITEMOFF)
|
|
6130 NEXT I
|
|
6199 GOTO 5000
|
|
6200 GOSUB 9500: GOTO 5000
|
|
6300 IF LOC <> 12 THEN D$= "4ALS EVI CSY, HEZMH PII VSXL?8": GOSUB 11000: GOTO 5000
|
|
6320 IF ILOC(6) <> -12 THEN D$ = "4CSY JSVKSX CSYV TEVEGLYXI2": GOSUB 11000: GOTO 5000
|
|
6330 D$= "9HXD KDWPNN XOO CQN KJULXWH...5": GOSUB 11000: LOC = 30: GOTO 2510
|
|
6350 GOSUB 15000: GOTO 5000
|
|
6400 ARG = INPTK(2) - ITEMOFF: IF ARG < 1 or ARG > LASTITEM THEN D$ = "6NAN?9": GOSUB 11000: GOTO 5000
|
|
6430 IF COMM > 17 AND COMM <= 27 THEN ON COMM-17 GOTO 6500, 6600, 6700, 6700, 6700, 6800, 6900, 7600, 6950, 8200
|
|
6499 D$ = "5MZM?9": GOSUB 11000: GOTO 5000
|
|
6500 IF ILOC(ARG) = 0 THEN D$ = "5DTZ FQWJFID MFAJ NY6": GOSUB 11000: GOTO 5000
|
|
6510 IF ILOC(ARG) = 30 AND LOC = 3 AND ARG = 5 THEN D$= "2KV'U VQQ JKIJ0": GOSUB 11000: GOTO 5000
|
|
6520 IF ILOC(ARG) <> LOC THEN D$ = "5NY'X STY MJWJ3": GOSUB 11000: GOTO 5000
|
|
6530 IF IC >= 8 THEN D$ = "1ZPV'SF DBSSZJOH UPP NVDI4": GOSUB 11000: GOTO 5000
|
|
6540 IF ARG > IMMOFF THEN D$ = "3LW'V WRR KHDYB3": GOSUB 11000: GOTO 5000
|
|
6559 IF LOC = 29 AND ARG = 12 THEN D$ = "5DTZ HFS'Y IT YMFY9": GOSUB 11000: GOTO 5000
|
|
6530 IC = IC + 1: IF LOC = 30 AND ARG = 5 THEN D$ = "7AHRPUN AOL WPJABYL YLCLHSZ H MBZLIVE6": GOSUB 11000: ILOC(ARG) = 0: ILOC(IMMOFF+7) = 30: GOTO 2500
|
|
6590 ILOC(ARG) = 0: PRINT VOCAB$(INPTK(2)); ": TAKEN": GOTO 5000
|
|
6600 IF ILOC(ARG) <> 0 THEN D$= "9HXD JANW'C LJAAHRWP RC5": GOSUB 11000: GOTO 5000
|
|
6630 IC = IC - 1: IF LOC = 17 AND ARG = 10 AND REXIT(17,1) <= 0 THEN D$= "7AOL KVN SVVRZ KPZNBZALK. THFIL FVB ZOVBSK LHA PA.6": GOSUB 11000: GOTO 6690
|
|
6640 IF LOC = 17 AND ARG = 2 AND REXIT(17,1) <= 0 THEN D$= "4XLI HSK GLIAW LMW JEZSVMXI XSC ERH MW WSSR EWPIIT7": GOSUB 11000: ILOC(ARG) = -999: REXIT(17,1)=18: GOTO 2500
|
|
6650 IF LOC = 29 AND ARG = 12 AND REXIT(29,5) <= 0 THEN D$= "3WKH ERAVSULQJ FRYHUV WKH JDS LQ WKH VWDLUV8": GOSUB 11000: ILOC(ARG) = -999: REXIT(29,5) = 2: REXIT(2,6) = 29: GOTO 2500
|
|
6690 ILOC(ARG) = LOC: PRINT VOCAB$(INPTK(2)); ": DROPPED": GOTO 5000
|
|
6700 ARG = INPTK(2) - ITEMOFF
|
|
6740 IF ILOC(ARG) <> 0 AND ILOC(ARG) <> LOC THEN D$= "9RC'B WXC QNAN3": GOSUB 11000: GOTO 5000
|
|
6750 IF ARG = 9 AND (LOC = 13 OR LOC = 22) THEN GOSUB 8000: GOSUB 8050: GOTO 5000
|
|
6755 IF IDESC$(ARG) = "" THEN PRINT "THERE'S NOTHING SPECIAL ABOUT THE "; VOCAB$(INPTK(2)): GOTO 5000
|
|
6760 PRINT IDESC$(ARG): GOTO 5000
|
|
6800 IF ILOC(7) <> 0 THEN D$ = "7FVB KVU'A OHCL H RLF!2": GOSUB 11000: GOTO 5000
|
|
6820 IF LOC = 5 THEN D$= "2VJG MGA FQGUP'V HKV VJG NQEM8": GOSUB 11000: GOTO 5000
|
|
6830 IF LOC = 17 THEN D$ = "3BRX XQORFN WKH GRRU. EHZDUH!4": GOSUB 11000: REXIT(17,4) = 20: GOTO 2500
|
|
6899 D$ = "5MZM?9": GOSUB 11000: GOTO 5000
|
|
6900 IF ILOC(ARG) <> 0 THEN D$= "7FVB KVU'A OHCL PA!1": GOSUB 11000: GOTO 5000
|
|
6920 IF ARG <> 10 THEN D$= "7FVB JHU'A LHA AOHA!0": GOSUB 11000: GOTO 5000
|
|
6930 D$= "7AOLYL DHZ H KPHTVUK OPKKLU PUZPKL AOL NHPULZIBYNLY5": GOSUB 11000: ILOC(ARG) = -2: ILOC(17) = 0: GOTO 2500
|
|
6950 AIMM = ARG - IMMOFF
|
|
6960 IF AIMM >= 1 AND AIMM <= 4 THEN ON AIMM GOTO 6970, 6975, 6980
|
|
6965 D$= "5DTZ HFS'Y IT YMFY9": GOSUB 11000: GOTO 5000
|
|
6970 D$= "9RC'B CXX QNJEH OXA HXD CX VXEN1": GOSUB 11000: GOTO 5000
|
|
6975 D$= "1ZPVS CBDL JT BDUJOH VQ7": GOSUB 11000: GOTO 5000
|
|
6980 D$= "9CQJC BNNVB YXRWCUNBB JWM DWBJWRCJAH4": GOSUB 11000: GOTO 5000
|
|
7000 GOARG = INPTK(1): IF GOARG > 6 THEN GOARG = GOARG - 6
|
|
7010 IF REXIT(LOC, GOARG) > 0 THEN LOC = REXIT(LOC, GOARG): GOTO 2500
|
|
7020 IF LOC = 12 AND GOARG = 5 THEN D$= "3BRX'UH DIUDLG RI WKH GDUN1": GOSUB 11000: GOTO 5000
|
|
7025 IF LOC = 17 AND GOARG = 1 THEN D$= "7FVB ULCLY KPK SPRL AOHA KVN2": GOSUB 11000: GOTO 5000
|
|
7030 IF LOC = 23 AND REXIT(23, 6) <= 0 THEN D$ = "8BPM LCUJEIQBMZ UMKPIVQAU QA KWZZWLML IVL EWV'B UWDM2": GOSUB 11000: GOTO 5000
|
|
7099 D$= "9HXD LJW'C PX CQJC FJH3": GOSUB 11000: GOTO 5000
|
|
7100 IF COMM < 23 OR COMM > 30 THEN GOTO 6899
|
|
7120 ARG = INPTK(2) - ITEMOFF: IF COMM <> 27 AND ARG < 1 or ARG > LASTITEM THEN D$ = "3KXK?9": GOSUB 11000: GOTO 5000
|
|
7130 IF COMM <> 23 AND COMM <> 29 AND ILOC(ARG) <> LOC AND ILOC(ARG) <> 0 THEN D$= "5NY'X STY MJWJ3": GOSUB 11000: GOTO 5000
|
|
7140 ON COMM-22 GOTO 6800, 6899, 6899, 7200, 7400, 7500, 7700, 7800
|
|
7200 IF ARG < IMMOFF THEN D$= "7FVB JHU QBZA AHRL AOHA7": GOSUB 11000: GOTO 5000
|
|
7220 AIMM = ARG - IMMOFF: MVARG = INPTK(3) - ITEMOFF: IF AIMM < 1 OR AIMM > 3 THEN D$ = "8GWC KIV'B LW BPIB9": GOSUB 11000: GOTO 5000
|
|
7230 IF ILOC(MVARG) <> 0 THEN D$ = "1ZPV EPO'U IBWF JU!1": GOSUB 11000: GOTO 5000
|
|
7240 ON AIMM GOTO 7250, 7300, 7350
|
|
7250 IF MVARG <> 4 OR ILOC(3) >= 0 THEN D$= "4CSY GER'X HS XLEX9": GOSUB 11000: GOTO 5000
|
|
7260 D$= "5DTZ OFHP ZU YMJ KWNILJ FSI KNSI F KZXJ ZSIJW NY8": GOSUB 11000: ILOC(3)=LOC: GOTO 2500
|
|
7300 IF MVARG <> 13 OR ILOC(2) >= 0 THEN D$ = "2AQW ECP'V FQ VJCV9": GOSUB 11000: GOTO 5000
|
|
7310 D$="5DTZ RTAJ YMJ HTZHM FSI KNSI F YJIIDGJFW GJMNSI NY7": GOSUB 11000: ILOC(2)=LOC: GOTO 2500
|
|
7350 IF MVARG <> 11 THEN D$ = "4CSY GER'X HS XLEX9": GOSUB 11000: GOTO 5000
|
|
7360 D$="3PRYLQJ WKH FORWKHV UHYHDOV D ODXQGUB FKXWH WR WKH EDVHPHQW3": GOSUB 11000: REXIT(LOC,6) = 27: GOTO 2500
|
|
7400 IF LOC <> 20 THEN D$ = "3KXK?9": GOSUB 11000: GOTO 5000
|
|
7450 IF INPTK(3) - ITEMOFF <> IMOFF + 4 THEN D$ = "2JWJ?9": GOSUB 11000: GOTO 5000
|
|
7460 DOORDIR = INPTK(2) - DIROFF: IF DOORDIR < 1 OR DOORDIR > 3 THEN D$ = "4LYL?9": GOSUB 11000: GOTO 5000
|
|
7470 GOSUB 8025
|
|
7480 IF DOORDIR = SAFED THEN D$= "1PQFOJOH UIF EPPS SFWFBMT B EVNCXBJUFS2": GOSUB 11000: REXIT(LOC, 4) = 23: GOTO 2500
|
|
7490 IF INT(RND(2)) > 1 THEN D$= "4E WLSX VMRKW SYX! MX AEW AIPP-EMQIH XSS.2": GOSUB 11000: GOTO 19000
|
|
7495 D$= "2CP KTQPKPI DQCTF UNCOU QPVQ AQWT JGCF0": GOSUB 11000: GOTO 19000
|
|
7500 IF LOC <> 12 THEN D$ = "6EUA IGT'Z JU ZNGZ9": GOSUB 11000: GOTO 5000
|
|
7520 IF INPTK(2) - ITEMOFF <> 6 THEN D$= "9HXD LJW'C CRN CQJC8": GOSUB 11000: GOTO 5000
|
|
7530 IF INPTK(3) - ITEMOFF <> (IMOFF + 5) THEN D$= "9HXD LJW'C CRN CX CQJC1": GOSUB 11000: GOTO 5000
|
|
7540 IF ILOC(6) <> 0 THEN D$ = "8GWC LWV'B PIDM QB!1": GOSUB 11000: GOTO 5000
|
|
7550 D$= "1UJFE4": GOSUB 11000: ILOC(6) = -12: IC = IC - 1: GOTO 2500
|
|
7600 IF ILOC(8) <> 0 THEN D$ = "3KXK?9": GOSUB 11000: GOTO 5000
|
|
7610 IF LOC = 18 THEN D$= "1UIFSF JT B GMBTI PG MJHIU BOE B DSBDLJOH TPVOE. BO PQFOJOH BQQFBST JO UIF FBTU XBMM1": GOSUB 11000: REXIT(18, 3) = 19: GOTO 2500
|
|
7620 INVERSE: D$= "7DOLL!7": GOSUB 11000: NORMAL: PRINT "": GOTO 5000
|
|
7700 IF LOC <> 20 THEN D$ = "3BRX FDQ'W GR WKDW9": GOSUB 11000: GOTO 5000
|
|
7705 IF ILOC(15) <> 0 THEN D$= "2AQW FQP'V JCXG CPA QKN4": GOSUB 11000: GOTO 5000
|
|
7720 IF INPTK(2) - ITEMOFF <> IMOFF + 6 THEN D$ = "1IVI?9": GOSUB 11000: GOTO 5000
|
|
7725 D$= "2VJG FWODYCKVGT OGEJCPKUO PQY TWPU UOQQVJNA3": GOSUB 11000: REXIT(23,6) = 24: GOTO 5000
|
|
7800 IF LOC <> 30 OR (INPTK(2) - ITEMOFF <> 3) THEN D$ = "8GWC KIV'B LW BPIB9": GOSUB 10000: GOTO 5000
|
|
7830 IF INPTK(3) - ITEMOFF <> (IMOFF + 7) THEN D$= "2AQW ECP'V RWV KV VJGTG9": GOSUB 11000: GOTO 5000
|
|
7840 IF ILOC(3) <> 0 THEN D$ = "2AQW FQP'V JCXG KV!1": GOSUB 11000: GOTO 5000
|
|
7850 D$= "5DTZ UZY YMJ KZXJ NS YMJ GTC3": GOSUB 11000: ILOC(3) = -999: IC = IC - 1: REXIT(12,5) = 25: GOTO 5000
|
|
8000 IF SAFED <> 0 THEN RETURN
|
|
8020 SAFED = INT(RND(3) * 3) + 1: RETURN
|
|
8025 IF SAFED <> 0 THEN RETURN
|
|
8030 SAFED = (INPTK(2) - DIROFF) + 1: IF SAFED > 3 THEN SAFED = 1
|
|
8049 RETURN
|
|
8050 N1$ = VOCAB$(DIROFF+1): N2$ = VOCAB$(DIROFF+3): IF SAFED = 1 THEN N1$ = VOCAB$(DIROFF+2)
|
|
8070 IF SAFED = 3 THEN N2$ = VOCAB$(DIROFF+2)
|
|
8080 D$ = "3HASHULPHQWV RQ 9": GOSUB 10000: NTMSG$ = D2$ + N1$
|
|
8085 D$ = "8 IVL 1": GOSUB 10000: NTMSG$ = NTMSG$ + D2$ + N2$
|
|
8090 D$="3 GRRUV SURFHHGLQJ ZHOO; ILOH IRU SDWHQW4": GOSUB 10000: NTMSG$=NTMSG$+D2$
|
|
8099 PRINT NTMSG$: RETURN
|
|
8200 IF LOC = 20 AND (INPTK(2) - ITEMOFF) = IMOFF + 4 THEN D$= "5UQJFXJ XUJHNKD QJKY, HJSYJW, TW WNLMY4": GOSUB 11000: GOTO 5000
|
|
8299 D$ = "5MZM?9": GOSUB 11000: GOTO 5000
|
|
9500 SCORE = 50
|
|
9510 FOR I = 16 TO 20: IF ILOC(I) = 0 THEN SCORE = SCORE + 10
|
|
9515 NEXT
|
|
9520 FOR I = 3 TO 30: FOR J = 1 TO 6: IF REXIT(I,J) = -1 THEN SCORE = SCORE -5
|
|
9525 NEXT J, I
|
|
9530 FOR I = 1 TO 15: IF ILOC(I) = -1 THEN SCORE = SCORE - 5
|
|
9535 NEXT
|
|
9540 PRINT "YOUR SCORE IS "; SCORE; " OUT OF A POSSIBLE 100": RETURN
|
|
10000 D2$ = "" : IF D$ = "" THEN GOTO 10070
|
|
10005 CS = 0: OFF = ASC(MID$(D$,1,1))-48
|
|
10010 FOR DC = 2 to LEN(D$)-1
|
|
10020 D2AS = ASC(MID$(D$,DC,1)): IF D2AS >= 65 AND D2AS <= 90 THEN D2AS=D2AS - OFF: IF D2AS < 65 THEN D2AS = D2AS+26
|
|
10030 D2$ = D2$ + CHR$(D2AS)
|
|
10040 IF D2AS >= 65 AND D2AS <= 90 THEN CS = CS + D2AS: IF CS > 9 THEN CS = CS-((INT(CS/10)) * 10)
|
|
10050 NEXT
|
|
10060 IF D$ <> "" THEN IF ASC(MID$(D$, LEN(D$), 1))-48 <> CS THEN PRINT "BAD CHECKSUM FOR "; D$; ", FOUND "; CS: GOTO 19999
|
|
10070 IF SP THEN PRINT ".";
|
|
10099 RETURN
|
|
11000 GOSUB 10000: PRINT D2$: RETURN
|
|
15000 D$ = "6ZGEY NUAYK GJBKTZAXK5": GOSUB 11000
|
|
15010 D$ = "2 HKPF VTGCUWTGU CPF XCNWCDNGU KP AQWT OCF WPENG VCAU' JQWUG3": GOSUB 11000
|
|
15020 D$ = "4XCTI WMQTPI GSQQERHW: RSVXL, WSYXL, IXG. XS QSZI (SV NYWX 'R', 'W').4": GOSUB 11000
|
|
15030 D$ = "4 XEOI ERH HVST, MRZIRXSVC, PSSO, VIEH, QSZI, ERH WS SR.5": GOSUB 11000
|
|
15040 D$ = "7ZVTL JVTTHUKZ HYL JVTWSLE: 'TVCL AOL OBIJHW DPAO AOL ZWHUULY'1": GOSUB 11000: RETURN
|
|
19000 D$= "6EUA NGBK JOKJ3": GOSUB 11000: GOTO 19999
|
|
19900 GOSUB 9500: IF SCORE = 100 THEN D$ = "2AQW JCXG YQP VJG ICOG!6": GOSUB 11000
|
|
19999 END
|