• Please review our updated Terms and Rules here

TI99 Text Adventure Help

mutantcamel

Experienced Member
Joined
Dec 14, 2007
Messages
76
I'm trying to write a TI99 Text Adventure which I will hopefully be able to modify to play on other TI Machines. I tried looking on the net for examples of but couldn't find anything helpful.

It doesn't have to be TI-Basic just another form of Basic which could be easily modified....

Any links to any program listings would be appreciated!
 
This is one from an apple II that I found on the net.

Code:
100 DIM INW$(10):DIM INPTOK%(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: LWORD% = 60: NXDESC% = 7
705 TEXT : HOME : PRINT "LOADING..."; : SP = 1
710 FOR I% = 1 TO LWORD%: 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 LWORD%: IF INW$(TIDX%) = VOCAB$(CMDIDX%) THEN INPTOK%(CURTOK%) = CMDIDX%: CURTOK% = CURTOK% + 1
5160 NEXT CMDIDX%
5170 NEXT TIDX%
5180 NTOK% = CURTOK% - 1
6000 COMM% = INPTOK%(1): ON NTOK%+1 GOTO 5000, 6050, 6400, 7100
6049 D$ = "8GWC KIV'B LW BPIB9": GOSUB 11000: GOTO 5000
6050 IF INPTOK%(1) >= 1 AND INPTOK%(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% = INPTOK%(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$(INPTOK%(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$(INPTOK%(2)); ": DROPPED": GOTO 5000
6700 ARG% = INPTOK%(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$(INPTOK%(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% = INPTOK%(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% = INPTOK%(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% = INPTOK%(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 INPTOK%(3) - ITEMOFF% <> IMOFF% + 4 THEN D$ = "2JWJ?9": GOSUB 11000: GOTO 5000
7460 DOORDIR% = INPTOK%(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 INPTOK%(2) - ITEMOFF% <> 6 THEN D$= "9HXD LJW'C CRN CQJC8": GOSUB 11000: GOTO 5000
7530 IF INPTOK%(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 INPTOK%(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 (INPTOK%(2) - ITEMOFF% <> 3) THEN D$ = "8GWC KIV'B LW BPIB9": GOSUB 10000: GOTO 5000
7830 IF INPTOK%(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% = (INPTOK%(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 (INPTOK%(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$ = "": CS% = 0: OFF% = ASC(MID$(D$,1,1))-48
10010 FOR DC% = 2 to LEN(D$)-1
10020 D2ASC% = ASC(MID$(D$,DC%,1)): IF D2ASC% >= 65 AND D2ASC% <= 90 THEN D2ASC%=D2ASC% - OFF%: IF D2ASC% < 65 THEN D2ASC% = D2ASC%+26
10030 D2$ = D2$ + CHR$(D2ASC%)
10040 IF D2ASC% >= 65 AND D2ASC% <= 90 THEN CS% = CS% + D2ASC%: 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
 
I believe there are several text adventures on the WHTech FTP site and/or also on the Planet99.net site.

You also have the possibility of using the Adventure Editor software to write your own adventures for the Scott Adams Adventure module.

There are hundreds of text adventures available for the TI99, many of them are also in BASIC or Extended BASIC and so may be useful to you.
 
I remember a program called EAMON which was for the Apple II, it was public domain and had a pretty big user base which also had various adventures to be used with it. I did manage to convert it a long long time ago to TI Extended BASIC but unfortunately I don't have those converted listings anymore. You could try to modify it from Applesoft to TI-99/4A Extended BASIC, it's not too terribly hard and I would imagine you could probably google EAMON to obtain the source listings for the different modules.
 
Use Assembly...

Use Assembly...

... and you'll get more rooms and bad guys per byte. Text adventures are very easy to code in assembly.

Of course, there is the Text Adventure Editor; designed to make things even easier.

Good luck!

-John
 
Back
Top