5 RANDOMIZE TIMER
10 CLEAR 400:CLS:print "*************** Atlantis ***************":print "             by The Lensman"
20 DEFINT A-Z:DEFSTR M:M0="I don't see it here.":m1="I'm not holding it.":m2=" won't let me.":m3="Don't be ridiculous.":m4="Give me a break!":m5="Don't be funny.":m6="Okay.":m7="It's not hungry.":GOTO 1730
30 GOTO 190
40 gosub 80:if NO<9 and NO<>0 and (VB=0 or VB=1 or VB=27) then vb=1
50 if VB-15 and VB-16 and VB-5 and VB-6 and LEN(N1$)>0 and NO=0 then print "I don't know what "CHR$(34)N1$CHR$(34)" is.":GOTO 40
60 if N1$="" and (VB>8 or VB=2) and VB<>15 and VB<>30 then print "Please supply direct object.":GOTO 40
70 GOTO 370
80 T=T+1:input "What should I do";CM$:CLS
90 if LEN(CM$)=0 then 80
100 VB$="":NO$="":VB=0:NO=0
110 LC=LEN(CM$):for I=1 to LC:A$=MID$(CM$,I,1):if A$<>" " THEN VB$=VB$+A$:next I
120 if LEN(VB$)+1>=LEN(CM$) THEN NO=0:GOTO 140
130 NO$=RIGHT$(CM$,LC-I)
140 N1$=NO$:V1$=VB$:VB$=LEFT$(VB$,3):NO$=LEFT$(NO$,3):for I=1 to NV:if VB$=VB$(I) then VB=I:GOTO 170 else next I:VB=0
150 if N1$="" THEN NO$=VB$
160 VB=0:GOTO 180
170 if  VB$=CM$ then O=0:NO$="":RETURN
180 for I=1 to NN:if NO$=NO$(I) THEN NO=I:RETURN else next I:NO=0:NO$="":RETURN
190 CLS:II=0:if LEFT$(P$(CP),1)="*" THEN P$=RIGHT$(P$(CP),LEN(P$(CP))-1):II=1:GOTO 240
200 if CP=29 then F1=1 else if CP=31 THEN F2=1
210 if CP=51 THEN F4=1 else if CP=6 THEN F3=1
220 P$="I'm in "+P$(CP)
230 if CP-1 and OB(31,0)<>-1 then cls:print "Help! No air!! *Croak*":GOTO 1490
240 CLS:print P$".":K=0:for I=1 to LO:if OB(I,0)<>CP then 280
250 if K=0 then print "Visible Items: ";
260 if 3+POS(0)+LEN(OB$(I))>63 then print 
270 print OB$(I)".  ";:K=K+1
280 next I:if K>0 then print 
290 if CP=31 then 40
300 K=0:print "Obvious exits are: ";:for I=0 to 3:if P(CP,I)=0 then 330
310 if K>0 then print ", ";
320 print D$(I);:K=K+1
330 next I:print ".":if ZZ<2 or CP<>5 then 360 else for I=1 to LO
340 if OB(I,0)=-1 and I<>31 THEN OB(I,0)=29
350 next I:print "The whirlpool sucked all my belongings down!!!":ZZ=1
360 GOTO 40
370 print "> ";:ON VB GOTO 390,460,30,580,620,670,720,740,750,810,820,940,950,1050,1060,1080,1490,1090,1130,1200,1220,1490,1280,1320,1360,460,390,1390,1420,1450
380 print "I never learned how  TO "CHR$(34)V1$CHR$(34)" something.":GOTO 40
390 if NO=0 then print "I need a direction.":GOTO 40
400 if NO>8 then print "Huh?":GOTO 40
410 if NO>4 THEN NO=NO-4
420 NO=NO-1:if P(CP,NO)=0 then print "There is no way  TO go in that direction.":GOTO 40
430 if CP=30 and GF=0 then print "The gate is locked.":GOTO 40
440 if CP=25 and NO=0 and GF=0 then print "There is a gate that bars my way.  It is locked.":GOTO 40
450 CP=P(CP,NO):GOTO 30
460 if CP<>OB(NO,0) THEN print M0:GOTO 40
470 if NO=10 or NO=13 or NO=14 or NO=16 or NO=18 or NO=22 or NO=36 then print m5:GOTO 40
480 if NO=27 or NO=29 then print "It is  TOO heavy.":GOTO 40
490 if NO=17 and OB(16,0)=CP THEN print "Manta"m2:GOTO 40
500 if NO=19 and OB(18,0)=Cp then print "Squid"m2:GOTO 40
510 if NO=35 and OB(36,0)=Cp then print "OCTOPUS"m2:GOTO 40
520 if OB(10,0)=Cp then print "Eel"m2:GOTO 40
530 if NO=44 and OB(42,0)=Cp then print "Minotaur"m2:GOTO 40
540 if NO=32 then print "It is beyond my power  TO do that.":GOTO 40
550 if ZZ+1>7 then print "I'm carrying  TOO much.  Clue: Drop something.":GOTO 40
560 if OB(NO,1)>0 and CP=1 THEN TS=TS-1
570 ZZ=ZZ+1:OB(NO,0)=-1:print m6:GOTO 40
580 if ZZ=0 then print "I'm not carrying anything.":GOTO 40 else print "Currently I'm carrying: ";:for I=1 to LO:if OB(I,0)<>-1 then 610
590 if 3+POS(0)+LEN(OB$(I))>63 then print 
600 print OB$(I)".  ";
610 next I:print :GOTO 40
620 CLS:input "HIT <ENTER>";XX$
630 OPEN "ATLANTIS.SAV" FOR OUTPUT AS 1:print "SAVING..."
640 for I=1 to LO:print#1,OB(I,0)
650 next I:PRINT#1,CP;CHR$(13);GF;CHR$(13);ZZ;CHR$(13);F1;CHR$(13);F2;CHR$(13);F3;CHR$(13);F4;CHR$(13);T;CHR$(13);OB(34,1);CHR$(13);OB(37,1);CHR$(13);NO$(22);CHR$(13);OB$(34);CHR$(13);OB$(37)

660 CLOSE:GOTO 30
670 CLS:input "HIT <ENTER>";XX$
680 OPEN "ATLANTIS.SAV" FOR INPUT AS 1:print "RESTORING..."
690 for I=1 to LO:INPUT#1,OB(I,0)
700 next I:INPUT#1,CP,GF,ZZ,F1,F2,F3,F4,T,OB(34,1),OB(37,1),NO$(22),OB$(34),OB$(37)
710 CLOSE:GOTO 30
720 SC=0:for I=1 to LO:if OB(I,0)=1 THEN SC=SC+OB(I,1)
730 next I:print "You have";SC;"points out of a maximum of 170. Plus, you can get a bonus up  TO 30 points when you quit, making the actual maximum 200.":GOTO 40
740 input "Do you really want  TO quit now";X$:if LEFT$(X$,1)="Y" then 1490 else 40
750 if OB(NO,0)<>-1 then print m1:GOTO 40
760 if NO<>34 then print "SORRY, I can only throw the spear.":GOTO 40
770 if OB(9,0)<>-1 or (OB(36,0)-CP and CP-OB(42,0)) THEN PRINT "The spear vanished in midair.":ZZ=ZZ-1:OB(34,0)=0:GOTO 40
780 if CP-4 then 800
790 print "The spear plunges in TO the octupus' heart  and   then  vanishes along with the octopus!!!!":OB(36,0)=0:OB(34,0)=51:ZZ=ZZ-1:GOTO 40
800 print "The spear hits the minotaur,  and  he vanishes!!!":OB(42,0)=0:print "The spear  then  turns  TOPlatinum!!!":OB$(34)=">>>a platinum spear<<<":OB(34,1)=11:OB(34,0)=CP:ZZ=ZZ-1:GOTO 40
810 print "You'll have  TO be more specific.":GOTO 40
820 if OB(NO,0)<>-1 and OB(NO,0)<>CP THEN print M0:GOTO 40
830 if NO-43 and NO-11 and NO-12 and NO-17 and NO-21 and NO-28 and NO-32 and NO-38 then print "There is no writing there."
840 print "It says:"
850 if NO=11 then print "What is thought  TO be, isn't what you see! NOR i"
860 if NO=12 then print "Captain Ahab was here."
870 if NO=17 then print R1$:print R2$:print "Scrape iron. NORi"
880 if NO=21 then print "Lee said pow  and  died."
890 if NO=28 then print "Use crust  toothpaste for  sharper teeth. (SNAP!) Squids hate loud noises (W O P T O N)"
900 if NO=32 then print "Bring >>>treasures<<< here & drop them. Say score"
910 if NO=43 then print "BEWARE THE FIERCE MINOTAUR! MINOS WAS AN EVIL KING!!"
920 if NO=38 then print "PUT SHOT IN GUN."
930 GOTO 40
940 print "USE COMPASS POINTS, PLEASE.":GOTO 40
950 if NO-40 and NO-35 and NO-14 then print "I DON'T KNOW HOW  TO OPEN SUCH A THING.":GOTO 40
960 if NO=40 then print "TRY UNLOCK GATE.":GOTO 40
970 if NO<>35 then 1020
980 if OB(26,0)<>-1 then print "YOU DON'T HAVE THE NECESSARY RESOURCES.":GOTO 40
990 if OB(36,0)=Cp then print "OCTOPUS"m2:GOTO 40
1000 if OB(38,0)<>0 then print "OK. IT'S EMPTY.":GOTO 40
1010 print "OK. TWO THINGS FALL OUT! (TRY 'LOOK')":OB(38,0)=CP:OB(39,0)=CP:GOTO 40
1020 if OB(33,0)<>-1 then print "YOU DON'T HAVE THE RIGHT  TOOLS!":GOTO 40
1030 if OB(37,0)<>0 then print "THE CLAM OPENS  and  SHUTS. IT'S EMPTY.":GOTO 40
1040 print "THE CLAM FLIES OPEN  and  SOMETHING FALLS OUT, BUT IT SNAPS SHUT AGAIN!!! TRY 'LOOK'.":OB(37,0)=CP:GOTO 40
1050 print "I'M NOT THE DESTRUCTIVE TYPE MYSELF...":GOTO 40
1060 if OB(18,0)<>Cp then print "NOTHING HAPPENED.":GOTO 40
1070 print "THE SQUID WAS SO STARTLED HE RAN AWAY!!!":OB(18,0)=0:GOTO 40
1080 print "OKAY...";N1$:GOTO 40
1090 if NO<>29 then print "I KNOW NOT HOW  TO LOAD SUCH A THING. SAY RESTORE TO START UP A SAVED GAME.":GOTO 40
1100 if CP<>12 then print M0:GOTO 40
1110 if OB(20,0)<>-1 then print "I HAVE NOTHING  TO LOAD IT WITH!!":GOTO 40
1120 print "OK.":OB(20,0)=-2:ZZ=ZZ-1:GOTO 40
1130 if NO-10 and NO-14 and NO-16 and NO-18 and NO-22 and NO-23 and NO-36 then print m3:GOTO 40
1140 if NO-22 and NO-16 then print m7:GOTO 40
1150 if NO=16 then 1180
1160 if OB(30,0)<>-1 then print "I HAVE NO FOOD!!!":GOTO 40
1170 if OB(22,0)=C then print "THE PARANAHS GULP DOWN THE CUP  and ...MUCH  TO THEIR SURPRISE... THEIR TEETH FALL OUT!!! THEY ARE NOW RENDERED HELPLESS. TRY 'LOOK'.":OB(22,0)=0:OB(23,0)=CP:NO$(22)="'":OB(30,0)=0:ZZ=ZZ-1:OB(24,0)=CP:GOTO 40
1175 print "I DON'T SEE THEM.":GOTO 40
1180 if OB(23,0)<>-1 then print "HE LIKES THE IDEA... and  EATS ME UP!!! I'M DEAD.":for I=1 to 1500:next I:GOTO 1490
1190 print "THE MANTA SWALLOWS UP THE PARANHAS  and  SWIMS AWAY.":ZZ=ZZ-1:OB(16,0)=0:OB(23,0)=0:GOTO 40
1200 if OB(25,0)<>-1 then print "I HAVE NO SCISSORS.":GOTO 40
1210 print "THE SCISSORS ARE  TOO DULL  TO CUT ANYTHING.":GOTO 40
1220 if NO-40 and NO-35 then print "HOW?":GOTO 40
1230 if NO=35 then print "TRY OPEN.":GOTO 40
1240 if CP-25 and CP-30 then print M0:GOTO 40
1250 if GF=1 then print "IT IS ALready OPEN!!!":GOTO 40
1260 if OB(26,0)<>-1 then print "YOU DON'T HAVE THE KEY.":GOTO 40
1270 print m6:GF=1:GOTO 40
1280 if NO<>27 then print "HOW?":GOTO 40
1290 if CP<>9 and CP<>31 then print M0:GOTO 40
1300 if CP=9 THEN CP=31 else CP=9
1310 GOTO 30
1320 if NO<>29 then print "HOW?":GOTO 40
1330 if CP<>12 then print M0:GOTO 40
1340 if OB(20,0)<>-2 then print "IT'S NOT LOADED.":GOTO 40
1350 print m6"..POW!!!!":OB(20,0)=29:OB(10,0)=0:GOTO 40
1360 if NO<>30 then print m3:GOTO 40
1370 if OB(30,0)<>-1 then print m1:GOTO 40
1380 print "SMAK! GOOD!":ZZ=ZZ-1:OB(30,0)=0:GOTO 40
1390 if OB(NO,0)<>-1 then print m1:GOTO 40
1400 ZZ=ZZ-1:print m6:OB(NO,0)=CP:if CP=1 and OB(NO,1)>0 THEN TS=TS+1
1410 GOTO 40
1420 if OB(NO,0)<>-1 and OB(NO,0)<>Cp then print M0:GOTO 40
1430 if NO<>37 then print m6" NOTHING HAPPENED.":GOTO 40
1440 print "WAIT A MINUTE...THIS STATUETTE ISN'T IRON...IT'S GOLD!!":OB$(37)=">>>A GOLD STATUETTE<<<":OB(37,1)=16:GOTO 40
1450 if CP<>31 then print "GEE! FUN!":GOTO 40
1460 X=INT(RND(1)*4)+1:if X=2 then 1480
1470 CP=9:GOTO 30
1480 print "WHOOOOOOOA...THUD. I'M DEAD.":for I=1 to 1000:next I
1490 gosub 1680:for I=1 to LO:if ABS(OB(I,0))=1 THEN FS=FS+OB(I,1)
1500 next I:if T<500 THEN FS=FS+5
1510 if T<400 THEN FS=FS+5
1520 if T<310 THEN FS=FS+10
1530 print "YOU SCORED"FS"POINTS OUT OF 200.":if FS=0 then print "YOU ARE A PEE WEE CLASS ADVENTURER (THE LOWEST RANK)":GOTO 1620
1540 if FS<30 then print "ARE YOU VEGETABLE  or  MINERAL? RANK 8":GOTO 1620
1550 if FS<50 then print "NOT  TOO GOOD, PAL! RANK 7":GOTO 1620
1560 if FS<90 then print "YOU HAVE HAD A TASTE OF ADVENTURE. RANK 6":GOTO 1620
1570 if FS<110 then print "YOU ARE A MASTER ADVENTURER CLASS C (RANK 5)":GOTO 1620
1580 if FS<150 then print "YOU ARE A MASTER ADVENTURER CLASS B (RANK 4)":GOTO 1620
1590 if FS<170 then print "YOU ARE A MASTER ADVENTURER CLASS A (RANK 3)":GOTO 1620
1600 if FS<190 then print "WOWEE! YOU ARE GREAT! YOU'LL SOON BE AN ADVENTURER GRAND MASTER! ONE RANK AWAY... RANK 2":GOTO 1620
1610 if FS<201 then print "TUM TUM-TUM TUM...TUM TE TUM TE DUM DE TUM... A REAL ADVENTURER GRANDMASTER...BOY OH BOY! CAN I SHAKE YOUR HAND??? YOU SHOULD";:print R1$:print R2$
1620 print :print :print "PLAY AGAIN (Y/N)"
1630 A$=INKEY$:if A$="Y" or A$="N" then 1650
1640 GOTO 1630
1650 if A$="Y"  then  RUN
1660 END
1670 CLS:END
1680 if F1 then FS=FS+2
1690 if F2 then FS=FS+2
1700 if F2 then FS=FS+2
1710 if F3 then FS=FS+4
1720 RETURN
1730 CP=1:NP=51:LO=44:NN=44:NV=30:dim P$(NP),P(NP,3),OB(LO,1),OB$(LO),NO$(NN),VB$(NV):for I=1 to 31:for J=0 to 3:read P(I,J):next J,I
1740 P$(1)="MY SUBMARINE DOCKED IN THE CITY OF ATLANTIS":P$(2)="A CORRIDOR  FILLED WITH WATER":P$(3)="AN ALCOVE":P$(4)="A CORAL REEF":data 0,0,2,0,8,0,3,1,9,0,4,2,10,0,5,3
1750 P$(5)="A WHIRLPOOL":P$(6)="THE HALL OF SPIRITS (more COMMONLY CALED A GRAVEYARD)":P$(7)="*DEAD END":P$(8)="A DINING ROOM":data 		11,0,0,4,13,0,7,0,0,8,0,0,7,2,9,0
1760 P$(9)="*I'M ON THE STREET":P$(10)="*I'M AT THE END OF THE STREET":P$(11)="A DARK CAVE":P$(12)="THE FORTRESS OF ATLANTIS":data 15,3,10,8,0,4,11,9,0,5,12,10,0,0,0,11
1770 P$(13)="CAPTAIN AHAB'S QUARTERS":P$(14)="A BARREN CHAMBER":P$(15)="A BARBER SHOP":P$(16)="AN OLYMPIC FIELD":data 16,6,0,0,17,0,15,0,0,9,0,14,22,13,17,0
1780 P$(17)="A SUPPLY ROOM":P$(18)="THE SQUID'S CHAMBER":P$(19)="THE DRAWING ROOM":P$(20)="THE ROYAL COLLISEUM":data 23,14,18,16,24,0,19,17,25,0,20,18,0,0,21,19
1790 P$(21)="A TEMPLE":P$(22)="HALLWAY":P$(23)="OLD LIBRARY":P$(24)="THE CLAM ROOM. THE WALLS ARE MADE OF CLAMSHEL":data 26,0,0,20,27,16,0,0,0,17,24,0,29,18,0,23
1800 P$(25)="A RAIL STATION (SO >THIS< IS HOW THEY GOT AROUND!)":P$(26)=P$(24):P$(24)="THE  to WN HALL":P$(27)="THE KITCHEN.":P$(28)="THE DINING HALL":data 30,19,0,0,0,21,0,0,0,22,28,0,0,0,0,27
1810 P$(29)="THE ELECTRIC EEL'S ROOM":P$(30)="THE JAIL. THERE IS A GATE  TO THE SOUTH":P$(31)="AT THE  TOP OF A POST. LOOKING DOWN I SEE ONLY THE STREET. THE WATER IS  TOO MISTY  TO SEE FAR AWAY"
1815 data 0,0,30,0,0,25,0,0,0,0,0,0
1820 data N,S,E,W,NOR,SOU,EAS,WES,THR,EEL,BOO,PAP,TRA,CLA,MED,MAN,PLA,SQU,COI,SHO,JOU,PAR,PAR,TEE,SCI,KEY,POS,NEW,CAN,CUP,TAN,SIG,PIC,SPE,CHE,OCT,STA,NOT,PEA,GAT,GO
1825 DATA GET,LOO,INV,SAV,RES,SCO,QUI,THR,KIL,REA,ENT,OPE,HIT,YEL,SAY,[,LOA,FEE,CUT,UNL,$<26>F,CLI,FIR,EAT
1830 for I=1 to 40:read NO$(I):next I:for I=1 to NV:read VB$(I):next I:data TAK,SWI,DRO,SCR,JUM
1840 data A SPEAR THROWER,AN ELECTRIC EEL,A SMALL BOOK,A PAPER WITH WRITING ON IT,A,A GIANT CLAM,>>>A JADE MEDALIAN<<<,A BLACK MANTA,>>>A PLATINUM PLACQUE<<<,A GIANT SQUID,>>>MANY COINS<<<,AN IRON SHOTPUT,CAPTAIN AHAB'S JOURNAL
1850 data SOME FIERCE PARANHAS,SOME HELPLESS PARANAS,>>>SOME VALUABLE PARANAH TEETH<<<,>>>A PAIR OF GOLD SCISSORS<<<,>>>A SILVER KEY<<<
1855 DATA A TALL POST,AN OLD NEWSPAPER,AN OLD CANNON,A PEANUT BUTTER CUP,AN AIR TANK,A SIGN,>>>A PLATINUM PICK<<<,A STEEL SPEAR
1860 data A TREASURE CHEST,A FIERCE OCTOPUS,AN IRON STATUETTE,A NOTE,>>>A GLISTENING PEARL<<<
1865 DATA 27,0,29,0,23,0,24,0,0,0,26,0,20,10,19,0,19,15,18,0,18,20,16,0,13,0,14,0,0,0,0,15,15,5,8,5,9,0,11,0,12,0,1,0,1,0,1,0,3,7,3,0,4,0,4,0,0,0,0,0,0,12
1870 for I=9 to 39:read OB$(I):next I:for I=9 to 39:read OB(I,0),OB(I,1):next I
1880 D$(0)="NORTH":D$(1)="SOUTH":D$(2)="EAST":D$(3)="WEST"
1900 P$(32)="THE PILLARS OF HERCULES":P(26,0)=32:data 0,26,0,33
1910 P$(33)="PROMETHEUS' CHAMBER IN OLYMPIA":P$(34)="A STRANGE ROOM WITH WALLS THAT SEEM  TO COME ALIVE AS I MOVE ABOUT"	:P$(35)="*I'M ON THE EDGE OF A CLIFF. THE WATER BELOW ME IS  TOO MISTY TO SEE FAR DOWN. THERE MIGHT BE LIFE DOWN THERE..."
1920 P$(36)="A DEEP, DARK, CORRIDOR. I CAN SEE NO CEILING FROM HERE, ONLY MURKY WATER. THE WATER SEEMS  TO BE MOVING EAST OF ME...":data 0,34,32,0,33,36,37,35,0,0,34,0,34,0,5,0
1930 P$(37)="THE HALL OF MIRRORS. ALL DIRECTIONS LOOK THE SAME.":P$(38)=P$(37):P$(39)=P$(37):P$(40)="AN AWKWARD CORRIDOR":data 37,38,39,34,37,38,38,38,40,39,39,37,42,39,0,0
1940 for I=41 to 50:P$(I)="A LABYRINTH OF PASSAGES OBVIOUSLY DESIGNED BY KING MINOS. IT IS RUMOURED THAT THE MINITAUR IS NEAR...":next I
1945 data 43,41,42,41,44,40,42,41,47,41,43,43,48,42,45,44,49,45,45,44,50,51,0,0,47,43,48,47,48,44,48,47,0,45,50,0,0,46,0,49
1950 	P$(51)="*DEAD END":data 46,0,0,0
1960 for I=32 to NP:for J=0 to 3:read P(I,J):next J,I
1970 for I=41 to NN:read NO$(I),OB$(I),OB(I,0),OB(I,1):next I
1980 data APP,>>>A GOLDEN APPLE<<<,33,10,MIN,A FIERCE MINOTAUR,51,0,SCR,AN ANCIENT SCROLL,40,0,FLE,>>>A GOLDEN FLEECE<<<,51,44
1990 R1$="Isn't this BBS great? The writer of this book though so. --Lensman"
2000 R2$="Leave a message on the Eiyromancia  to obtain a resonably priced TRS-80 BBS!"
2010 GOTO 30
